diff --git a/features/draft/speech-recognition.yml b/features/draft/speech-recognition.yml deleted file mode 100644 index 82134e20443..00000000000 --- a/features/draft/speech-recognition.yml +++ /dev/null @@ -1,8 +0,0 @@ -# Speech recognition is prefixed in all implementations and would appear as -# unsupported, so don't publish it. Revisit if it's unprefixed. -draft_date: 2024-04-30 -name: Speech recognition -description: The `SpeechRecognition` API converts human speech from a microphone to text. -spec: https://wicg.github.io/speech-api/#speechreco-section -group: speech -caniuse: speech-recognition diff --git a/features/draft/speech-recognition.yml.dist b/features/draft/speech-recognition.yml.dist deleted file mode 100644 index de2a52c72fd..00000000000 --- a/features/draft/speech-recognition.yml.dist +++ /dev/null @@ -1,6 +0,0 @@ -# Generated from: speech-recognition.yml -# Do not edit this file by hand. Edit the source file instead! - -status: - baseline: false - support: {} diff --git a/features/draft/spec/speech-api.yml b/features/speech-recognition.yml similarity index 50% rename from features/draft/spec/speech-api.yml rename to features/speech-recognition.yml index d5e53f52ce2..070d6cf64d2 100644 --- a/features/draft/spec/speech-api.yml +++ b/features/speech-recognition.yml @@ -1,7 +1,8 @@ -draft_date: 2024-09-09 -name: Web Speech API -description: TODO +name: Speech recognition +description: The `SpeechRecognition` API converts audio into text using the device's speech recognition service. spec: https://wicg.github.io/speech-api/ +group: speech +caniuse: speech-recognition compat_features: - api.SpeechGrammar - api.SpeechGrammar.src @@ -51,48 +52,3 @@ compat_features: - api.SpeechRecognitionResultList - api.SpeechRecognitionResultList.item - api.SpeechRecognitionResultList.length - - api.SpeechSynthesis.voiceschanged_event - - api.SpeechSynthesisErrorEvent - - api.SpeechSynthesisErrorEvent.SpeechSynthesisErrorEvent - - api.SpeechSynthesisErrorEvent.error - - api.SpeechSynthesisEvent.SpeechSynthesisEvent - - api.SpeechSynthesisEvent.charLength - - api.SpeechSynthesisUtterance.boundary_event - -# The following features in the spec are already part of web-features: -# - Speech synthesis: -# - api.SpeechSynthesis -# - api.SpeechSynthesis.cancel -# - api.SpeechSynthesis.getVoices -# - api.SpeechSynthesis.pause -# - api.SpeechSynthesis.paused -# - api.SpeechSynthesis.pending -# - api.SpeechSynthesis.resume -# - api.SpeechSynthesis.speak -# - api.SpeechSynthesis.speaking -# - api.SpeechSynthesisEvent -# - api.SpeechSynthesisEvent.charIndex -# - api.SpeechSynthesisEvent.elapsedTime -# - api.SpeechSynthesisEvent.name -# - api.SpeechSynthesisEvent.utterance -# - api.SpeechSynthesisUtterance -# - api.SpeechSynthesisUtterance.SpeechSynthesisUtterance -# - api.SpeechSynthesisUtterance.end_event -# - api.SpeechSynthesisUtterance.error_event -# - api.SpeechSynthesisUtterance.lang -# - api.SpeechSynthesisUtterance.mark_event -# - api.SpeechSynthesisUtterance.pause_event -# - api.SpeechSynthesisUtterance.pitch -# - api.SpeechSynthesisUtterance.rate -# - api.SpeechSynthesisUtterance.resume_event -# - api.SpeechSynthesisUtterance.start_event -# - api.SpeechSynthesisUtterance.text -# - api.SpeechSynthesisUtterance.voice -# - api.SpeechSynthesisUtterance.volume -# - api.SpeechSynthesisVoice -# - api.SpeechSynthesisVoice.default -# - api.SpeechSynthesisVoice.lang -# - api.SpeechSynthesisVoice.localService -# - api.SpeechSynthesisVoice.name -# - api.SpeechSynthesisVoice.voiceURI -# - api.Window.speechSynthesis diff --git a/features/draft/spec/speech-api.yml.dist b/features/speech-recognition.yml.dist similarity index 58% rename from features/draft/spec/speech-api.yml.dist rename to features/speech-recognition.yml.dist index 7985bc164b8..ebb9796792d 100644 --- a/features/draft/spec/speech-api.yml.dist +++ b/features/speech-recognition.yml.dist @@ -1,81 +1,10 @@ -# Generated from: speech-api.yml +# Generated from: speech-recognition.yml # Do not edit this file by hand. Edit the source file instead! status: baseline: false support: {} compat_features: - # baseline: high - # baseline_low_date: ≤2018-10-02 - # baseline_high_date: ≤2021-04-02 - # support: - # chrome: "33" - # chrome_android: "33" - # edge: ≤18 - # firefox: "49" - # firefox_android: "62" - # safari: "7" - # safari_ios: "7" - - api.SpeechSynthesisErrorEvent - - api.SpeechSynthesisErrorEvent.error - - # baseline: low - # baseline_low_date: 2022-09-12 - # support: - # chrome: "33" - # chrome_android: "33" - # edge: "14" - # firefox: "49" - # firefox_android: "62" - # safari: "16" - # safari_ios: "16" - - api.SpeechSynthesis.voiceschanged_event - - # baseline: low - # baseline_low_date: 2022-09-12 - # support: - # chrome: "71" - # chrome_android: "71" - # edge: "14" - # firefox: "49" - # firefox_android: "62" - # safari: "16" - # safari_ios: "16" - - api.SpeechSynthesisEvent.SpeechSynthesisEvent - - # baseline: low - # baseline_low_date: 2022-09-12 - # support: - # chrome: "71" - # chrome_android: "71" - # edge: "79" - # firefox: "49" - # firefox_android: "62" - # safari: "16" - # safari_ios: "16" - - api.SpeechSynthesisErrorEvent.SpeechSynthesisErrorEvent - - # baseline: low - # baseline_low_date: 2022-09-12 - # support: - # chrome: "77" - # chrome_android: "77" - # edge: "15" - # firefox: "53" - # firefox_android: "62" - # safari: "16" - # safari_ios: "16" - - api.SpeechSynthesisEvent.charLength - - # baseline: false - # support: - # edge: "14" - # firefox: "49" - # firefox_android: "62" - # safari: "7" - # safari_ios: "7" - - api.SpeechSynthesisUtterance.boundary_event - # baseline: false # support: # chrome: "33" diff --git a/features/speech-synthesis.yml b/features/speech-synthesis.yml index 587443b95cc..529ece17c6d 100644 --- a/features/speech-synthesis.yml +++ b/features/speech-synthesis.yml @@ -1,5 +1,50 @@ name: Speech synthesis -description: The `SpeechSynthesis` API converts text into audio using a synthetic voice. +description: The `SpeechSynthesis` API converts text to speech with artificial voices. spec: https://wicg.github.io/speech-api/#tts-section group: speech caniuse: speech-synthesis +status: + compute_from: api.SpeechSynthesis +compat_features: + - api.SpeechSynthesis + - api.SpeechSynthesis.cancel + - api.SpeechSynthesis.getVoices + - api.SpeechSynthesis.pause + - api.SpeechSynthesis.paused + - api.SpeechSynthesis.pending + - api.SpeechSynthesis.resume + - api.SpeechSynthesis.speak + - api.SpeechSynthesis.speaking + - api.SpeechSynthesisEvent + - api.SpeechSynthesisEvent.charIndex + - api.SpeechSynthesisEvent.elapsedTime + - api.SpeechSynthesisEvent.name + - api.SpeechSynthesisEvent.utterance + - api.SpeechSynthesisUtterance + - api.SpeechSynthesisUtterance.SpeechSynthesisUtterance + - api.SpeechSynthesisUtterance.end_event + - api.SpeechSynthesisUtterance.error_event + - api.SpeechSynthesisUtterance.lang + - api.SpeechSynthesisUtterance.mark_event + - api.SpeechSynthesisUtterance.pause_event + - api.SpeechSynthesisUtterance.pitch + - api.SpeechSynthesisUtterance.rate + - api.SpeechSynthesisUtterance.resume_event + - api.SpeechSynthesisUtterance.start_event + - api.SpeechSynthesisUtterance.text + - api.SpeechSynthesisUtterance.voice + - api.SpeechSynthesisUtterance.volume + - api.SpeechSynthesisVoice + - api.SpeechSynthesisVoice.default + - api.SpeechSynthesisVoice.lang + - api.SpeechSynthesisVoice.localService + - api.SpeechSynthesisVoice.name + - api.SpeechSynthesisVoice.voiceURI + - api.SpeechSynthesis.voiceschanged_event + - api.SpeechSynthesisErrorEvent + - api.SpeechSynthesisErrorEvent.SpeechSynthesisErrorEvent + - api.SpeechSynthesisErrorEvent.error + - api.SpeechSynthesisEvent.SpeechSynthesisEvent + - api.SpeechSynthesisEvent.charLength + - api.SpeechSynthesisUtterance.boundary_event + - api.Window.speechSynthesis diff --git a/features/speech-synthesis.yml.dist b/features/speech-synthesis.yml.dist index 5b3b804dfe4..ec067bb7fa0 100644 --- a/features/speech-synthesis.yml.dist +++ b/features/speech-synthesis.yml.dist @@ -14,6 +14,18 @@ status: safari: "7" safari_ios: "7" compat_features: + # ⬇️ Same status as overall feature ⬇️ + # baseline: high + # baseline_low_date: 2018-09-05 + # baseline_high_date: 2021-03-05 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: "14" + # firefox: "49" + # firefox_android: "62" + # safari: "7" + # safari_ios: "7" - api.SpeechSynthesis - api.SpeechSynthesis.cancel - api.SpeechSynthesis.getVoices @@ -49,3 +61,74 @@ compat_features: - api.SpeechSynthesisVoice.name - api.SpeechSynthesisVoice.voiceURI - api.Window.speechSynthesis + + # baseline: high + # baseline_low_date: ≤2018-10-02 + # baseline_high_date: ≤2021-04-02 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: ≤18 + # firefox: "49" + # firefox_android: "62" + # safari: "7" + # safari_ios: "7" + - api.SpeechSynthesisErrorEvent + - api.SpeechSynthesisErrorEvent.error + + # baseline: low + # baseline_low_date: 2022-09-12 + # support: + # chrome: "33" + # chrome_android: "33" + # edge: "14" + # firefox: "49" + # firefox_android: "62" + # safari: "16" + # safari_ios: "16" + - api.SpeechSynthesis.voiceschanged_event + + # baseline: low + # baseline_low_date: 2022-09-12 + # support: + # chrome: "71" + # chrome_android: "71" + # edge: "14" + # firefox: "49" + # firefox_android: "62" + # safari: "16" + # safari_ios: "16" + - api.SpeechSynthesisEvent.SpeechSynthesisEvent + + # baseline: low + # baseline_low_date: 2022-09-12 + # support: + # chrome: "71" + # chrome_android: "71" + # edge: "79" + # firefox: "49" + # firefox_android: "62" + # safari: "16" + # safari_ios: "16" + - api.SpeechSynthesisErrorEvent.SpeechSynthesisErrorEvent + + # baseline: low + # baseline_low_date: 2022-09-12 + # support: + # chrome: "77" + # chrome_android: "77" + # edge: "15" + # firefox: "53" + # firefox_android: "62" + # safari: "16" + # safari_ios: "16" + - api.SpeechSynthesisEvent.charLength + + # baseline: false + # support: + # edge: "14" + # firefox: "49" + # firefox_android: "62" + # safari: "7" + # safari_ios: "7" + - api.SpeechSynthesisUtterance.boundary_event