nick42d/youtui

Noise during playback

Closed this issue · 8 comments

Really unsure about the possible cause, but playback with youtui has a faint crackling noise present in higher frequencies. I only noticed when I listened to classical music on headphones. I compared the same tracks with youtui and the YT Music web UI (various browsers), and it's only there with youtui.

I've no idea where in the chain of Rodio, cpal, Symphonia (or even elsewhere) the problem may be. Happy to test if you tell me what :)

I'm on Linux, so I expect the output is through ALSA to Pipewire.

Hi there, going to be a tricky one. It's possible this is RustAudio/rodio#584. Could you please list a particular song that this was noticeable on?

Experimenting here with picking a higher quality audio stream, you're welcome to give it a go: https://github.com/nick42d/youtui/tree/iss143-test-audio-quality

Experimenting here with picking a higher quality audio stream, you're welcome to give it a go: https://github.com/nick42d/youtui/tree/iss143-test-audio-quality

That fixes it.

Experimenting here with picking a higher quality audio stream, you're welcome to give it a go: https://github.com/nick42d/youtui/tree/iss143-test-audio-quality

That fixes it.

Nice one. There was a reason I initially selected low quality audio - high quality audio often caused rodio to fail to decode. However, rodio and rusty_ytdl have received some upgrades since then. I will run some tests on this before pushing.

Just as a reference, this is the track I used to test it in the diff. versions and in the browsers:

image

But it's clearly audible in all other tracks I tried, too. I just didn't notice over speakers before.

Out of curiosity, do you know what the LowestAudio actually means in terms of specs? Seems strange they even have such s*it source available...

Out of curiosity, do you know what the LowestAudio actually means in terms of specs? Seems strange they even have such s*it source available...

Not off the top of my head I'm afraid, although I believe some digging around and running queries with rusty_ytdl could uncover this. https://docs.rs/rusty_ytdl/latest/rusty_ytdl/enum.VideoQuality.html

This seems to be safe to implement, PR #150 will be merged if it passes CI. Note it will increase download time a little, so this would be a good future target for configuration.