Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Ambiphone, no-nonsense ambient music and white noise (ambiph.one)
357 points by matteason 10 months ago | hide | past | favorite | 129 comments
I built this free, no-nonsense white noise app. I know there are plenty of them out there already, but I wanted to make something beautiful and easy-to-use, without logins or ads or in-app purchases or any of the other stuff a lot of them have.

I appeared on The Economist's The Intelligence podcast [0] this week talking about Ambiphone and another ambient music project, Ambient ScotRail Beats [1] - I'm on at about 17:30

There's a big selection of music and sounds already but I'm always adding more - if there's anything you'd like to see added, let me know!

[0] https://www.economist.com/podcasts/2024/01/01/why-2024-could...

[1] https://matteason.co.uk/scotbeats




Fantastic! The design is just great; so simple and no-nonsense.

Honestly, I don't really use white-noise generators so I didn't plan on using it, myself, but after realizing it allows layering the sounds, I've built a really nice little soundscape and find myself missing a function that would allow me to transfer that design (selected sounds and volumes) to another instance of the app.

Totally not necessary, of course! Easy enough to re-configure. Just something I thought I might use, in case you were interested.


Thanks for the great feedback!

I'm building the ability to save mixes at the moment actually - good point about being over to move them over to a new device. At the moment I'm just storing saved mixes in localstorage but people will definitely want the ability to sync at some point. I've been trying to avoid having an account system in the interests of keeping things simple but I might have to bite the bullet or come up with another clever way to keep things in sync


You could store all state in the URL fragment. Maybe each key is a sound and each value is the volume, like /#whale=5&fire=8 or whatever. Call replaceState (better than pushState to avoid polluting the back button history with every little tweak) whenever the user changes something. On page load, read from the URL fragment using window.location.hash and then sharing is just a matter of copying the URL, which could be done entirely in browser chrome, and/or via a "share" button you provide.

These might help:

https://www.jvt.me/posts/2019/08/01/node-parse-url-fragment/

https://stackoverflow.com/a/66416539


This is exactly what I do on https://www.matteason.co.uk/scotbeats/ actually - any settings change is reflected in the URL and read back on load. When I implement sharing of individual mixes it'll probably look a lot like this


Great recommendation for such simple state! The portability of that is just perfect!


If you happen to be excited about stuff like this:

https://veilid.com/

https://news.ycombinator.com/item?id=37118124

https://www.eff.org/deeplinks/2023/12/meet-spritely-and-veil...

(Otherwise, encode-state-in-url-hash or export-to-json-and-paste aren't too bad, unless you do want "social")


You could generate some sort of hash of the selected options, encode it with something that’s short and human readable and then share that on the screen?

Something easy for a human to transfer like honey-chair-balcony or something. Store the settings in the backend against this identifier and then you can retrieve it later? So you still need a backend but no need for accounts


I feel your pain. I'm building my own local-first, no-nonsense app and need to solve the same problem. I've got proof of concepts for both a no-account server syncing scheme (app generates key, you manually enter that key in whichever instance you want to share the data with) and a web-rtc based p2p sync.

But I will say that I have a need to sync data, which is why I'm putting effort into getting that syncing working (as well as compressed and encrypted). I really doubt you would need something robust for this type of thing. I'd, personally, be perfectly happy to get a json "export" of your local storage values that I could just "import" into a new instance of the app. I'll email it to myself. No need to complicate it with automation and all of the baggage that comes along with accounts.

If nothing else, a manual import/export is a fully-featured first implementation that can be iterated into something more robust.


This is a good point. I like the safety of being able to have my own local copy of my data so json export/import would be a good first step


I love it!

I hate that most of these apps are subscription based for no good reason. This is so clean and nice...

One thing that would be awesome would be an option to preload and cache the noises. I regularly use white noise machines in offline situations (planes, remote camp ground), offline mode would make it the ultimate machine!


Great suggestion. I'm testing a PWA version at the moment (https://test.ambiph.one) and PWAs do allow offline caching of resources but I'm not sure if I'll bump up against any cache size limits. I seem to remember reading that Safari is particularly stingy unfortunately.


This would be so sick!


Awesome! Maybe a toggle to select those you want to preload?


Yeah, once I've implemented saved mixes prioritising those sounds would be good too


I believe this is adjacent, but I quite like https://asoftmurmur.com/. I’m not sure if it’s able to run offline.


> I hate that most of these apps are subscription based for no good reason.

The developer earning a living?


If there are continued costs associated with running the service, sure, I’ll pay a subscription if it’s good enough. A subscription for static content is a complete and total grift. Such content should be a one-time payment, which I will happily pay if it’s good enough


I have considered adding a subscription tier called Ambiphone Minus which gets you absolutely nothing extra and may even take features away


I think I would do a donation if I use it


I love it haha


> A subscription for static content is a complete and total grift.

You're here so I'll charitably assume you've managed a web server ever.

There is no such thing as 'static'.


Yes there is. And I am the admin of multiple webservers. What you are right about is that the content being static does not mean the work load is zero


If you're building a mobile app with a few noises, then it's static. You might get updates to the OS API once in a while, but there's no ongoing work. I'm fine giving you a fixed fee, as we've always done until everybody became crazy about subscriptions.


I have side projects as well but I'm pretty sure most developers have a day job. I don't earn anything from my side projects and don't want to. I'm afraid money would "change the equation" and might damage the user experience and awaken the low-key greed in me.


Neat.

If you are looking for additional things to add, those with tinnitus are likely to have suggestions.

I had a scare with tinnitus several weeks ago, where it suddenly became very apparent for a few days before subsiding to a point where I don’t notice it unless I specifically listen for it. This had me desperately searching for noise generators so I could get to sleep.

“Grey” and “pink” noise, and some kinds of cricket noise seemed to be most suitable for masking my type (which is very similar to the high pitch sound an old analog tv makes when it’s on). Heavy rain is also good, but it’s hard to find something that is suitable because most have some additional water splashing and gurgling, which triggers my misophonia.


I have actually had some lovely feedback from people who have said it's helped with their tinnitus (amongst them, unexpectedly, X-Press 2 of 90s dance music fame, as well as lots of other DJs)

It's definitely going to vary from person to person so if anyone else has any suggestions of the types of noise that might help them I'm all ears. I'm also thinking of adding more controls to individual sounds so you might be able to control, for example, the exact pitch of the 'bass rumble' sound, which may help people zero in on the frequency that helps mask their tinnitus


Now that I'm on my desktop, here's a better list of my favorites

Some kind of 9800Hz statis/hiss, reminiscent of crickets. Masks my tinnitus perfectly and doesn't seem to trigger excessive attention. Has a very quick intro bit, but not talking after: https://www.youtube.com/watch?v=2I-20-jKVF0

"Grey" noise, whatever that's supposed to mean. A low hum/rumble similar to ocean waves but more constant. Also has a hiss added. Very non-intrusive: https://www.youtube.com/watch?v=HSQ_gW7iVis

"Shimmer", very reminiscent of crickets but much smoother and without all the little peaks that would normally activate my attention: https://www.youtube.com/watch?v=Ke2BopotSIU


Seems the title is a little modest.

There is a white noise generator, which "cat /dev/urandom | /dev/audio" or a couple of lines of C code will accomplish. With just a few controls you can tailor the spectrum easily.

Then there is an "ambient music generator" which you can knock together in a few hours with Csound, Supercollider, Pd, Chuck/Faust and the like.

Then there's an "ambient music application" which in addition to inbuilt generators works with with online libraries of generators, seeds, patterns, sample loops, and a package/element manager for getting and adding "songs". Last time I built one of those it was a few weeks of effort.

Then there's getting all that to run on smartphone, on multiple platforms, getting around all the quirks, permissions and general madness that is phone dev ecosystem.

Well done on that last point. Seems the last of these is what the author has created and I kinda think it deserves a better name than "white noise generator".

I didn't realise there is still quite a culture of "noise generators" for people wanting to sleep, read or meditate.


That's really kind, thank you. It's definitely been a slog getting it working consistently across every browser/device combo so I'm glad that effort's paid off.

On the music point - at the moment it's just using looped versions of some (great) free tracks I've found, but I'm experimenting with generative music at the moment, including using environmental stimuli (mic, light level, accelerometer etc) to trigger changes in the music and bring in live samples from your surroundings. Early days but it's been fun to experiment with.


You're definitely doing the fun stuff, good luck with it.


Reminds me of the good ol days we could pipe /dev/mem to /dev/dsp for our white noise needs. When I investigated inconsistent sounds by piping to terminal, I saw plain text at times.


What phone dev ecosystem are you talking about?


I've been working on white noise app for a bit, but with a slightly different focus. While it's maintaining the same core points (limited bullshit, hopefully clear interface, sound staying on with phone screen being off) it addresses problem I constantly found myself having with every app: if I want to switch anything, I have to go back to the webpage/app and there goes some of my focus. Link: https://stimulantnoi.se/

So I made an app focused (hehe.) on ease of switching between noise intensity. There's a long explanation why it's important if you want one (https://incentiveassemblage.substack.com/p/why-is-nobody-ser...), but if you're the kind of nerd who knows about 'flow state' and 'Yerkes-Dodson law', you pretty much got everything covered. The core point is: if intensity of your main activity is changing, your background noise should too, so that you maintain the same total level of arousal. Most likely double so for ADD people.

My current solution is to use media buttons (forward/backward) to control intensity. It took much more work than you'd expect to get media interface to do this without breaking currently playing sounds. In general anything that isn't 'Play this sound' works much worse than one would anticipate with how prevalent media is on the internet - I see ambiphone does the same thing with playing sounds separately, but you saved yourself from managing media interface, so I can't quite tell how much pain exactly you have experienced with this.


That's really interesting, I'll check yours out.

Yeah it has been painful. It took a lot of trial and error to get it working consistently across browsers, from absolute basics like getting gapless looping audio working consistently across browsers to maintaining playback while the screen's off to iOS treating background audio differently in PWAs vs Safari. I've managed to get it in a fairly hack-free state now but I am definitely worried about browsers shifting underneath me and breaking things in the future. Best of luck with your app too!


This is great! I've bookmarked it on my phone.

I'm really curious where do you get the base sounds from? For example where are the coffee shop or different rain sounds from.

The one that I'd love to know about is the music section, I listen to a lot of the ambiant stuff on apple music and spotify, where do you get your ambiant track from? I always have to search "spa music" and see what I like from the results.

Acutally one last one, how on earth did you get a shipping forcast? Haha. Is that one track or like a chain of random ones?

Thanks again! I'm going to use this a lot.


Thanks! There's a credits link in the footer which lists out all the authors of the sounds (mostly from freesound.org and the Free Music Archive under CC-BY or CC0 licenses). For the music I dig through stuff tagged ambient. I'd like to expand the music selection a lot more, and maybe have something radio-y too

The binaural beats I made for someone who asked for them in these comments and the shipping forecast is one track of me reading a made-up (but structurally accurate, I think) forecast in my best Radio 4 voice :)


O cool. And wow! That Radio 4 voice one is so good I thought it was real. Really great job on this mate, I love it.


I have been using Atmosphere for years now.

Its main advantage is that it's an app (at least on Android) and that it works perfectly even when offline.

It has a wide variety of sounds to mix and match, as well as an option to save favorite combinations for quick access.


Another big benefit of Atmosphere is that its audio can play while other apps are also playing audio, such as a music or video player. This opens up even more avenues for custom mixes for when your brain needs exactly the right ambient sound combo to fall asleep.


Can you link to said app?



Found similar thing other day [0] but thing is.. If this is not an App it's not usable. People tend to listen this while resting (in bed for example) so makes no sense have this in browser. For example [0] stops playing when screen is off/locked

[0] https://moodist.app


OK to reply to myself, after testing it, this one does work while phone screen is off so this is usable. Thanks


Yeah, it's actually surprisingly tricky to get sound to persist with the screen off, especially on iOS, but I managed it in the end.

I'm testing a PWA version at the moment too so it'll be installable to your home screen - the test version at https://test.ambiph.one is PWA-enabled if anyone would like to try it out


Yeah, this is even better. Maybe add 'reset' button that will reset all sounds to "not selected".


Would be really nice if there was some sort of intermediate state / loading indicator, as there a bit of a delay when clicking each option and it's a little unsettling trying to work out what's not working.


There is but it only shows after about a second so that it doesn't flash up unnecessarily if the sound loads quickly


This is great, nicely done. I like the inclusion of the shipping forecast, it would awesome to include forecasts read by Kathy Clugston and Zeb Soanes. IMO these 2 presenters elevated the shipping forecast to an art form, their enunciation is beautiful. For examples:

Kathy Clugston: https://youtu.be/PJQJ61abfR0

Zeb Soanes: https://youtu.be/_qt6pECdxg8


This is great! (One thing I noticed is that at the default volume, the "heavy rain" is much louder than the "thunder". It would arguably be more realistic if they were similar in volume.)


Good point, I'll get this cleaned up


I turned them all on at once and had a slightly out of body experience.


My 10 year old daughter did this when I asked her to test it, it's surprisingly not as awful as I thought it would be


I turned several on at once, turned them off, and noticed that one of the Radio sounds will now play in addition to anything else that is currently playing



Just downloaded it, thank you!


I've been looking for the old "sleep genius baby" app for months, not in any archive.

https://spinoff.nasa.gov/Spinoff2015/hm_2.html

https://www.deseret.com/2013/7/1/20521855/about-utah-this-ap...


Very clean! By the way, I find the volume sliders a bit tricky to use, as it's way too easy to accidentally toggle the sound instead of just moving the slider.


Oh this is great feedback, thanks. I'll look at putting a deadzone around the volume slider so it's harder to mix them up


The ticking clock being an actual clock is a nice touch.


Thanks, you're the first to spot that!


One thing I forgot to mention - I'm going to start sending out email updates soon so if anyone would like to keep up to date on new features and sounds please fill in this form: https://forms.gle/D1BxTx21QUHdpBp17 (put any old nonsense in the feedback field if you don't have any feedback)


Wow this is beautifully done for mobile. Gorgeous design/brand. Brilliantly simple UX. Well done. Best site I've seen all year.


Thank you! I'm glad you like the design, I wasn't sure how it would go down


Love this, really well designed. I like how you can combine sounds and customise volumes. You should add a manifest.json and make it a PWA so people can add to their homescreen with a customised app icon. Ideal for an app like this i’d say.

I have it saved and will use it again.

Also… whatever way I’ve configured it, it sounds like a boards of Canada track :)


This is actually in testing at the moment! I'd love to hear any feedback you have if you fancy testing it out, it's installable from https://test.ambiph.one


Nice, yep it’s working well now for me on iOS, i added it via chrome, can see the new icon and it’s searchable among my apps.


If you want to block out distractions, without damaging your ability to perceive high frequencies, use brown noise.


Wow, amazing! I absolutely LOVE the gamma waves. Best I've heard, ever. Immediate relaxation. Thank you for all the hard work!

Support this guy, people: https://ko-fi.com/matteason


Thank you! And in case anyone is suspicious I promise this isn't my alt :)

Glad the gamma worked for you. I'd never really used binaural beats before but there seem to be a lot of things claiming to be binaural beats (especially on YouTube) that are actually just relaxing music? So I made them from scratch to make sure they're accurate


That’s exactly why I like your implementation of binaurals so much: no nonsense


This is very nicely presented. I wasn't expecting to activate multiple sounds and mix them to my liking.

Currently listening to Strong Wind 5% + Fire 10% + PCIII 8% + Wind Chimes 1% + Heartbeat 1% + Clock Ticking 5% + Printer 2% + Morse Code 0.5% + Numbers Station 5%


And now for a feature request: LFO control the mix.

I'm starting to find that my mix is noticeably repetitive after a few minutes. I would like the app to automatically bring in and out other selected sounds over a period of time to reduce the repetition.

However, I know this flies in the face of simplicity, I don't know how you'd go about adding that in a way that's easy to use? Perhaps you add some "timers" and link them to sounds, such that each "timer" fades in/out over some preset periods (1/5/10/15 minutes ?)


Good suggestion. It's on the plan to add more control over individual channels (things like positioning in 3D space, high-pass/low-pass, reverb etc) so a 'drift' mode would fit nicely in there


Beautiful interface.

I played Kirk Osamayo- Realization to test it and it put me into a 5 minutes of refreshing nap.


You're welcome or I'm sorry, depending on where you are


This is the best version of this kind of thing, thanks! I like how a sound fades in over a second or two when you enable it, it might be nice if it also faded out when you disable it. Especially for when you're sound 'DJing' to find the right mix.


Thank you! I had wanted to do that but it's marginally trickier than fading in - I agree it would be a much nicer experience than a harsh cut-off though, I'll look into it


I had guessed it might be something like this, and that of course you'd have wanted this! Will definitely use this lots, thanks again


Cool! I put the ScotRail Beats on for a good 30 minutes, no complaints here. Great job.


Nice! Any chance of adding binaural beats? (I'm pretty sure some other "binaural" apps I've tried are actually playing both tones into both ears, which isn't actually what binaural is about)


I'm adding some now, just for you. Give me an hour or two. (They'll be properly made, pure tones hard panned left and right)


OK, they're there. There's a new 'Binaural beats' section near the bottom.


Nice, with icons, and everything!

And they're definitely binaural, because the beats go away when just listening with one ear at a time (unlike some other supposedly binaural apps)


Yep - all generated manually in Adobe Audition just now so they're properly done


It's very nice. I'm surprised at the inclusion of some of sounds that I consider irritating though. It never occurred to me that some people could find them relaxing or helping to improve concentration


This is quite cool, would you be open to making the source available? I'm afraid of such things disappearing in future years/decades and always prefer to be able to host a private mirror.


This is perfect. I've tried many noise apps in the past and I'll be using this for a long time I'm sure.

Feature request: Deep-links so I can share or bookmark a 'preset'.


Coming very soon alongside saved mixes!


Nice, I actually heard you speak about it on the podcast last weekend and have been using it the past few days! Happy to see you've added binaural beats :)


> I wanted to make something beautiful and easy-to-use, without logins or ads or in-app purchases or any of the other stuff a lot of them have.

mynoise.net


Despite the unappealing name, I've found brown noise the best noise to study with.

Also, didn't expect to see number stations pop up in there, nice surprise.


Great collection of sounds for a release!

Couple of suggestions I'd need before using properly:

- Reset button

- Save to URL so I can quickly reload with same presets


Thanks! Both in the works now and nearly ready to go


Thanks I've wanted something like this for a long time.

No idea why all of them are subscriptions or have tons of ads and such.


Very slick interface with a nice selection of sounds! I would definitely use this if only it could connect to my Sonos.


I'll look into the Sonos API. The problem I've found with other casting/streaming APIs (Google Cast in particular) is that it expects a single URL to stream from, whereas Ambiphone is just loading individual sound files and playing them simultaneously on your device. It should work fine over Bluetooth but I appreciate that's not the best experience with Sonos and other smart speakers


Oh no! I think we’re out of luck if my reading of [1] is right. Sonos API only supports streaming from a single URL.

[1]: https://docs.sonos.com/docs/streaming-basics


It's not out of the question at all, I just need to figure out how to combine the sounds server-side and stream them out. On the plus side it should then be pretty simple to make work across different smart speakers, I'm just not sure how complex/expensive it would be to get set up


This is really good! Thank you for sharing!


If you have police scanner audio, then you should definitely include archival NASA radio recordings as another option.


On it! The Apollo 11 audio is all on archive.org [0] so I'll get some samples from that added

https://archive.org/details/Apollo11Audio


There are also air traffic recordings. Those are very lengthy streams.

Nice work, BTW.


Offhand do you know what the copyright status of ATC recordings is? The Apollo recordings are public domain because they're US government works


https://www.liveatc.net/legal/

(liveatc.net seems to be the most well-known website for live atc audio)

It sounds like they just don't want you to create an app for livestreaming contents of liveatc.net and that they allegedly own all rights to the content.

Maybe you could contact them, and ask if you could use some recordings.


I play a very lengthy white noise mp3 in VLC for my (baby) needs. Just works in all situations.


Really good. Love the clean design. Would be nice if you upgrade it to a PWA


The test version at https://test.ambiph.one is a PWA if you want to try it!


That's the best app on terms of combining ambient sounds! Well done!


Simple and clean, thank you!


Thanks!


The fact that we can put these things over top of each other is awesome.


Love it! Need to try it for my next work session.

What'd you make it with?


Thanks! It's built in Vue 3, UI is all built from scratch.

The sounds are FLAC files, which is the only compressed format which loops seamlessly across all browsers. Sound files are hosted in an S3 bucket, which is behind Cloudflare (free) to minimise S3 egress costs, so thankfully it doesn't cost much to run at all.

The sounds are all permissively licensed and mainly sourced from freesound.org and freemusicarchive.org - I'm hugely grateful to everyone who shared such high-quality sounds and music for free. There's a list of credits at https://ambiph.one/acknowledgements


iPhones have a background noise feature now, even if with not as much options this has.


This is really cool.

Can we maybe have apollo mission chatter?


Yes great idea!

Coincidentally I'm also building a live ISS tracker which embeds NASA's live camera stream [0]. Sometimes I have Ambiphone and the ISS tracker running at the same time and it's nice when the ISS chatter pops up, so I think the Apollo recordings would work really well.

[0] https://www.youtube.com/watch?v=P9C25Un7xaM


I like the UI and the ease of use.


Me:Tinnitus. Site:I like it. Rain does the job.


Ha, I'm building up a nice little following of tinnitus-havers. Glad it works for you!


You now have the worlds worst collection. Congrats on owning that.


Winner. Anything no-nonsense, now a days in this world, is a winner! Thank you!


Really nice!


Thank you!


Please tell me that ‘ambiphone’ rhymes with ‘antiphone’ as my music teacher said it, rhyming also with ‘catastrophe’ or ‘Penelope’


Ha! I've always said am-BEE-fone but am-BIH-fon-EE is now the official alternative pronounciation



Was going to mention this site. One nice thing it has that could be useful for this app is to have the ability to save a preset and load it in the future. I found it quite useful in mynoise.net


This is in development at the moment and very close to being launched - watch this space


Pretty cool, I personally prefer the sound selections on Forest, though.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: