←back to thread

1901 points l2silver | 4 comments | | HN request time: 0.487s | source

Maybe you've created your own AR program for wearables that shows the definition of a word when you highlight it IRL, or you've built a personal calendar app for your family to display on a monitor in the kitchen. Whatever it is, I'd love to hear it.
1. belthesar ◴[] No.35745209[source]
I've got a couple things, they're pretty simple, but they've improved my life significantly for as simple as they are.

One is an interface for a MIDI controller I use to be able to control the Soundcraft UI16 mixer I use for my desk setup. I'm a bit of an audio nerd, having done pro-am music production, and having a love for broadcasting, and what started as a simple setup to get good quality sound at low latency has now become an audio chain with a teleconferencing audio processor, a headless digital mixer, and several microphones to do acoustic echo cancellation and noise cancellation so I can use an open microphone without headphones.

My mixer, being headless, has no physical controls. From my DJ days, I had a MIDIFighter 3D controller not being used, and a Raspberry Pi without a dedicated task. I was able to write a small bash script to read note information from the controller and send web requests to a Bitfocus Companion server to act as API intermediary between my mixer and the controller. Now, I have physical controls for hardware muting my microphone, and the various computers at my desk. It's effectively a big Elgato Streamdeck for what I use it for, but to be able to upcycle the hardware has been quite nice.

I also was working from home with some long hours, and I wanted to try and improve my sleep schedule. I already use redshifting software (usually what's built into the OS these days, although I used to be a longtime F.lux user), and that's been great, but I also wanted to control monitor brightness by time of day. Giving my eyeballs less light blasted into them has helped me regulate my sleep better. I wrote a small python daemon that can run on Mac or Linux, integrate with native DCC tooling to send control commands to my displays, and gradually adjust the brightness of my monitors based on the time of day. This has also been eternally useful when, being an ops guy, I'm called in during the middle of the night, sit down at my desk to address an outage, and my eyeballs are bombarded with significantly less light, making the pain of adjusting much less difficult to address, and also making falling back asleep after the incident is resolved much easier.

replies(2): >>35745365 #>>35745729 #
2. redog ◴[] No.35745365[source]
>several microphones to do acoustic echo cancellation and noise cancellation so I can use an open microphone without headphones.

I'd love to read more about the work on this!

Can I get away with just 2 other microphones? Is it in python?

replies(1): >>35746131 #
3. emberfiend ◴[] No.35745729[source]
I also made a time-of-day brightness adjuster! I had a much cruder solution, just an autohotkey script that drags sliders around in nvidia control panel, but it's such a relief on the eyes. I hope it gets baked into OSes (or monitor hardware?) at some point, matching monitor luminosity to what the sun is doing seems pretty obvious.
4. belthesar ◴[] No.35746131[source]
This admittedly isn't software. I'm leaning on the shoulders of giants in the professional teleconferencing space for this. I'm using a beastly old Biamp Nexia VC audio processor for this. The nice thing is that these are very end-of-life products that don't require a license to operate, so you can pick one up on eBay for $50-100.

The Nexia provides Acoustic Echo Cancelling, which is fundamentally the same stuff that VoIP apps like Zoom, Teams, Discord, etc. use to detect feedback and squelch it, except instead of ducking my microphone, it does waveform cancellation to strip it out, to pretty great effect. To take advantage of this, I send the audio output from my computers (I have my desktop or my laptop, which are attached to the same USB audio interface, and a Mac Mini that I use for secondary tasks, media watching, and a CI/CD worker target) as well as a contact microphone attached to the wall adjoining a bathroom. Audio from those sources are then removed from my microphone feed before it goes back into my audio interface for whichever primary computer I'm using as my teleconferencing device.