Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature request] waveform plot (separate effect or mode for upper analyzer) #3087

Open
derVedro opened this issue Apr 22, 2024 · 6 comments

Comments

@derVedro
Copy link

I would like to be able to view the last 5-10s of the audio signal in the waveform display along with its levels. I like to adjust some settings for dynamic processing by my eyes seeing the sound wave. So I would like to be able to do this with a separate effect or by switching the upper spectrum analyzer to waveform display mode.

@wwmm
Copy link
Owner

wwmm commented Apr 22, 2024

I would like to be able to view the last 5-10s of the audio signal in the waveform display

Depending on the situation this may be a lot of data. It may be hard to understand what is in the image.

@violetmage
Copy link
Contributor

@wwmm Not sure if this is helpful, but from OP's description I'm envisioning something similar to how a DAW or Audacity displays waveforms in the timeline.

@wwmm
Copy link
Owner

wwmm commented Apr 22, 2024

@wwmm Not sure if this is helpful, but from OP's description I'm envisioning something similar to how a DAW or Audacity displays waveforms in the timeline.

That is what I understood. It can be something interesting to see in some situations. But depending on the sampling rate 5s or 10 seconds of data may have so much you won't be able to see the details.

@derVedro
Copy link
Author

derVedro commented Apr 22, 2024

@violetmage got me right. I would like to see a waveform like in s(M)exoscope.

@wwmm Not sure if this is helpful, but from OP's description I'm envisioning something similar to how a DAW or Audacity displays waveforms in the timeline.

That is what I understood. It can be something interesting to see in some situations. But depending on the sampling rate 5s or 10 seconds of data may have so much you won't be able to see the details.

Hmmm, there is no need to store all samples in a buffer. Every column of pixel in the plot is just an averaged window for a bunch of samples. I think an int[display_width] array is good enough to do the job. The 10s time could also be a little too much, of course I would be happy to work with less resolution too.

@wwmm
Copy link
Owner

wwmm commented Apr 23, 2024

Hmmm, there is no need to store all samples in a buffer.

I was not thinking about the storage size but about the visualization of the data in the chart. Ten seconds of data at a high sampling rate can easily produce more points per pixel than is possible to see in the chart. So some kind of average would have to be done. But each downsampling method fidelity loss may make the whole thing useless. It will depend on what is intended to do with the plot.

@derVedro
Copy link
Author

derVedro commented Apr 23, 2024

I was not thinking about the storage size but about the visualization of the data in the chart. Ten seconds of data at a high sampling rate can easily produce more points per pixel than is possible to see in the chart. So some kind of average would have to be done. But each downsampling method fidelity loss may make the whole thing useless. It will depend on what is intended to do with the plot.

Yes of course some average had to be done. To display every sample as a point is nonsense. May be an extra duration controller for the size of the time window would be useful. My use cases are: finding a proper threshold value for compressor / visual control of compressor's work (I use the compressor/expander a lot if I look some shitty lecture recordings).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants