tlecomte / friture

Real-time audio visualizations (spectrum, spectrogram, etc.)
http://friture.org
GNU General Public License v3.0
936 stars 161 forks source link

Add the ability to play back recently recorded sounds #276

Closed celeste-sinead closed 5 months ago

celeste-sinead commented 6 months ago

So, adds a ringbuffer for the last 30s of samples, the ability to play the contents of that buffer, and controls to record/stop/play and select playback position. Useful if you want to hear a recent sound again.

I, um, haven't gotten around to making the buffer length or output device configurable but I'll get to it :upside_down_face:

tlecomte commented 6 months ago

Oh, that one is interesting. I can understand that this could be useful in some scenarios. Can you remind me what's your area of interest ? Is it voice training ? Originally, Friture was meant to be used in the context of setting up a venue for an audio event, like an auditorium or a concert hall. In that context, I've not heard of any feedback about a need to hear again what was recorded. However, I could see how playing back the last 30 seconds and having the analyzers also update their visuals could be nice.

As it is, I'm not fully sold, mostly because it takes a significant area of the user interface, for a feature that only some users may need. What do you think of adding a checkbox in the settings dialog to show the playback control ?

celeste-sinead commented 6 months ago

I can understand that this could be useful in some scenarios. Can you remind me what's your area of interest ? Is it voice training ?

Yes, exactly; playback can be really useful for getting additional feedback on practice.

And yes, having the analyzers update to reflect what's playing back was definitely on my mind for future work in this direction.

Making this optional sounds pretty reasonable.

celeste-sinead commented 6 months ago

@tlecomte I've added the checkbox to enable the playback controls. It currently defaults to hidden; what do you think about having them shown by default, though?

tlecomte commented 5 months ago

Thank you very much @celeste-sinead!

I feel more comfortable with it hidden by default for now, I'll merge it as is.

Thanks again, that's a very nice contribution!