Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Waveform Minibar (mod) (Read 105792 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

Re: Waveform Minibar (mod)

Reply #450
Say I update a track because of a previously undiscovered bad rip or something.  Is there a better way to update the waveform cache than nuking it and rebuilding from scratch (which I just did, overnight)?
This ?
Aha!

I looked at that and thought "WTF?", then the penny dropped.  It might have been useful to mention that is on the shift+right click menu!

Thanks.
It's your privilege to disagree, but that doesn't make you right and me wrong.

Re: Waveform Minibar (mod)

Reply #451
Feature request:
Doubleclick on the minibar plays/pauses the track at the (double)clicked position.

Re: Waveform Minibar (mod)

Reply #452
I have been thinking of that feature request over the night and I still don't really see it being useful. Making the seek respond differently to double click would make the main functionality, quick seeking with a single click, worse. I don't see upsides. You can already seek while paused.

Re: Waveform Minibar (mod)

Reply #453
I've been experimenting a lot to give your wavebar a prominent role in my UI.

Let me rephrase ...

1) Bug?
I'm using "Playing track, selected when stopped", which works fine except for the following.
I'm playing a track and the wavebar of this track is shown as expected. Now I click another track in my playlist and then stop playing. Wavebar does NOT change to the selected track. It still shows the wavebar of the previously playing track. If I click the currently selected track once more the wavebar still shows the previously playing track. If I select another track in the playlist the wavebar of that track is selected as expected.

When playback is stopped and the wavebar of the selected track is not shown (the above situation) and I click inside this wrong wavebar playback starts of the selected track and the correct wavebar is shown.

2) Feature request
When playback is stopped and I click inside the wavebar playback is started of the selected track at the clicked position (which is very nice). So from STOP you do issue a PLAY command starting from clicked position.
When playback is paused however, a click in the wavebar just changes the position and does not issue a PLAY (UnPause) command. Then I have to travel the mouse to the Play/Pause button to start playing from the selected position. Makes no sense imo.
Can you change the behavior of a click in the paused wavebar so that it starts playing, just like a click in the stopped wavebar does?

3) Feature request
Since you already issue a PLAY command from STOP via the wavebar and hopefully implement the above feature request (PLAY from PAUSE), the only thing missing would be the possibility to PAUSE playing from the wavebar. Most convenient would be a double leftclick (and not an extra option in the rightclick menu) and thus save a lot of mouse travelling. I hope this kinda makes sense.

Re: Waveform Minibar (mod)

Reply #454
Feature request:
Checkbox to have:
Silent part of sound file (0 at waveform) would render RED line to indicate that there is complete silence.

Why?
I use foobar for various usages. One of them is checking sound assets that will be used in game. I need to sometimes check whether there is complete silence in files or there is faint sound that is shown in waveform as 0 (no peaks visible) but something is still playing back.

Thank you!!

Re: Waveform Minibar (mod)

Reply #455
Hi,

I played some test audio files and when playing a sound that was anti-phased (the same signal but in the opposite phase in both speakers) the wavebar showed nothing (just like silence).
Shouldn't it show a signal? Or if that behaviour is intended how to make the wavebar show something in such circumstances? Maybe there should be seperate bar for each channel?

Re: Waveform Minibar (mod)

Reply #456
It's using a mono mix to generate the waveform.  If your artificial stereo signal is such that a mono mix (A/2 +B/2 ) results in silence, that's what will get saved as the waveform thumbnail.

If you need test signals of that nature, what you could do is temporarily remove one channel and submit the snapshot of that to the database.  Then restore the channel (without changing any of the file details).  So long as you don't then rebuild the thumbnail database, the waveform will be fetched from the database cache and not regenerated from the actual file.
It's your privilege to disagree, but that doesn't make you right and me wrong.

Re: Waveform Minibar (mod)

Reply #457
It's using a mono mix to generate the waveform.  If your artificial stereo signal is such that a mono mix (A/2 +B/2 ) results in silence, that's what will get saved as the waveform thumbnail.

If you need test signals of that nature, what you could do is temporarily remove one channel and submit the snapshot of that to the database.  Then restore the channel (without changing any of the file details).  So long as you don't then rebuild the thumbnail database, the waveform will be fetched from the database cache and not regenerated from the actual file.

If it uses mono mix of the signal what do the upper and lower parts mean? It seems that they aren't just mirror images because sometimes I can see that ex. bottom spikes are different than the upper ones.
How does this component behave when multichannel files are being played - does it downmix all channels to mono or does it downmix just fronts and disregards all the others?

Re: Waveform Minibar (mod)

Reply #458
I would think it's a waveform - music isn't just increases in sound pressure, but a wave with increases and decreases.
Think millionaire, but with cannons.

Re: Waveform Minibar (mod)

Reply #459
I would think it's a waveform - music isn't just increases in sound pressure, but a wave with increases and decreases.
Obviously not the waveform of the actual audio data, but a plot of the peak and average amplitude over time.  Got a better name?

If it uses mono mix of the signal what do the upper and lower parts mean? It seems that they aren't just mirror images because sometimes I can see that ex. bottom spikes are different than the upper ones.
Dunno, but I think you're trying to get more meaning from it than there is.  It's useful to see the upcoming dynamics of a track, especially as a DJ.  It's also more decorative than a plain seek bar.

How does this component behave when multichannel files are being played - does it downmix all channels to mono or does it downmix just fronts and disregards all the others?
No idea.  Is the answer not somewhere in this thread?
It's your privilege to disagree, but that doesn't make you right and me wrong.

Re: Waveform Minibar (mod)

Reply #460
If it uses mono mix of the signal what do the upper and lower parts mean? It seems that they aren't just mirror images because sometimes I can see that ex. bottom spikes are different than the upper ones.

Assuming that Case's modified minibar works the same way that my original components did, the way it processes a waveform is that it divides it up into a fixed number of chunks of roughly even sizes. For each chunk it then finds the minimum and maximum signed value and records that as "min" and "max". It also computes the "RMS" energy of the chunk by squaring all elements, taking their average and then taking the root of that value, a bog-standard "root-mean-square" measurement.

A sequence of those values, however many there are these days, 2048-4096, are used to draw the waveform image as an approximation of the true waveform. For longer waveforms it's going to be a bit biased towards girth, as it's taking the very maximum and minimum values of chunks, and for very short waveform clips it's going to be extremely narrow.

My original seekbar had the ability to process and store individual channels, this primarily driven by that synthetic music like chiptunes and 8-bit NES music tended to have both DC biases and phase cancellation; while the minibars tend to simplify things by downmixing in some manner and consider it Good Enough.

No idea on what happens to multichannel audio for minibars, haven't touched code that since Case gracefully took over development.

Edit: Found my original code on a source host, it did a straight-up channel average of non-mono audio with no consideration of channel purpose.
Stay sane, exile.

Re: Waveform Minibar (mod)

Reply #461
Definitely looks pretty neat for very short tracks. This is from a .umx file that is only about 18 seconds long. Normalized linear scale. I feel like this is somehow relevant. The second one is perhaps even more interesting to look at, and only about 8 seconds long.
Think millionaire, but with cannons.

 

Re: Waveform Minibar (mod)

Reply #462
That's still a healthy amount of samples at ~800k (assuming 18s at 44.1 kHz) which becomes around 194 samples per bucket. It gets worse below that and for clips that have fewer samples than buckets, you're doomed whatever you do.  :D
Stay sane, exile.