GoXLR-on-Linux / goxlr-utility

An unofficial GoXLR App replacement for Linux, Windows and MacOS
MIT License
635 stars 36 forks source link

[Feature] Mic Sample Playback Button/Function #159

Open Coldblackice opened 3 months ago

Coldblackice commented 3 months ago

Awesome work on this tool! It has far surpassed the original, and is the hero that GoXLR's Gotham needs. Thanks for all the continuing development on it.

A phenomenally useful feature would be a "Mic Sample" playback function. Tweaking mic/mixers is universally a difficult and involved process, especially with so many variables, and particularly not having quick feedback of how things are sounding while changing.

If a button could be added, perhaps sharing the same island as the "Mic Setup" button (and same look), like "Mic Test", where it records a rolling ~3-second sample from the mic and then plays it back slightly delayed some seconds in order to listen without speaking.

I've held back suggesting this, thinking it'd be deemed too developmentally intensive or beyond scope. However, seeing this awesome new mic peaking waveform analyzer implemented (so useful!), would it be possible to take it one step further and have this audio sample of these waveforms cached and played back?

This would massively assist the workflow of tweaking mic/mixer parameters such as gain, gates, equalizer, compressor, etc.

Nonetheless, this utility is phenomenal as is. Much obliged to Frosty and everyone for all the effort and love invested into it, keeping the GoXLR heart's beating!

FrostyCoolSlug commented 3 months ago

Unfortunately, this is still a lot more difficult that it looks.. The new Waveform isn't using any samples or audio, instead it's using the same functionality previously used in the VU meter (both in the Utility and the Official App), but representing it in a different way. We simply ask the GoXLR firmware for a point-in-time volume on the Microphone every 100ms, then dress it up into a pretty waveform, drawing lines between the points.

This unfortunately leaves the ability to play back the Mic on delay still somewhat tricky and out of scope, as it would need to have a specific OS audio handler to be able to manage it.