Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Talking Web Apps by @odelaguila
Search
gdljs
February 24, 2016
Technology
41
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Talking Web Apps by @odelaguila
Slides de la décima sesión de GDLJS del 23 de Febrero
Talking web apps
gdljs
February 24, 2016
More Decks by gdljs
See All by gdljs
Construyendo la mejor experiencia de pagos en línea by @IvanChukitow
gdljs
0
79
Testabilidad en Javascript by @codingpains
gdljs
0
46
Desarrollo de aplicaciones con react native by @charliesbox
gdljs
0
140
¿Debería usar la librería de moda en mi proyecto? by @siedrix
gdljs
0
180
Agile Gamification by @chukitow
gdljs
0
62
Por qué hicimos nuestro propio NodeJS framework by @sgarza
gdljs
0
40
¿Cómo empezar a programar? by @amicavi
gdljs
0
100
Concurrencia y Paralelismo en Javascript by @eatcodetravel
gdljs
0
600
Caldo de Kafka para Node by @albertain
gdljs
0
80
Other Decks in Technology
See All in Technology
SREは、MCPとAutopilotをこう使え!
kazumax55
2
810
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
150
AI de Idea
kawaguti
PRO
2
110
CLIライブラリ開発を支える技術
htnabe
0
110
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
4.1k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
810
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
22
13k
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
110
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
240
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
190
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
370
Featured
See All Featured
BBQ
matthewcrist
89
10k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.8k
Marketing to machines
jonoalderson
1
5.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
The SEO Collaboration Effect
kristinabergwall1
1
560
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Ethics towards AI in product and experience design
skipperchong
2
370
The Language of Interfaces
destraynor
162
27k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Transcript
Talking web apps
Orlando Del Aguila
None
@eatcodetravel eatcodetravel.com hashlabs.com
Talking web apps
Speech Synthesis API Web Speech API
Speech Synthesis API Web Speech API
Support Speech Synthesis
API Speech Synthesis Volume Rate Pitch Language Voice
API Speech Synthesis 1 var msg, voices; 2 msg =
new SpeechSynthesisUtterance(); 3 voices = window.speechSynthesis.getVoices(); 4 5 // some voices don't support altering params 6 msg.voice = voices[10]; 7 msg.voiceURI = 'native'; 8 msg.volume = 1; // 0 to 1 9 msg.rate = 1; // 0.1 to 10 10 msg.pitch = 2; //0 to 2 11 msg.text = 'Hello World'; 12 msg.lang = 'en-US';
API Speech Synthesis 1 var msg, voices; 2 msg =
new SpeechSynthesisUtterance(); 3 voices = window.speechSynthesis.getVoices(); 4 5 6 7 8 9 10 11 12 13
API Speech Synthesis 4 5 // some voices don't support
altering params 6 msg.voice = voices[10]; 7 msg.voiceURI = 'native'; 8 msg.volume = 1; // 0 to 1 9 msg.rate = 1; // 0.1 to 10 10 msg.pitch = 1; //0 to 2 11 msg.text = 'Hello World'; 12 msg.lang = ‘en-US'; 13 speechSynthesis.speak(msg); 1 2 3
API Speech Synthesis 1 // speechSynthesis has a queue, 2
// and you don't need to worry about it. 3 speechSynthesis.speak(msg); 4 speechSynthesis.cancel(); 5 speechSynthesis.pause(); 6 speechSynthesis.resume();
API Speech Synthesis 1 // SpeechSynthesisUtterance has events 2 var
msg = new SpeechSynthesisUtterance(); 3 4 msg.onstart = function onstart() {}; 5 msg.onend = function onend() {}; 6 msg.onerror = function onerror() {}; 7 msg.onpause = function onpause() {}; 8 msg.onboundary = function onboundary() {};
Speech Synthesis API DEMO
Speech Synthesis API Web Speech API
Support Web Speech API
API Language Continuous InterimResults Web Speech API
API onstart onend onresults onerror Web Speech API
API Web Speech API 1 // notice the webkit prefix
2 var recognition; 3 recognition = new webkitSpeechRecognition(); 4 recognition.lang = 'es-VE'; 5 recognition.continuous = true; 6 recognition.interimResults = false; 7 8 // Events 9 recognition.onstart = function () {}; 10 recognition.onend = function () {}; 11 recognition.onresult = function () {}; 12 recognition.onerror = function () {}; 13 recognition.start();
API Web Speech API 1 2 3 4 5 6
7 8 9 10 11 12 13 11 recognition.onresult = function () {};
API Web Speech API 1 recognition.onresult = function (event) {
2 var length, transcript, msg; 3 length = event.results.length - 1; 4 transcript = event.results[length][0].transcript; 5 transcript = transcript.trim(); 6 7 console.log(transcript); 8 9 msg = new SpeechSynthesisUtterance(message); 10 msg.text = message; 11 window.speechSynthesis.speak(msg); 12 }
Web Speech API DEMO
Resources
Web apps that talk Voice driven apps MDN Web Speech
API Web Speech API Spec
QA
Thanks