5 ms·
I built a customizable ambient sounds radio: http://asoftmurmur.com http://asoftmurmur.com I built it because I was tired of manually mixing together ambient s
by gabemart 13y ago
I built a customizable ambient sounds radio: http://asoftmurmur.com http://asoftmurmur.com
I built it because I was tired of manually mixing together ambient sound to block out background noise when I work in public spaces.
I'll quote from my comment in my unsuccessful Show HN:
---
This is the first thing I've ever 'coded' (if you can call it that), so it's pretty rough around the edges.
It's pretty similar to RainyMood [1] and Coffitivity [2] but with the added feature that you can play more than one type of sound at the same time and adjust the volume of each to find a mix that suits you. I was inspired to make this because that's something I ended up doing manually quite a bit.
It's HTML5 with jquery and jquery-mobile, mainly for the slider elements (which I didn't know how to make myself). I wish I could have avoided using jquery-mobile because it was quite a headache trying to deactivate a bunch of the default features and just use the slider.
It uses the standary HTML5 audio player. When the play button is pressed, all the audio streams play. When the value of each slider is changed, the volume for that player is updated with JS.
iOS devices don't support changing the volume via javascript in any fashion, so this won't work on any iOS device. I don't see a way of getting around that. It should work in most other modern browsers. Seems to work in IE10, FF, Chrome and the stock Android browser.
The only slightly tricky thing was getting seamless looping for the audio samples. The HTML5 audio player has a "loop" setting, but in every browser I tried it in there was an audible gap between the end and start of playback. Very annoying in this kind of application. To get around that, each audio track fades in and out at the beginning and end. When the player reaches the beginning of the "fade out" section of the main track, about 10 seconds before the end, it triggers a 25s "glue" track to start playing, which fades in as the main track fades out. When the glue track begins to fade out, it triggers the main track to fade in again at the beginning. The end result is something approaching a seamless loop with constant volume. I think it works quite well for ambeint noise, but it obviously wouldn't work for anything with a beat.
The sounds are all CC licensed samples from freesound.org [3][4] that I did my best to mix and clean up. In the unlikely event this ever became popular, I'd love to make some field recordings myself to get a bigger range of sounds in higher quality, but that's a bit of a pipe dream.
[1] http://www.rainymood.com/
[2] http://coffitivity.com/
[3] http://www.freesound.org/
[4] http://asoftmurmur.com/info.html
---
If I have time and I find anyone who wants to use it, I hope in the future to add more sounds, better initial presets, saving presets, stop-playing-after-x-minutes, fade-out-over-x-minutes and support for (10+2)*5 [5]
[5] http://www.43folders.com/2005/10/11/procrastination-hack-1025
- zizee 13y agoI love it, I'm bookmarking it to use it instead of Rainymood. Just the thing to drown out my noisy kids when coding :-) Did you create it as a creative outlet? Or is there some plan to generate revenue?
- gabemart 13y agoThanks! I created it mainly to scratch an itch, as an excuse to learn a little about web programming and HTML5, and because I'm currently working on a very long project and felt the urge to finish something. I don't really have a plan to generate revenue at the moment. If it ever became popular, I might look into creating an offline desktop version and selling that for a few bucks. Probably the most obvious way to monetize would be building a mobile version and selling that, but unfortunately that's totally beyond my abilities.
- NickPollard 13y agoThis is fantastic. I've never really used ambient noise before although I've been interested in trying; your site made this painless and immedidate. The design is clear, simple, and effective, and (for me at least) it just works. For a first major programming project, you've knocked it out of the park. Bravo.
- lifeisstillgood 13y agoIts great. I actually paid 5$ for a babbling brook mp3 from somewhere recently, so if you are thinking of monetising, try recording my settings over an hour and then bundle it as a mp3. Then again it is just cool. I'm impressed. HTML5 keeps surprising me. ohh - suggestion - set a low volume, rain/waves mix as the default and get it playing onload(). (maybe AB test the bounce rate). I assumed it would play and had a moment of waiting to see if it was just hanging Also, I am getting some stuttering. That's not good. How would i debug that ? Let me know, its probably a decrepit machine / browser combo.
- gabemart 13y agoThanks! I agree, the current defaults are poor and need to be changed. As for the stuttering, I'm not sure - does it sound like a buffering issue or a decoding issue? It's on a low priority shared hosting package and I had to turn off cloudflare because it wasn't working properly, so it's possible the server isn't keeping up.