[HN Gopher] Show HN: Ambiphone, no-nonsense ambient music and wh...
___________________________________________________________________
Show HN: Ambiphone, no-nonsense ambient music and white noise
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
Author : matteason
Score : 140 points
Date : 2024-01-03 17:41 UTC (5 hours ago)
(HTM) web link (ambiph.one)
(TXT) w3m dump (ambiph.one)
| 99catmaster wrote:
| Pretty cool, I personally prefer the sound selections on Forest,
| though.
| mcbishop wrote:
| Simple and clean, thank you!
| matteason wrote:
| Thanks!
| tpei wrote:
| Really nice!
| matteason wrote:
| Thank you!
| mattgreenrocks wrote:
| Love it! Need to try it for my next work session.
|
| What'd you make it with?
| matteason wrote:
| 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
| webwanderings wrote:
| Winner. Anything no-nonsense, now a days in this world, is a
| winner! Thank you!
| catapart wrote:
| 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.
| matteason wrote:
| 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
| hunter2_ wrote:
| 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
| catapart wrote:
| Great recommendation for such simple state! The portability
| of that is just perfect!
| matteason wrote:
| 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
| catapart wrote:
| 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.
| matteason wrote:
| 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
| jamesbooker83 wrote:
| 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
| 3np wrote:
| 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")
| halfdaft wrote:
| 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.
| matteason wrote:
| 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
| halfdaft wrote:
| 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
| busfahrer wrote:
| 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.
| amar0c wrote:
| 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
| amar0c wrote:
| OK to reply to myself, after testing it, this one does work
| while phone screen is off so this is usable. Thanks
| matteason wrote:
| 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
| amar0c wrote:
| Yeah, this is even better. Maybe add 'reset' button that
| will reset all sounds to "not selected".
| cubefox wrote:
| 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.)
| matteason wrote:
| Good point, I'll get this cleaned up
| entropie wrote:
| This is really cool.
|
| Can we maybe have apollo mission chatter?
| matteason wrote:
| 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
| stevenking86 wrote:
| The fact that we can put these things over top of each other is
| awesome.
| DreamGen wrote:
| 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.
| matteason wrote:
| 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
| ahmedfromtunis wrote:
| 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.
| naitgacem wrote:
| Can you link to said app?
| ahmedfromtunis wrote:
| Here it is: https://play.google.com/store/apps/details?id=com
| .peakpocket...
| rngname22 wrote:
| See also: https://mynoise.net/
| dgrcode wrote:
| 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
| matteason wrote:
| This is in development at the moment and very close to being
| launched - watch this space
| artagnon wrote:
| Very slick interface with a nice selection of sounds! I would
| definitely use this if only it could connect to my Sonos.
| matteason wrote:
| 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
| artagnon wrote:
| 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
| matteason wrote:
| 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
| ck2 wrote:
| 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...
| bravura wrote:
| If you have police scanner audio, then you should definitely
| include archival NASA radio recordings as another option.
| matteason wrote:
| 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
| tgv wrote:
| There are also air traffic recordings. Those are very lengthy
| streams.
|
| Nice work, BTW.
| matteason wrote:
| Offhand do you know what the copyright status of ATC
| recordings is? The Apollo recordings are public domain
| because they're US government works
| charles_f wrote:
| 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!
| matteason wrote:
| 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.
| asplake wrote:
| Please tell me that 'ambiphone' rhymes with 'antiphone' as my
| music teacher said it, rhyming also with 'catastrophe' or
| 'Penelope'
| matteason wrote:
| Ha! I've always said am-BEE-fone but am-BIH-fon-EE is now the
| official alternative pronounciation
| abroadwin wrote:
| The ticking clock being an actual clock is a nice touch.
| matteason wrote:
| Thanks, you're the first to spot that!
| chopete3 wrote:
| Beautiful interface.
|
| I played Kirk Osamayo- Realization to test it and it put me into
| a 5 minutes of refreshing nap.
| matteason wrote:
| You're welcome or I'm sorry, depending on where you are
| NickC25 wrote:
| Cool! I put the ScotRail Beats on for a good 30 minutes, no
| complaints here. Great job.
| Teleoflexuous wrote:
| 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.
| matteason wrote:
| 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!
| scns wrote:
| If you want to block out distractions, without damaging your
| ability to perceive high frequencies, use brown noise.
| WarOnPrivacy wrote:
| Me:Tinnitus. Site:I like it. Rain does the job.
| matteason wrote:
| Ha, I'm building up a nice little following of tinnitus-havers.
| Glad it works for you!
| Modified3019 wrote:
| 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.
| matteason wrote:
| 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
| Modified3019 wrote:
| 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
| nonrandomstring wrote:
| 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.
| matteason wrote:
| 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.
| nonrandomstring wrote:
| You're definitely doing the fun stuff, good luck with it.
| gardenhedge wrote:
| What phone dev ecosystem are you talking about?
| spacec0wb0y wrote:
| 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 :)
| matteason wrote:
| 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
| spacec0wb0y wrote:
| 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.
| matteason wrote:
| 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)
| t09i209ba893 wrote:
| 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.
| yodon wrote:
| 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)
| matteason wrote:
| 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)
| matteason wrote:
| OK, they're there. There's a new 'Binaural beats' section near
| the bottom.
| poulpy123 wrote:
| 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
| sidkris wrote:
| Really good. Love the clean design. Would be nice if you upgrade
| it to a PWA
___________________________________________________________________
(page generated 2024-01-03 23:00 UTC)