SpeechSynthesis.getVoices() returns empty array instead of SpeechSynthesisVoice objects
Categories
(Core :: Web Speech, defect, P3)
Tracking
()
People
(Reporter: arpit.avj.jaiswal, Assigned: gerard-majax)
References
Details
Attachments
(1 file)
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Firefox/78.0
Steps to reproduce:
- Visit Web Speech API demo site for speech synthesis - https://mdn.github.io/web-speech-api/speak-easy-synthesis/
Actual results:
No voices are listed in the select drop-down
Expected results:
SpeechSynthesisVoice objects should have returned by speechSynthesis.getVoices() method and populated the drop-down.
Updated•4 years ago
|
Reporter | ||
Updated•4 years ago
|
Comment 1•4 years ago
|
||
I have the similar problem on Firefox nightly 84.0a1 (2020-11-01) (64-bit) on Debian testing.
Updated•4 years ago
|
Comment 2•3 years ago
|
||
Same here on Firefox for Linux Mint 85.0 (64-bit). Unable to use speechSynthesis because peechSynthesis.getVoices() returns an empty Array.
Reporter | ||
Updated•3 years ago
|
Updated•3 years ago
|
Comment 4•3 years ago
|
||
Can the severity and priority of this bug be reviewed. This makes speechSynthesis completely useless on affected OS (Linux, Mac)
Comment 5•3 years ago
|
||
(In reply to christophe from comment #4)
Can the severity and priority of this bug be reviewed. This makes speechSynthesis completely useless on affected OS (Linux, Mac)
Thanks christophe. I've just ni? :eitan who originally developed this feature in order to help us assessing how hard is to have this fixed.
Comment 6•3 years ago
|
||
FWIW it works for me on Release (version 87) and 88 on an M1 Mac. It would be helpful to narrow down the conditions where this happens. For people who it's affecting - does it also happen on a clean firefox profile? Are there any relevant OS settings that have been changed?
Comment 7•3 years ago
•
|
||
It didn't work for me on ubuntu 18 on non-arm, but it seems to be due the lack of voices installed in my system.
Comment 8•3 years ago
|
||
For the people on Linux, can you check whether speech-dispatcher is installed? If not, you're seeing bug 1432719.
Comment 9•3 years ago
|
||
It works for me on Release Firefox 86.0.1 (64-bit) Mac OS Big Sur (Intel Mac Book Pro)
Comment 10•3 years ago
|
||
Following a casual survey of Mozilla-General, the results here are very uneven!
Reports include:
" I can't be bothered to count them, maybe 30?" (this user was on MacOS)
"Zero on Gentoo Linux (probably I just have never installed some dependencies?)" - this user had disabled the speech-dispatcher option on install.
"2 in Win10" reported in a few different FF versions.
"62 in Android 11"
"if I wait longer enough, I would says 1000s (79 for af locale, and I suspect the same for each locale that Fedora bundle as default)" - apparently Fedora with lots of locales installed can have so many the menu takes time to populate?
"I have 0 on Arch"
"12 visible and many more if I scroll down in Nightly 89.0a1 on Fedora 33."
Comment 11•3 years ago
|
||
(In reply to Gian-Carlo Pascutto [:gcp] from comment #8)
For the people on Linux, can you check whether speech-dispatcher is installed? If not, you're seeing bug 1432719.
Thanks for this useful hint. My problem resolved after install speech-dispatcher on Debian testing and Firefox nightly.
Updated•3 years ago
|
Comment 12•3 years ago
|
||
(In reply to Gian-Carlo Pascutto [:gcp] from comment #8)
For the people on Linux, can you check whether speech-dispatcher is installed? If not, you're seeing bug 1432719.
Thanks a lot - unfortunately that does solve it for me.
I am on Linux Mint 21, FF 94.0 (64-bit) with speech-dispatcher (version 0.9.1-4), and speech-dispatcher-audio-plugins (version 0.9.104) installed.
speechSynthesis.getVoices() still returns an empty Array.
Comment 13•3 years ago
|
||
Same problem for me on Manjaro and Arch Linux using KDE Plasma
Assignee | ||
Comment 14•2 years ago
|
||
Clearly reproducing here as well, and speech-dispatcher is indeed installed.
Assignee | ||
Comment 16•2 years ago
|
||
Looks like https://stackoverflow.com/a/72388612 was a good hint, default speech-dispatcher module might have no voice, but others might have some.
$ spd-say -O
OUTPUT MODULES
espeak-ng-mbrola
espeak-ng
$ spd-say -o espeak-ng -L
[very long list]
Assignee | ||
Comment 17•2 years ago
|
||
Voices count is asserted at https://searchfox.org/mozilla-central/rev/30ac44262374be08ccd4262ee36f0716152868d3/dom/media/webspeech/synth/test/file_setup.html#85 but ... We never check if it's > 0
?
Assignee | ||
Updated•2 years ago
|
Comment 18•2 years ago
|
||
That raises two questions:
- Why does the default module have no voices?
- If spd-say is able to speak without specifying an output module, what module/voice is it using?
Regardless, thanks for the pointer. Hopefully, it might point someone in the right direction.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 21•2 years ago
|
||
So, we have no way to query specific module, the fix for that needs to be done at the system level. An upstream (debian) isssue was filed
Assignee | ||
Comment 22•2 years ago
|
||
There's already a patch https://github.com/brailcom/speechd/commit/43a967b1, 0.11.2 is on its way to be packaged in Debian and Ubuntu to fix this.
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 23•2 years ago
|
||
Updated•2 years ago
|
Assignee | ||
Comment 24•2 years ago
|
||
The fix made it in Debian now (including bullseye-backports), let's improve a bit the test to maybe catch this in the future (we would not have caught that in the past because the version of speech-dispatcher in 18.04 did not had the bug)
Comment 25•2 years ago
|
||
Pushed by alissy@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6f52943c8524 Assert that we have more than one voice r=eeejay
Comment 26•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Description
•