• 0 Posts
  • 11 Comments
Joined 1 year ago
cake
Cake day: February 7th, 2025

help-circle
  • Karaoke is kinda like improv comedy: You need an easy, quick setup, then a punchline that’s also easily understood, but not too crude. High-brow comedy has a place, but a low-brow club generally isn’t it.

    For Karaoke, the song is the setup, so ideally you’ll pick a well-known one, while the punchline is the mediocre singing. Singing well is like telling an anecdote: interesting, for the right audience, but not what people go to Karaoke for. Take too long to get to the funny part and the anticipation is gone. Sing too poorly and it becomes unpleasant rather than funny.

    You can be good at Karaoke as a form of entertainment without strictly being an actual good singer, if you nail that balance and deliver it well.


  • Human error is my prime motivator pushing for automation, mostly because I’m the one getting fucked by it more often than not. I’m the guy processing data people enter or produce into automatic reports.

    Every type of error I run into takes time to investigate, figure out how common it is and decide how to handle it. More often than not, I need to specifically document that handling too, because someone is gonna come asking for it.

    “Your report says we had 17 invoices for Dec 2020, but we’ve booked 18” Yeah, because someone entered the booking month as 20212 or 200212 instead of 202012 and there’s no reasonable way to parse that.
    Nevermind the ones where the booking month is just “02”. Like hell am I gonna write logic to guess the year if it’s ambiguous.

    Please just implement an automatic process to sync booking and invoicing systems. I don’t have any magic tools to turn your slag into gold.


  • I adapted the normalizer Sink from that post to be a normalizer Source, replaced the local paths with the system lib names, made a mistake, fixed it, got everything hookes up as I think it should be. How it performs under load remains to be seen, and which order noise cancel and nornalizer go will be tinkered with, but at least the service restarts and everything looks fine.

    May life be as kind to you as you have been to me.



  • I absolutely wasn’t expecting a helpful response under a meme, so thank you very much for taking the time to write it!

    anytime your system is too busy to keep the buffers filled you get crackling

    I’d have to test that more thoroughly, but I do think that lines up with the timing of the issues.

    You can increase the quantum with this command. This only lasts until pipewire restarts:

    Can I put that in some config to make it stick?

    I’m admittedly very junior to pipewire config, so most of what I have is copied from the internet, tweaked for node names / descriptions, but I generally like working with config files and slowly learning what all that stuff in there means.

    I have two loopbacks (I like having music and games each grouped separately from other audio), an echo-cancel and a noise cancel (filter-chain with a single rnnoise node), all configured via .conf files. As an aside, is there a “best order” to chain echo cancel and noise cancel?

    Echo cancel seems to have a quantum/rate of 480/48000 across the board. Loopbacks, rnnoise and alsa_output (my headset) all have 0/0. I imagine it makes sense for the Loopbacks and rnnoise, but should it be something else for the main output?

     

    By default pipewire doesn’t do any ‘mic boost’, as Windows calls it. You can get the same effect by raising the maximum volume.

    Well, it seemed to work just fine without echo cancel, if I capture the mic directly, but putting it through echo cancel (with or without noise cancel) seems to reduce the gain significantly.

    I’m gonna mess with the volume sliders and see which ones I can crank up to fix that issue.

    But I’m confused why that issue would occur in the first place and if I have something misconfigured.

    Alternatively, you can use EasyEffects to add a compressor. This will boost your mic volume and also prevent it from getting too loud

    Sounds like a compressor would be a good idea to have anyway. Is that also doable through the config? I’m not opposed to graphical tools, I just feel like working with the config directly is more educational. It’s also more prone to screwing things up, but that’s just bonus lessons on what not to do.

    Sometimes apps, like Discord, will do this signal processing for you

    Curiously, the reason I looked at echo-cancel in the first place is that Discord’s own echo fucks with things, cutting me out at times while also not cancelling the echo at others.