mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.38k stars 1.26k forks source link

ogg vorbis 96k sample rate recording not working #10444

Open mixxxbot opened 2 years ago

mixxxbot commented 2 years ago

Reported by: atskler Date: 2021-06-18T17:52:05Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp1932587


ogg vorbis 96k sample rate recording is not working in Mixxx:

» OGG recording is not supported. OGG/Vorbis library could not be initialized. «

Recording is OK with 44.1k and 48k sample rates.

Could this be fixed for mixxx v2.3 release?

Because: In first round I observed I can achieve lower and more stable playback latency with higher sample rates, on the other hand higher sample rates will eat the hdd while recording sets. Because of this I thought I would use ogg vorbis format recording – this format is mature enough and provides great quality. -- Lame mp3 will resample its input to 48k and ffmpeg’s acc is not good enough, and opus accepts only 48k (and currently broken in Mixxx).

If I’m right ogg vorbis can accept sample rates up to 192kHz.

„Vorbis is also intended for lower and higher sample rates (from 8kHz telephony to 192kHz digital masters) and a range of channel representations (monaural, polyphonic, stereo, quadraphonic, 5.1, ambisonic, or up to 255 discrete channels).”

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2021-06-18T22:53:33Z


I can confirm the issue, however I can not confirm that Mixxx runs more stable with 96k it. It needs to process twice the amount of samples which should take more CPU and not less.

Also the error message is confusing.

I am afraid all changes to for this issue will not go into 2.3 because this is too risky just before the release.

mixxxbot commented 2 years ago

Commented by: atskler Date: 2021-06-19T10:09:32Z


On stability I mean running JACK without xruns.

Somewhat more stable settings:

Sample rate: 96000 Frames/Period: 256 Periods/Buffer: 3 (This gives 8msec latency – reported by JACK).

Somewhat less stable settings:

Sample rate: 48000 Frames/Period: 128 Periods/Buffer: 3 (This gives 8msec latency – reported by JACK)

mixxxbot commented 2 years ago

Commented by: daschuer Date: 2021-06-19T10:27:51Z


Strange, the 96000 version needs definitely more CPU inside Mixxx, to process the double amount of data. I can imagine that there is an issue with your ALSA settings that there is an extra resampling stage somewhere.

Which type of media do you use? If it are mostly CD rips with 44.1k you may try that as well.

What is the reason for using Jack by the way?

This might be an interesting read: https://mixxx.org/news/2021-05-09-jack-zero-latency/

mixxxbot commented 2 years ago

Commented by: atskler Date: 2021-06-19T11:04:02Z


Thank you, I will check it.

I read on many sites that "Sample rate refers to the amount of samples which are carried per second. The higher the sample rate, the lower the latency. Higher samples rates however also put additional stress on the CPU." ... "Some cards only do 44100, many will go much higher. The higher you go, the lower your latency, but the better your card and your CPU have to be, and software has to support this as well."

By the way I used this guide for setting latency values in JACK (I have a Rubix 24 USB interface):

List of JACK Frame [or Buffer] & Period settings ideal for USB interface https://wiki.linuxaudio.org/wiki/list_of_jack_frame_period_settings_ideal_for_usb_interface