Have you enjoyed snoring detection in Sleep as Android? Did it work well for you, or did it make lots of mistakes? In any case, we are proud to announce a new, redesigned, improved version of this feature, and you should give it a try.
More sounds are recognized
Actually, we added talk detection as an experiment about two years ago, but we did not give it much publicity, and many users are not aware of it. When you talk from your sleep, we tag the recording with #talk, and you can listen to the wisdom of your dreams in the morning.
We detect coughing, sneezing and the like, and mark them as #sick. One might be surprised how much he coughs during the night, it may give him an early alert.
See how much was your sleep disturbed by your crying #baby.
A funny bonus feature. Indeed some people #laugh heavily from their sleep and want to have it recorded.
Some users complained that snoring detection was too sensitive and sometimes marked non-snoring noises as snoring. For others, it was not sensitive enough and it used to miss part of their snoring. Indeed, every microphone is different, every environment has different acoustics, it is nearly impossible to balance all these specifics automatically.
Now, everyone can tune the classifier so that it fits his needs and his specifics. A new settings screen allows adjusting the sensitivity for every sound separately or disabling some sounds completely.
The new sound recognition can also improve awake detection. For example, if one talks too much and too long, we can expect that he is awake, rather than sleep-talking, and we can mark the period as such. Again, it can be customized in the settings.
Under the hood
We are using convolution neural networks, a state-of-the-art machine perception technique.
The algorithm learns from real-world sound samples. We gave it thousands of diverse recordings, and told it “this one is snore”, “this one is cough”, “that one is just meaningless noise”, etc. The algorithm gradually learns specifics of the individual categories and then can recognize new, unheard sounds.
The more samples it receives during the training phase, the better it works. It is truly hard to imagine how many different kinds of snores or coughs or various background noises and disturbances there are out there.
We first deployed neural networks for snore/talk detection about two years ago, and we have gone a long way since then. Driven by real-world performance feedback, we redesigned the internals of the network, we enhanced the way how we extract data from the microphone input, and we substantially extended the training data set. We believe it will bring a better classification accuracy in most cases.
Please, help us to improve it further
We collected a database of several thousand recordings by our means, and we would like to collect way more of them, from more diverse sources. This is where we are kindly asking you, our user, for help.
You can send us your samples straight from the app. We will collect all these recordings, verify them manually, and use them to improve the algorithm.
And if you really feel like having some fun with our app, you do not need to record only your sleep sounds. Just start sleep tracking anywhere, record any sounds in your surroundings, and if our app classifies them wrong, please, send them to us. The more varied collection of samples we receive, the better.
Thank you in advance for any contributions.
When you listen to a recording, and it is classified incorrectly, you can manually add the missing tag or remove the wrong tag by tapping the respective button at the player screen.
When you are leaving the player (and if the recording is longer than 30 s), we detect the changed tags and pop up a dialog, where we ask you to share the audio with us.
If you agree, the app will send it to us by e-mail.
There are a few more enhancements related to the new sound recognition, that we would like to squeeze into the next release.
Laugh Out Loud Captcha
Laughter, even if artificial and forced, makes you feel better and is good for your health. It is the best way to truly wake up and start the day. We will use laughter detection in a new Captcha, where you will need to laugh out loud to dismiss the alarm.
The app will publish an intent whenever it recognizes any of the aforementioned sounds. It will allow a power-user to handle the sounds in whatever way she likes (e.g. to design her very own anti-snoring trigger).
Yet improved accuracy
We will use recordings that you will have shared with us to further improve the accuracy of our algorithms.