Hi Guys! I am the developer of the myNoise website and just want to say that all your comments are a great source of inspiration today: many suggestions for further improvements will be taken into account! Although I did entirely code the website by my own using a simple text editor, I am not a programmer, in the sense that I never learned how to program efficiently and beautifully. Multiplatform issues, and mobile browsers in particular, are driving me crazy ;-) And yes... I feel a bit "naked" now as some of you are digging into my website code with much expertise. Please be indulgent! ;-) Cheers, Stephane

This is truly one of the best noise websites I've come across, especially for cabin noise with that deep rumble that helps me focus. Seriously, thank you for creating this! This has had way more thought put in to it than anything I've come across to date.

Great site, but the generators are pretty CPU intensive. Is it the nature of Web audio API, or just heavy computation in your particular case? kmix is really overloaded in KDE when the generator is running (using PulseAudio).

Minor quibble: the "Binaural Beat Machine" does not produce binaural beats. It plays two notes at the same time, to both ears, which produces an actual beat in each ear (pull off one headphone - you can still hear it). A nice example of how it should sound: http://en.wikipedia.org/wiki/Binaural_beats

Thanks for doing this, I'm going to use this page a lot, I think. But have you thought about open sourcing some, if not all of the code? With the source code out on for instance github, a lot of people could help you out wherever you feel your own skills come to short.

If it were me, I'd not open source this. Common tools that are used to build other things generally are, such as a compiler or VCS, but an actual finished product, not so much. Open sourcing this would be like Github open sourcing github.com, rather than just a handful of common tools they built to create github that might be useful to others.

Open source has a time and a place, but some things, like finished websites, are best left proprietary. There's a lot of thinking that's gone into this site. I think the #1 thing that would happen as a result of open sourcing it is that other people would just take the her work and creating clones, eroding her ability to make money from it (if she so chooses).

Choosing to open source something should be done only with a compelling rationale, and the downsides should always be carefully considered.

As a big proponent of open source, I would agree your statements completely. There is little a community could do with this that can't be done with existing tools already. Furthermore, this succeeds primarily because of the author's specific execution of the idea and the way it is presented. Open source just risks a "too many cooks in the kitchen" scenario.

Furthermore, because of the high quality, someone is extremely likely to turn this into a paid mobile app and make money off of it (irrespective of the license it is released under-- unscrupulous people don't care about pieces of virtual paper).

I used a white noise generator app for a long time with my first child and this is far superior to what I had. I would have gladly paid several dollars for a solid mobile execution of this.

Not true. You might not want to make money yourself but you also might not want other people to rip your work off and profit from it.

People that open source things do so as a gift to the community at large, and sometimes people just don't want to give away their property (intellectual in this case), even if they don't intent to turn a profit. Plus, leading an open source project can be quite stressful and there's also the time cost of actually supporting a community of people, if they gather around a project.

There are tons of downsides to open sourcing something but occasionally there's a significant benefit (or other motive) that drives the decision to open source and outweighs the negatives.

Fantastic. I tend to not like rain sound simulators, but the sliders let me pick one that seemed believable and familiar. I loved how the darker end of the spectrum let me simulate a visit to the Oregon coast.

(After which, I wished there was actually a storm right now, until I walked out onto my balcony and realized it was raining.)

Right, the EQ controls the volume of each of the 10 (each one corresponds to a slider) sounds. (Every sound has been previously decomposed into its frequency components.) The Web Audio API is used for browsers that have it present, else HTML5 audio elements are used. The slider just adjusts the volume of the sound (exponentially of course!), leading to an equalizer effect with no filtering required. (Garnered from looking at the code.)

Interestingly, this could be done using one file (rather than ten) using a Web Audio API filter node. This would limit the site to only Web Audio API compatible browsers. Unfortunately, at this time, that's only newer versions of Chrome, Safari, and I believe FF nightly (slight API variations). However there is some mobile support through recent Chrome and Safari implementations.

Sure, you could pre-calculate your filter coefficients and use a bandpass for each frequency band then do the math in Javascript however it's slower, and more involved. Also, unless you're going to be using WAVs, there's going to be some overhead for the decoding of the sound. Also, the filter won't be very high order since you're going to be doing at least n*44100 operations per second (at the standard sampling rate). (Web Audio API filter nodes are only 2nd order but you can cascade them.) Do you have examples of the above working in Firefox? I'd be curious to see the implementation.

It's slower, but... does it matter if it's not just "slow"? Slower than "so fast" is still "fast".

> and more involved

That's right.

> Also, unless you're going to be using WAVs, there's going to be some overhead for the decoding of the sound.

If I recall correctly, Firefox's Audio Data API does the decoding for you and provides the final PCM samples even when loading non-WAV formats.

> Also, the filter won't be very high order since you're going to be doing at least n 44100 operations per second

If the effect computation is a problem, you can pre-render it in a buffer.

Anyways, n*44100 operations per second is not that much. You actually operate on buffers, which makes caching useful for the slow part (memory access). Summing, multiplying, etc. is a piece of cake for your CPU in JIT-compiled code.

Check this JSFiddle I threw in a couple minutes: http://jsfiddle.net/9LpKd/2/ (please mind the awful effect and the fact that it's not audio... I'm not very experienced with Audio Data API and that would take me a bit more to fiddle with!)

44000 pixel updates, up to 60 times a second, with pretty expensive operations (sines, cosines and even square roots!), updating DOM values... JavaScript is fast enough for this.

I can see the problem in mobile devices though, but I'm not even sure Firefox provides Audio Data API in mobile devices.

>Do you have examples of the above working in Firefox? I'd be curious to see the implementation.

>I've opened up multiple tabs and superimposed the noises, it downs everything out. Hope you can spare the traffic.

I built a noise generator around the concept of superimposing noises over each other [1]. I've consistently struggled with performance - at the moment it takes far too long to load properly. I'm planning to implement just-in-time loading when I get some free time

The sounds are great by themselves, but I had the most fun layering different generators by opening several tabs. I played around with the EQ and made something sounding very close to Biosphere with 4 parallel tabs. It really felt like the tracks were synchronized to fit into each other. Great work!

How does this work mathematically? Do you take, e.g., a waterfall track and manipulate its frequency spectrum? Or is it completely synthetically generated? If it's the latter, then I'm quite impressed that I can't tell the difference.

First of all -- awesome concept and execution, and great sound samples. Well-done.

> Mobile Safari iOS 6 on iPad 2+, iPhone 4GS+

But... not working on my 4S/iOS6. :(

Anyone got it working to play in the background, even when your phone's screen is off? I also wonder about battery life as HTML5 audio, vs if it were an app.

The creators clearly want to support HTML-only, according to the FAQ, but this calls for an app if anything ever did -- you want it to run, providing sound in the background, while you do other stuff (whether on or off your phone).

I don't really understand how it runs on iOS devices at all - to the best of my knowledge, it simply isn't possible to control device audio volume from javascript on iOS [1]. Or at least, that seemed to be the consensus last time I attempted to.

To reply to you, forgetting that the interface is not really touch friendly,
I was totally able to make it run in the background on a Nexus 4 with Chrome (the Web Audio API works in the background with Chrome),
however I got some clicks (interruptions) in the sound probably due to the bad performance the Web Audio API gets in Android Chrome today.

Pink noise can be found under White Noise (because all myNoise noise generators are spectrally-tunable, there is no reason to have different color noise generators: the white noise generator can be shaped to any imaginable color, and a pink noise preset is already provided for you).

This is really great. I listen to sounds like this alot as I find they help me focus. I've used environmental recordings of rain, storms, and ocean waves for years (decades, actually) and I usually loop them in Banshee while I work. I've seen a few of these noise generators in the past but never really came back to them because they weren't superior to my recordings.

Your generator, however, is exceptional.

One request: when we make a selection, say a preset, would it be possible to have an indicator that shows what we had set? I find myself selecting something, then working a while, then coming back and being a bit forgetful!

One strange thing I noticed about this is with the cabin sound, listening to it for a prolonged period tends to cause ringing in my ears like I've been listening to loud music, except I'm listening to this at low volumes. This isn't something I've experienced for low-volume stuff before.

First time this is reported to me. Please check the last slider. It produces sonic content above 16 kHz. You may have pushed that slider to the max because of a possible hearing loss. Although the sound you hear is quiet, the acoustic pressure may be higher. This is the only reason I can think of...

Great, now I have to keep another dozen Chrome tabs open... ;) Seriously, this is pretty nice. I currently have rain, fan, ocean, Indian Drone, Tibetan meditation, and Bamboo running concurrently.

A way to combine sounds without opening a new tab would be be an obvious improvement. Adding a feature that randomly (very slowly) raises and lowers volume of a sound from set of subcomponents could be interesting -- it'd give the sense that the sounds are changing slowly over time and relieve some of the stasis.

Edit: just noticed the babble generator. This is genius, and exactly what I need to mask background conversations.

This is great. I especially like the cabin noise. I work on ships and for the first week or so after I get home I need some background noise to help me sleep. This one sounds quite close to what one might hear on a ship.

This site is awesome! A feature request, if I may: on the calibration page, it would be helpful to have the ability to mute all the sliders except the one you are calibrating. Or perhaps, like slider in a color tool, have a text box with a number representing that volume that slider is set to.

It is rather spooky at first, but once I got over that its excellent for blocking background office noise.

Now what would amuse me NO END would be if once, (and just once) after a few hours, it was coded to fade out and play a distinct voice along the lines of "You're going to die today". I'd love to do that to someone!

This is fantastic! Love the throat singing and the ability to play with different presets. I was using the TNG engine noise on youtube before the 24-hour version was taken down, but this is my new jam.

There is something like this currently under development. There is a problem though: my noise generators are supposedly active across the whole hearing range, from 20Hz to 20kHz. And birds are only producing frequencies above 1000Hz. So, I need to fill up the bottom sliders with other sounds, or find... really big birds! ;-)