Author Topic: Waveform seekbar  (Read 10643 times)

Antonski

  • Sr. Member
  • ****
  • Posts: 356
Hi,

I would love to see a seekbar like in audio editors - with waveform of the track currently played.
I've seen this as a component for foobar, but it's too heavy on my laptop.
This is how does it looks like.

.

If such feature is developed for MB, it shouldn't consume so much resources, of course.
I was thinking about some possible realizations, for example;
- seekbar with shape of the waveform of the track (instead of rectangular) - best effect, but almost impossible, I guess.
- wider seekbar with picture of the waveform inside - probably possible, depending on the widget you use
- waveforn as a background of the seekbar - maybe easier for implementation.

So, what do you think, Steven?


zord_majka

  • Guest
It looks really interesting and fancy, but I can't think up any real use case of this. Any idea what's that good for? Just for effect or is there something i haven't thought about? (I'm really interested in replies!)

Maleko12

  • Member
  • Sr. Member
  • *****
  • Posts: 658
I like it for effects, but also to see how compressed the audio actually is. Some albums, like Red Hot Chili Peppers' Californication and Metallica's Death Magnetic are horribly compressed to the point that (for me at least) it hurts to listen. It usually ruins the natural sound of the instruments and vocals as well as making the quiet sections of the song non-existent (or barely noticeable from the loud sections) This trend has been happening mostly due to the fact that CDs (and digital) have a higher maximum peak level than vinyl (in fact, play the same album but one from the CD format, and one from the vinyl format, and you'll notice the vinyl is quieter). Also, the limitations of vinyl prevented it from reaching the loudness/distortion levels of CD (even though the record companies/artists tried). This was done because people will rate the louder sounding audio better than the quieter sounding audio.

Visual:
http://en.wikipedia.org/wiki/File:Cd_loudness_trend-something.gif

Article:
http://en.wikipedia.org/wiki/Loudness_war

In essence... I would love this feature to be in MB :D

Steven

  • Administrator
  • Sr. Member
  • *****
  • Posts: 34359
its probably better off as a standalone panel like in the picture rather than replacing the normal seekbar as it would need to be reasonably wide, much wider than the normal seekbar to be useful. You could still click it to seek to a particular point in the song
Anyone disagree?

Antonski

  • Sr. Member
  • ****
  • Posts: 356
Yes, dynamic range compression is clearly visible, but I can think for another use. Imagine you have a song with more and less louder parts and you want to skip the intro (quiet part in the beginning). Or, you have a concept or live album, where not all tracks are separated. So, you can position the seek ba more precisely at the beginning of next song just pointing the waveform. Well, the second case is not a problem for me because I use Musepack with chapters, but most people use mp3, where chapters and gapless are problematic.
Last Edit: September 12, 2010, 08:10:05 AM by Antonski

Maleko12

  • Member
  • Sr. Member
  • *****
  • Posts: 658
Steven: No disagreements here! I would make this an option though, instead of being a permanent panel of MB.
Antonski: That's a much more practical reason for having the waveform seekbar. Me and my analytical ramblings :)

zord_majka

  • Guest
Good, both use cases sound really usable for me. (BTW if you want to read very good article on Loudness War try this one - http://www.audiodrom.cz/RoadToHellEN.html)

From my point of view, the best place would be on top of the bottom pane. It would be nice to have it "hide-able" an resizable as well.

I'm giving it +1 :-)

Antonski

  • Sr. Member
  • ****
  • Posts: 356
I would place it above the seekbar, but it is also a good place in right pane, above (or below?) the track details.
Last Edit: September 12, 2010, 11:19:54 PM by Antonski

Elberet

  • Full Member
  • ***
  • Posts: 167
Best explanation of how loudness affects audio is IMO this YouTube video: http://www.youtube.com/watch?v=3Gmex_4hreQ
They say, a picture explains more then a tousand words; that'd doubly true for sound when you're reading about music. ;)

A useful application of this suggestion would be replacing the trackbar with a single mono-downmixed waveform. That would give the trackbar additional information: if you wanted to skip to a specific part of your favorite song, you could see where that part begins and find the exactly right position instantly. (The stereo variant with separate waveforms for each channel doesn't add more information, unless you make the trackbar area of the MusicBee main window much, much larger.)

The biggest problem is probably that waveforms don't exactly render themselves. It takes a second or two to decode an entire 6 minute track and convert all those samples into a bitmap, even on beefy CPUs.

Antonski

  • Sr. Member
  • ****
  • Posts: 356
The biggest problem is probably that waveforms don't exactly render themselves. It takes a second or two to decode an entire 6 minute track and convert all those samples into a bitmap, even on beefy CPUs.

Yes, this is a problem with the FB plugin, one should wait few seconds for start of the playback until the waveform is generated, watching some message "Please wait...", instead of listening music :(

In MB implementation this addon should not hurt the performance, it should be run in background, with low priority maybe and the playback should not wait until the waveform is ready.
About downmixing to mono - you are probably right, but what if both channels are very different?
On the other hand, it is not very convenient to display 6 waveforms if the sound is 5.1. Maybe there could be a settings stereo/mono waveform?
Anyway, I think Steven will find the best way.
Last Edit: September 13, 2010, 12:32:56 PM by Antonski

zord_majka

  • Guest
A useful application of this suggestion would be replacing the trackbar with a single mono-downmixed waveform. That would give the trackbar additional information: if you wanted to skip to a specific part of your favorite song, you could see where that part begins and find the exactly right position instantly. (The stereo variant with separate waveforms for each channel doesn't add more information, unless you make the trackbar area of the MusicBee main window much, much larger.)

In MB implementation this addon should not hurt the performance, it should be run in background, with low priority maybe and the playback should not wait until the waveform is ready.

I agree with both.

Elberet

  • Full Member
  • ***
  • Posts: 167
About downmixing to mono - you are probably right, but what if both channels are very different?

Then you're either listening to some pretty weird music or synthetic files. :) (Or possibly audiobooks.)

Joke aside, any features you're most likely to recognize visually in the waveform will most likely appear in both channels - such as drum hits or a solo guitar. If a sound is coming exclusively from one side, the other speaker will either be rather silent for the full effect, or it'll be overshadowed by louder sounds anyways.

one should wait few seconds for start of the playback until the waveform is generated, watching some message "Please wait...", instead of listening music :(

Wow, great way to turn nice eyecandy into an annoying misfeature. :o Luckily, Steven apparently knows how to use threads, so I'm fairly sure that, if he ever sets his mind to fiddling with eyecandy instead of more important features, he'll do it properly. ;)

Antonski

  • Sr. Member
  • ****
  • Posts: 356
About downmixing to mono - you are probably right, but what if both channels are very different?

Then you're either listening to some pretty weird music or synthetic files. :) (Or possibly audiobooks.)

Or some ancient pseudo-stereo album, or some psychedelic classic etc.

But yes, in general you are probably right.
Last Edit: September 16, 2010, 02:36:36 PM by Antonski