-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Voicing does not work with Chromebook #328
Comments
I have a chromebook, I can take a look. |
I just tried 1.6.0-rc.1 on a chromebook 104.0.5112.83 (Official Build) (64 bit) and heard Voicing come through. EDIT: I am seeing that Voicing on latest ChromeOS works ~5% of the time. Usually I hear nothing but sometimes I do hear "Voicing On" or the content from a reading block. EDIT: I confirmed it does seem better in published JT. Though there was once or twice where I didn't hear any content. EDIT: When we do not hear anything, EDIT: Here is the output from using the Not ready to announce because synth is stuck "speaking". I made this demo HTML: <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TEST PAGE</title>
</head>
<body>
<button id="button">Speak!</button>
</body>
<script>
const button = document.getElementById( 'button' );
button.addEventListener( 'click', event => {
speechSynthesis.speak( new SpeechSynthesisUtterance( 'Hey there' ) );
} );
</script>
</html> At first I didn't hear anything. Then I closed all other sim tabs and I started to hear the "Hey there" every button press. |
I found that if I remove the workaround added in phetsims/gravity-force-lab-basics#303 the problem goes away. The problem from that issue does come back though. I believe that the times Voicing was working on Chrome 109 were the times I started to use it before the workaround was used. I was curious why this issue is NOT in published GFL:B, even the workaround references an issue in that sim. But it is explained by this comment: phetsims/gravity-force-lab-basics#303 (comment) I tried putting a string in the workaround like synth.speak( new SpeechSynthesisUtterance( 'waking' ) ); and the problem was fixed. Then, I tried speaking an empty space and the problem still seems fixed. Yuck... The issue is that speaking an empty string breaks SpeechSynthesis in ChromeOS. I verfied this by changing my HTML test to <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>TEST PAGE</title>
</head>
<body>
<button id="button">Speak!</button>
</body>
<script>
const button = document.getElementById( 'button' );
button.addEventListener( 'click', event => {
speechSynthesis.speak( new SpeechSynthesisUtterance( '' ) );
} );
window.setInterval( () => {
console.log( speechSynthesis.speaking );
} )
</script>
</html> And when I press the button I see So that is indeed the problem. @zepumph can we meet next week to discuss whether we should continue with this workaround (adding a space), possible maintenance releases, or removing this workaround entirely to avoid workaround maintenance pain. |
Discussed. We prefer adding a space to the workaround. It seems like the least amount of effort, and lets us keep using the workaround for slow speech synthesis on Chromebooks. Back to me to add the space. Ill look at which published sims have this problem and use that to inform whether we proceed with a maintenance release. |
@jessegreenberg, I'm going to mark this as ready to cherry-pick since the original change for friction has been made, to be verified in RC and/or with you on master. Thanks! |
@Nancy-Salpepi can you please verify that this is fixed in master? |
Great job! Working just fine in master with Friction (and RaP). |
I think that is it for this issue, the only published sim with this problem is RaP (phetsims/ratio-and-proportion#550). Commit to cherry pick: phetsims/utterance-queue@feff87d |
|
This looks good in rc.3. Closing. |
Test device
Chromebook
Operating System
109.0.5414.94
Browser
chrome
Problem description
For phetsims/qa#886, Voicing doesn't work for Friction using the Chromebook. When I click on things I see the little megaphone appear in the sim tab, but I don't hear anything.
Voicing only seems to be working in published GFLB and JT (not in published RaP). It didn't work for any of the sims I tried in master (Friction, RaP, GFLB).
Voicing works with mac + chrome and win10 + chrome.
The text was updated successfully, but these errors were encountered: