HydrogenAudio

Hosted Forums => foobar2000 => General - (fb2k) => Topic started by: Andreas T on 2018-07-01 15:07:48

Title: Scrubbing
Post by: Andreas T on 2018-07-01 15:07:48
I have searched and searched the forums about scrubbing and not found much to explain why this fundamental feature isn't part of foobar2000 or if it is even in the pipeline. Can someone please update/explain.
Title: Re: Scubbing
Post by: jazzthieve on 2018-07-01 15:41:02
Could you explain what scrubbing exactly is?
Title: Re: Scubbing
Post by: Andreas T on 2018-07-01 16:08:50
Scrubbing is the term given to the action of moving the playhead and hearing/seeing the media updating in real-time. Most professional media players and  time-based content-creation tools support scrubbing.
Title: Re: Scrubbing
Post by: lvqcl on 2018-07-01 16:41:42
Most professional media players
For example? I wonder how an audio player can be professional...

and  time-based content-creation tools
foobar2000 is definitely not a content-creation tool.
Title: Re: Scrubbing
Post by: musicmusic on 2018-07-01 16:52:29
I could be wrong, but I thought holding Shift while dragging the seek bar did that.
Title: Re: Scrubbing
Post by: Andreas T on 2018-07-01 23:55:24
I could be wrong, but I thought holding Shift while dragging the seek bar did that.

I just tested this and it only works with the default seekbar and even then it doesn't work well since it applies the configured fading values. Fading should be disabled while scrubbing. But not only that, one has to scrub really, really slowly for the audio to even start playback and then it does it in stuttering chunks. Compare this to opening the same FLAC track in VLC and scrubbing there: scrubbing is the default action and it happens in true real-time really smoothly across the whole track. Now the default seekbar could include an option for making real-time scrubbing the default but first the scrubbing has to be fixed.

The other problem is that scrubbing isn't necessarily implemented by third-party seekbars such as the Waveform Seekbar that I'm using. However, there's no point contacting the developer about this until scrubbing works properly by the default seekbar since I suspect that both seekbars make use of some foobar2000 API that is at the core of the problem.
Title: Re: Scrubbing
Post by: Andreas T on 2018-07-02 00:11:36
I just realised I formulated a very similar post back in 2009 (interestingly that post didn't show up in my search that lead me to this repost)...

https://hydrogenaud.io/index.php/topic,75925.0

That's a long time to go without much improvement to a core feature. However, I am interested in the suggestion about using some other component together with scripting (I already make use of the JScript Panel) but I do fear that the issue lies at the core of foobar2000 and can't be worked around.
Title: Re: Scrubbing
Post by: EpicForever on 2018-07-02 12:58:21
I am not saying, that my understanding of English is perfect or even very good, but I still don't get what is that scrubbing thing and most importantly what improvement or usage scenario it represents.
Title: Re: Scrubbing
Post by: Andreas T on 2018-07-02 14:57:57
I am not saying, that my understanding of English is perfect or even very good, but I still don't get what is that scrubbing thing and most importantly what improvement or usage scenario it represents.

https://www.webopedia.com/TERM/A/audio_scrubbing.html

https://en.wikipedia.org/wiki/Scrubbing_(audio)

Scrubbing isn't just for DAWs and editors but players as well. It allows the user to quickly locate the section of the song they may be interested in for whatever reason.

Note that what foobar2000 does when holding down the shift key isn't really scrubbing but more like seeking...

https://manual.audacityteam.org/man/scrubbing_and_seeking.html

Here's how scrubbing is done on the iPhone.

https://www.youtube.com/watch?v=CPp7gLQnCW8

And this iPhone scrubber enhancement app is simply cool... :)

http://www.idownloadblog.com/2016/02/24/seeker/

Audacity has a really complex scrubbing/seeking implementation...

https://www.youtube.com/watch?v=9rrDOhj_4GY

However, all that is needed in foobar2000 is basic scrubbing like what VLC implements.
Title: Re: Scrubbing
Post by: j7n on 2018-07-02 17:30:18
For me scrubbing doesn't work when Shift is held down in recent Foobar versions, it always seeks to the chosen position upon release of the mouse button. I have several Foobars installed, and scrubbing only works in 0.8-0.9.4.5. From 0.9.5 forward, the seekbar behaves differently: dragging the mouse far away from it keeps the seekbar focused, where in older versions the seekbar was automatically released, permitting to "cancel" a seek. Are there any settings for the behavior of the seekbar?

I haven't really used scrubbing in an audio editor. The clicks or changes in speed are distracting. In Foobar, without fading, the scrubbing is quite choppy, and with long fades to DirectSound output (unconfigurable in 0.9.4), I can hardly hear anything. Maybe the seeking could apply a compromise shorter fade.
Title: Re: Scrubbing
Post by: Case on 2018-07-02 17:31:42
I'm highly confused now. I thought you mean real time seeking where the player doesn't require releasing the mouse button to activate the seek action. But I see no change in seek behavior in foobar2000 with shift, my iPhone's music app requires releasing the finger to activate seek, the Audacity thing you linked is some custom third party experiment and not what Audacity actually supports. I did hear nasty noise during seeking in VLC but I don't see how it's helpful at all.

But if foobar2000 works with shift as you want you can disable seek fades under Preferences -> Playback -> Output.
Title: Re: Scrubbing
Post by: musicmusic on 2018-07-02 18:50:18
Quote
But I see no change in seek behavior in foobar2000 with shift
Yes, as @j7n pointed out I was remembering a behaviour in older versions of the Default UI (which I copied in Columns UI).

I can only recall encountering the word 'scrubbing' in this context on my iPod touch. There, it's pretty much like the video above – the further you move away from the seek bar the more precise/slower seeking becomes (and the text above the seek bar changes from high-speed scrubbing to things like half-speed scrubbing and fine scrubbing). Playback updates as you drag (with a bit of throttling) on my old iPod touch, but maybe that depends on the iOS version if it doesn't on your iPhone, Case...
Title: Re: Scrubbing
Post by: tedsmith on 2018-07-03 01:13:35
Tho implementing jog and shuttle wasn't too hard, implementing scrubbing with a mouse in Windows 1.04 was a pain since the slower you move the mouse the more granular the incoming deltas (which was just when we needed the smoothest, most accurate data), we had to use an adaptive model that predicted when the mouse would stop as if it were a continuous control.  When done, our customers really did like "rocking the reels" with the mouse to locate edits, etc.
Title: Re: Scrubbing
Post by: Andreas T on 2018-07-03 15:50:48
The best explanation of scrubbing is to place an audio track in a sequence in Premiere Pro and then move the play-head around. The scrubbing in Premiere sounds very good and happens in real-time.

If you don't have Premiere, you can try it in VLC by opening a track. However, in VLC you have to first hit play before you can move the play-head around to hear the scrubbing. VLC's scrubbing is in real-time but doesn't sound as good as Premeire's. It's good enough, though.

About the fade in/out in foobar2000 and the settings you're referring to. I did find the fad in/out values and I did change them. That did get rid of the fade behaviour but the playback was still far from real-time.
Title: Re: Scrubbing
Post by: fuflo on 2018-07-03 18:19:27
I have to say, the term scrubbing is a really odd choice for what it means in this context.
Maybe it's just me, a non english native and not in the audio production field.

The first time I read the headline of this topic, I thought it would be something about cleaning up audio, noise- or otherwise.
Title: Re: Scrubbing
Post by: tedsmith on 2018-07-03 21:59:50
The first time I heard someone rocking the reels, scrubbing seemed like the perfect name...  (An lot like scratching for DJs.)  For some reason jog and shuttle transport controls also made simple sense to me.
Title: Re: Scrubbing
Post by: Coreda on 2018-07-03 22:19:13
For me scrubbing doesn't work when Shift is held down in recent Foobar versions, it always seeks to the chosen position upon release of the mouse button. I have several Foobars installed, and scrubbing only works in 0.8-0.9.4.5. From 0.9.5 forward, the seekbar behaves differently: dragging the mouse far away from it keeps the seekbar focused, where in older versions the seekbar was automatically released, permitting to "cancel" a seek. Are there any settings for the behavior of the seekbar?

Until reading this thread I wasn't aware earlier foobar versions had this feature. I was looking (https://hydrogenaud.io/index.php/topic,112251.0.html) for something similar years ago (links to an even earlier question of mine) after being used to JetAudio's feature.
Title: Re: Scrubbing
Post by: EpicForever on 2018-07-04 07:56:14
So if I get correctly, scrubbing is like disrupting of vinyl playback with your finger? It plays 33 RPM, but then you speed it up with your finger for a few turns, then slow it down, even extremely, and eventually play it backwards (without releasing vinyl from finger pressure in the meantime)? Is this all the fuss about? If yes, then developers please NEVER implement it in foobar or in any existing 3rd party seekbar. Apart from the fact that accordingly to what I know about for example playing backwards in foobar, this will never happen without complete redesign of the playback core and general philosophy of how audio stream is treated by the app.
Title: Re: Scrubbing
Post by: Coreda on 2018-07-04 15:12:12
So if I get correctly, scrubbing is like disrupting of vinyl playback with your finger? It plays 33 RPM, but then you speed it up with your finger for a few turns, then slow it down, even extremely, and eventually play it backwards (without releasing vinyl from finger pressure in the meantime)? Is this all the fuss about? If yes, then developers please NEVER implement it in foobar or in any existing 3rd party seekbar. Apart from the fact that accordingly to what I know about for example playing backwards in foobar, this will never happen without complete redesign of the playback core and general philosophy of how audio stream is treated by the app.

I'm not sure how the vinyl sounds in such a case so can't comment if it's similar. In JetAudio's case I believe it wasn't purely a speed increase but some combination of tempo and pitch. I also don't think JetAudio actually played anything truly in reverse either but instead played tiny fragments in the forwards direction in rapid, joined succession as you rewound, allowing one to find the section of the track desired while seeking backward.

Unless one has used it for long-form audio like talks or podcasts I'm not sure it's easy to appreciate its utility, but it does help. How I get something vaguely similar in foobar2000 currently is by pressing the seek forward/back hotkeys in rapid bursts so I can make out snippets of the audio as it seeks forwards/backwards.