117 pointsby bigwheels7 hours ago26 comments
  • simonw3 hours ago
    I didn't mention this in the article, but this isn't the first time my family has been driven almost spare by a mysterious, hard-to-track beep.

    Our dog goes outside and hides in the lavender bush if a smoke alarm starts making a "I need a battery" noise.

    So I went into this project with the attitude that I would like to solve this class of problem forever.

    • hypfer4 minutes ago
      This is very humanizing. I like that.

      Nicely done!

      > Claude doesn’t have native audio input (yet), but it can run JavaScript and Python code that can analyze audio captured by a microphone.

      LLMs can also do that with non-mic audio, btw. I had GLM (or was it qwen?) answer the question of "Why does the spotify version of the Metal Gear Rising" soundtrack sound so bad" - to great results.

      Compared with the CD rips on archive.org, the noise floor was 27dB (!!!) higher, and, the whole thing was 10dB more compressed.

      I cannot vouch for these specific numbers, but subtracting the good version from the bad one gave me a horrible delta wav file with lots to listen to, so there was definitely a _lot_ of difference.

      It got the job done is what I want to say.

    • thenthenthen2 hours ago
      Pff that sound is horrible, and sorta hard to locate (because of the pitch?). Anyway. None of my neighbours seem to care and in summer I used to hear an orchestra of beeps every 5 seconds. It was maddening, I was contemplating of buying 1000 batteries, print a manual and shoving it in peoples mailboxes, although somehow I think it wouldnt have made a difference. I moved out eventually (not because of the beeps)
  • tristanj5 hours ago
    You can also solve this in O(logn) using a physical binary search:

    1) Move half the boxes to another room.

    2) Listen for a beep and determine which room the beep comes from.

    3) Take the boxes in that room and split them in half again.

    4) Repeat until one box is left.

    • aizk4 hours ago
      It's O(logn) but you haven't accounted for how heavy each item in the array of n is.
      • kelseyfrog3 hours ago
        If you randomly index them and there's enough of them then on average the partitions average out.
      • mauvehaus3 hours ago
        This is true, but it probably isn't a box of books that's beeping.

        I also feel like ordering the moves by lightest box first is reasonable as a real-world optimization.

      • tonyarkles3 hours ago
        Lol classic “ignore the constant factor” gotcha when using Big-O.
    • entropie4 hours ago
      Or you could use a very heavy blanked to just cover some boxes to supress the sound enough to simulate moving boxes.
    • globular-toast42 minutes ago
      You could also solve it by getting rid of the boxes of stuff you clearly don't need (if you needed it, it wouldn't still be in a box). The best way to solve a problem is to make the problem go away.
    • peri-cl3 hours ago
      Yes, but that's also O(log n) physical effort. This one's O(1) sitting on your butt.

      (Out of curiosity: I think "physical binary search" is more properly O(n^{1/3} log(n)), or maybe O(n^{1/2} log(n)). Since physical objects have sizes, and moving things (or moving between things) takes time proportional to distance).

      • akoboldfrying2 hours ago
        Good point about the moving effort required. But if moving an object takes constant time, then it's O(n) overall -- since <incorrect argument deleted>.

        EDIT: My earlier analysis was wrong (it assumed you never move the beeping item after the initial halving), but the conclusion was right for a different reason: Each time you move items, you move half as many as you did last time. You initially move n/2 items, and the geometric series n/2 + n/4 + n/8 + ... + 1 sums to n-1. So O(n) moves are done, and this dominates the log n term for the number of steps.

        • peri-cl2 hours ago
          Yeah, that interpretation is more realistic!

          O(log n) is if you can split the collection in half in an O(1) step, like, *shoving* the whole pile together as a unit

          O(n) if you're moving items one at a time. So, splitting the pile in half once is O(n)

          O(n^{3/2}) if the project is way out of control and walking distances start to matter

      • MisterMunchkinan hour ago
        It’s not sitting on your butt if you have to code an entire system and set up notes throughout the house and monitor them.
    • pyrolistical3 hours ago
      That requires you to stand in the room and listen for which side. So it’s nlogn times a very long time constant
    • ARandomerDude5 hours ago
      > Move half the boxes to another room.

      Alternatively, no.

      • malfist4 hours ago
        Alternatively, you can unpack
        • tunapizza2 hours ago
          Came here to say this.
        • yjftsjthsd-h3 minutes ago
          I am confident that inventing a new networked sound locating system is far easier than that.
        • growse36 minutes ago
          Who's got that kind of time?
        • justsomehnguy28 minutes ago
          Yes, if you still didn't unpacked it when you don't need it.
        • 4 hours ago
          undefined
  • ozyschmozy14 minutes ago
    Several years ago, I had a bed that occasionally creaked, but I couldn't reproduce it, and by virtue of only happening when we were already in bed, it was not possible to just listen for where the creaking may be coming from. I had an idea to put a few esp32s with mics under the bed to do this exact thing, but figured it was not worth the effort. I guess I can just throw some tokens at it if it happens again
  • gorgoiler38 minutes ago
    There was a post on HN recently about a suspended string robot, and how it could manage different loads (picking up dirty laundry) depending on on where it was in the room.

    https://neufangled.com/payload

    Simon’s microphone configuration is very similar except instead of payload kg it would be affecting detection accuracy.

    I wonder why the accuracy was an OOM outside the expected result (40cm vs 7mm)? Also using claps for calibration of unknown devices feels like a different approach to measuring distances between devices with a tape and solving the polygon. How many devices would be needed to self calibrate — 1x beep and Nx listening — instead of relying on smudgy claps? Or maybe every sound is smudged in a room filled with boxes?

  • foo12baran hour ago
    Why didn't you time the interval between the beeps? Then when the next beep was coming up, just listen to a particular part of the room or set of boxes until you found it.
    • globular-toast31 minutes ago
      This is the problem with technology. Some people just want to use it, so it's quite hard to tell whether this is really a quality of life improvement, or if it's just exciting for some weirdo (any programmer counts as weirdo here).

      I've personally had to track down a beep before and used a similar technique as you suggest: time the beeps then be in right place to perform a kind of binary search to home in on it. I found a smoke alarm in the roof space above my flat, nailed to the top of the rafters that had been there since the building was built 20 years prior. It was annoying but I'm sure it took way less time and effort than "getting AI to do it".

  • Melatonic39 minutes ago
    Not related to the beep but if you still have natural gas (guessing based on the old carbon monoxide detector) you likely also want to get a simple plugin alarm that also detects natural gas in its natural un burned state.

    Carbon monoxide is only produced when it's burned and builds up. And is obviously very dangerous. But a small gas leak building up over time or an oven pilot out and left on is not great for you either.

    Make sure you place it relatively near the ceiling as it pools up there apparently. Saved my life during Covid lockdowns

  • NitpickLawyeran hour ago
    Ha! This reminded me of that old famous entry from bash org: "I can't find a server in my house. It responds to ping, but I can't physically locate it."
    • 38 minutes ago
      undefined
  • raldi5 hours ago
    WHAT WAS MAKING THE BEEP!!?!?!
    • gandreani5 hours ago
      Hahahaha. You should slow down when you read

      "The system worked as intended. It gave me the position of the beep to within about 40cm, then I dug through that specific pile of boxes and found an ancient carbon monoxide detector that desperately wanted its batteries replaced."

      • raldi5 hours ago
        Oh, thanks. Not sure how I missed that in the very middle of the piece :D

        Maybe I should have asked Claude to help triangulate it for me.

        • lubujacksonan hour ago
          Finding the crux of the article buried somewhere in the middle... it's like poetry; it rhymes.
  • uptrails2 hours ago
    I'm only here with a friendly tip for the designers of beeping devices: make sure to gradually ramp high-pitched beeps up and down, so that there's no sharp edge that an adversary could time.
    • pillefitzan hour ago
      You can time the envelope of the ramp, though
      • uptrailsan hour ago
        Not with any kind of precision if the slope is gentle and you're using random commodity devices with different frequency response, automatic gain control, etc.
  • gouggoug2 hours ago
    This article is about a weekend project and not a serious product, so what I'm saying below is not criticizing the author's approach — I'm making a point about something tangential.

    The post touches on my biggest pet peeves about how many software engineers currently use AI at work: they ask it to "write out a problems.md file describing the problem we want to solve" then lob the output over the fence for the rest of the engineering org to review, often times without even disclosing they used AI to generate it (it's, of course, obvious).

    AI can not do the reasoning for us; thinking that because it is great at writing code that works, the same applies to documents whose primary purpose is to demonstrate critical thinking, explore trade-offs, and reason through a problem is absurd.

    In fact (or IMO?), this "problems.md" document is entirely unnecessary. In many cases, simply describing the issue and providing the relevant context is enough for AI to come up with a working solution.

    AI can not do critical thinking (yet), so don't ask it to (and stop sending your fellow software engineers AI-slop RFCs).

    • simonwan hour ago
      Yeah, I wouldn't do this for code that I was expecting anyone else to review.

      This is actually the first time I've told an agent to write out a "problems.md" document - it was an experiment to see if stating the problem provided decent results, as opposed to working directly on a spec.

      It did seem to work well though. I was outsourcing as much judgement as possible to the model, and the model did a good job at making decisions that got me to my required end result.

      In this case, the AI could do the reasoning for me. Opus 5.5 and Fable 5.2 are really good!

  • solyin5 hours ago
    MKBHD demos the the FOTRIC TD2e Acoustic Imaging Camera.

    https://www.youtube.com/shorts/ai1gIWacf0I

    It costs ~$1,000 so you'd probably rent it if you're only going to use it once, but it's a neat gadget.

    • radicality4 hours ago
      Oh, was gonna post a comment about this, I actually bought just last week their USBc version (Fotric Sonic 3), on eBay, for around $700. Works quite well, it has 64 mic array, I think it would be tough to replicate it to this level.

      Lmk if anyone has any questions about it! It’s android-only, but I’ve gotten an agent to write a Mac version of it though haven’t tested yet.

      eBay link to what I bought: https://www.ebay.com/itm/960060893216

      • simonw2 hours ago
        For an intermittent beep, could you point it at a room and then leave it recording video for an hour, then come back later and scrub through that video looking for the source of the noise?
      • jcims4 hours ago
        Are you able to gather the multichannel recordings off the device? I’ve often wondered if you could do that, then replay a video while focusing on specific parts of the scene. Kind of like a virtual stethoscope.
    • userbinator2 hours ago
      It seems what happened with thermal cameras many years ago might be happening with acoustic ones now. They used to cost a lot more than that.
    • ortusdux5 hours ago
      Great thing for tool checkout/rental at a makerspace!
    • dangistan2026113 hours ago
      Does it work for infrequent sounds? The sound might for example come in the middle of the night for two seconds, loud enough to wake one up, then go away. If I leave it on, can it do continuous recording and max or threshold-based capture?
      • lumaan hour ago
        Yes it can, works like a thermal camera. No recording (apart from stills), but you can watch the video image and, depending on overlay options, new sounds will be localized on the screen. Use mine to track down air leaks in a compressed air system, thing is magic.
      • simonw3 hours ago
        That should work. You could always have Claude Code run the server itself and explain to it the rough parameters of the sound (two seconds, late at night) - then let it listen for hours and occasionally tweak its own configuration to try to better capture what's happening.

        In my case it identified that the likely beep was about every 62 seconds pretty quickly - then I confirmed that one of the recordings was the mystery sound and it locked in from there.

  • globular-toast23 minutes ago
    What I'd like to know is: did it make you feel good? Did you get a sense of satisfaction at having solved a problem? Do you feel more stronger and more capable than you were before?

    What I've been finding is just setting AI loose like this doesn't give me any of that. I've decided not to think, so I don't feel any struggle. No struggle means no relief, no feeling of accomplishment. I also don't learn anything because AI read the paper for me. Learning is what I live for.

  • caseyf72 hours ago
    Great post. Many levels of interesting information. Any sense of how much this cost?
    • simonw2 hours ago
      I spend $200/month on an Anthropic subscription which this all fit into easily, and I don't have a good estimate for the first part (in Claude Code Cloud with Opus 5.5), but the subsequent Fable 5.2 session on my laptop would have cost $31.04 at API prices (517.9k ctx / 331.4k out), according to `uvx agentsview serve`.
  • hinkley4 hours ago
    I had a beep that drove me crazy and the very long search turned up a surplus CO monitor that I didn’t recall buying and had gotten tucked into the laundry room for some reason.

    Same brand as my smoke detectors.

    Make sounds that can be detected directionally, assholes.

  • gregsadetsky4 hours ago
    Simon's LLM's beeping finder app vs https://annoyingpcb.com/

    Who would win?? :-)

    I lack the courage to plant such a PCB prank device... it really feels like you could drive people completely crazy haha

  • delichon5 hours ago
    Could you build this into a HUD for a cat, tuned to mouse squeeks? Asking for a friend.
  • adm44 hours ago
    wonderful! Thanks for sharing. I thought about doing this to track the sounds moving around in my stomach... it is interesting how well the mic on your smartphone works at picking up stomach sounds
  • hk13374 hours ago
    I wonder if it would work to find an annoyatron?
  • pavo-etc5 hours ago
    Woah this is cool. Another interesting simonw project based around sound through browsers. Lots of simple real world problems that can be tackled with this.
  • gwbas1c5 hours ago
    You know what might have been easier... Going through the boxes!
  • pizzafeelsright3 hours ago
    Smoke alarm.
  • minfazhai4 hours ago
    [flagged]
  • vee-kay2 hours ago
    [dead]
  • aaron6954 hours ago
    [dead]
  • i_love_retros4 hours ago
    [dead]