vitotai / BrewManiacEsp8266

BrewManiac on ESP8266. Only ESP8266 needed.
155 stars 71 forks source link

Enhancement suggestion: Javascript playing alert sound #8

Closed allthepies closed 6 years ago

allthepies commented 7 years ago

Vito,

Could you include a code enhancement in the main code stream:

It's a modification to the sound function in the bm.025 Javascript file.

Modified code follows: sound: function (t) { var b = this; if (b.soundTimeout) clearTimeout(b.soundTimeout); Beep.pause(); Beep.currentTime = 0; Beep.loop = true; Beep.play(); if (t > 0) b.soundTimeout = setTimeout(function () { b.soundTimeout = null; Beep.pause(); Beep.currentTime = 0; }, t * Beep.duration * 1000 ) },

Basically this starts the sound played at the beginning each time and also plays the entire sound rather than just a one second snippet. (sorry code formatting is bad, git doesn't seem capable of showing nesting)

I would like to change the default "Beep" sound (as I think it's too harsh) and so with this code modification then it plays the sound fully and also from the start.

Thanks.

vitotai commented 7 years ago

ok. That's better. I wanted to make it customizable. However, resource is precious on ESP8266. By default, maximum 5 files, and maximum 5 connections are supported. Therefore, I tried to to find a small wav but ended up creating one by synthesizing a sin wave. The wave is base64 encoded and embedded in the index.htm to save resource.

allthepies commented 7 years ago

Cool, thanks!

This is the current alert sound I've embedded in index.html, just found a MP3 and used a file -> base64 encoder to get the base64 text.

Beep= new Audio( "data:audio/mp3;base64,SUQzAwAAAAAfdlRJVDIAAABHAAAAVmludGFnZSBjYXIgaG9ybiwgb2xkIGhvcm4uLi4gLyBPbGR0aW1lciBIdXBlLCBhbHRlIEh1cGUgLi4uICg2MDI2NDQ4KVRQRTEAAAAMAAAAc2FsYW1pc291bmRUQUxCAAAAFQAAAG5vaXNlcyBvbmxpbmUgdm9sLiAxVFlFUgAAAAUAAAAyMDEzVENPTgAAAAYAAABub2lzZUNPTU0AAAA7AAAAZW5nAChjKSAyMDEzIHNhbGFtaXNvdW5kLmNvbSAtIGZvciBub24gY29tbWVyY2lhbCB1c2Ugb25seVRDT1AAAAAnAAAAKGMpIDIwMTMgc2FsYW1pc291bmQgLSBTZWJhc3RpYW4gS2FycHBUUFVCAAAAIgAAAHNhbGFtaXNvdW5kLmNvbSAtIFNlYmFzdGlhbiBLYXJwcFRSQ0sAAAAGAAAAMDAvMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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4+dqFEH13mmaNen9lgB6yQ2fRFBhcUmHQKkWmsqFSFK2aHLNNAcooIApnXB8Go8UPgPhcWhx4pcwfRfbUk29ytvF1P0Ohpv465lu7j3+fib+FoeFbjVrCSDh2y6lCl9Plk/t6Ef/9FUAJBMlhQOjyxgAAANZyPwLT5QJjE5AMVhgWADVwUGJQDQWYBBDFmnGAgEiohLMCAE3JIDKheibQuBIg6YOMQqAkQ/gZdHIIMNwoD2G3AeqGpBcAJSHKEpC/JxAgxMkME8CCgwA9Qa4s4fYuEdI//uSBPOGAzcrxyusMWRexTkIdYMuCzB/IRXEgAFoFyRiuIAAskniYcnTdAlSuM2T4lMoDcHNJQZohxBi+T59FZi5OEMIocIgTZXHyRYokRJkiJHIPd3UudOuV0EDQ0cukcViaIkRpeKJVSfZatky4ZuZvN1Hi4xMk6Q4ulItk0ViZSKKFDrU9/WaJpm7z5ggghZM8TJVKSJSPk0fJlyZNCZPf///+5u7f///l5i8bgB4RiMSmQRhUBgEAAAHTwQx8TO6uzE5CMXhxQyaMoC4BCYGg0wCCG5JBmAgI2ic4GAIk4/gcALJEIQbtGYFxEXAkYY1AzML8Bb6K4OMvi5CIipgHWK2FKCCQxwgkL8mCJENIoQ0pCUC4GqCVFbEeMyOSLhPqPHDiYbGHphisb4NzxeDcGVIwiRDhxKZdJUghABzCyKULJPj5IsRpESGkFH1WtSK+XyvJ84XC4YSZKRWIcRIjS8USqtv9jQ6fNzeboIIIEyTpHF0pFsmisUUiZ9X/zRNMvvdBi41BM0Jkqk0iTRuTRsTLkyaEye////9y+7f///7kgT1gAe/hEjmckAA+JCJTc5IAAl4XQYc8oAA9oai55ggAP/k0xNG5IQHUA5DlaE85G6PSqlKaKGsuLWt1aJAMARRIPB41Sl/KIh1xKCsGuIg4Ig7JcShsShqIuWPFj0S8qdKnYi6jynxL1neIv8S/4i/yoAAaQqtxVAiBERYl0ZyJLzJitrNreXXMBBwRA0sFeJQ2JQ18RHhEe+VOlXfUe/63RF1HuS6zq3Qa89xL/iJTEFNRTMuOTkuM1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUQUdWaW50YWdlIGNhciBob3JuLCBvbGQgaG9ybi4uLgBzYWxhbWlzb3VuZAAAAAAAAAAAAAAAAAAAAAAAAABub2lzZXMgb25saW5lIHZvbC4gMQAAAAAAAAAAAAAyMDEzKGMpIDIwMTMgc2FsYW1pc291bmQuY29tIC0gZm9yJw==");

:)

vitotai commented 7 years ago

That is too big.

I am revising the code, maybe I will make it customizable so that users can use their favorite mp3 as beep. Maybe different notifications can have different mp3 files, like Add Malt, Remove Malt, Temperature reach. The problem is the limitation of ESP8266 capability.

allthepies commented 7 years ago

I wasn't suggesting to incorporate that MP3 into the main BM code :)

The sound function modifications would be good though.

vitotai commented 7 years ago

NO. I am not going to embedded the mp3 into the html. I am going to figure out a way to load the audio files sequentially so that the network requests won't overflow. Then, we can use mp3 files instead of the built-in beep sound. The built-in beep sound will be used when the mp3 files are missing. This could have been done, but I didn't want to spend too much time on such too-fancy-not-too-useful things.(but, I have to admit that it's fun when hearing a voice like "temperature reached" instead of buzzing.) I just use OSX's built-in text-to-speech to generate the following voices: temperature reached add hop add malt remove malt boil end brew finished, good bye controller disconnected Iodine test

It seems to be fun to hear Siri's voice during brew. Unfortunately, iOS doesn't allow playing audio without user's action ( like pressing a button or touch screen.).

allthepies commented 7 years ago

I think were talking on cross purposes Vito. I'm not suggesting incorporating the large MP3 into the code or html, I just pasted it as a humorous example of how I'd set mine up (it works BTW!).

It would be good though if you could modify the Javascript function which plays the alert sound though to reset the sound each time and also play the sound for it's entire length each time (basically the modifications I posted in the opening post).

vitotai commented 7 years ago

Check this out: https://www.facebook.com/BrewManiacEx/?hc_ref=PAGES_TIMELINE&fref=nf

allthepies commented 7 years ago

How about HTML5 Text to Speech ?

http://stephenwalther.com/archive/2015/01/05/using-html5-speech-recognition-and-text-to-speech

https://codepen.io/SteveJRobertson/pen/emGWaR

vitotai commented 7 years ago

According to this page https://developer.mozilla.org/en-US/docs/Web/API/Web_Speech_API

TTS is not mature. Safari doesn't work as expected by loading those pages.

I've played with audio for a while and found that it's more complicate than I have thought, but audio support is more mature than TTS. At least, I cam make it work on Chrome and Safari.

Using Audio files has other advantage over TTS: you can use any sound.