OpusEnc --set-ctrl-int параметры

Список разделов Ogg Vorbis Speex и CELT

Описание: Кодеки Speex, CELT и сопутствующее ПО для их использования

Сообщение #1 j7n » 27.08.2015, 11:36

Где розыскать все "advanced" параметры для OpusEnc --set-ctrl-int ?

Я нашел в сети только две:
4004=1104 to force max bandwidth to SWB (12kHz)
4008=1105 to force fullband

Их идентификаторы совсем не понятные! :evil:

Мне собственно интересно есть ли параметр чтобы отключить DC rejection filter (3Hz cutoff). Такой параметр имеется например в Dolby. Я хочу закодировать несколько chiptunes, которые все имеют переменный DC-offset.

Я понимаю что уже не "модно" самому кодеки настраивать, но спор по эту тему начинать не хочу.
j7n
Аватара
Репутация: 1
С нами: 8 лет 7 месяцев

Сообщение #2 Sojindox » 27.08.2015, 17:20

Лично я ничего подобного в исходниках не нашел, видимо это не задекларировано в комментариях.

но за 4008=1105 - спасибо) отписывайся если что найдешь!
Sojindox
Аватара
Откуда: תל-אביב-יפו
Репутация: 21
С нами: 14 лет 11 месяцев

Сообщение #3 j7n » 27.08.2015, 19:51

Я сам не проверял эти параметры, так как не вижу им применения. Я их нашел поиском, где обсуждалось как сделать низкокачественную кодировку для сравнения (low anchor). Если 4080 какой то адрес в памяти, то скорее всего он будет не применим к другим версиям.

DC-rejection у кодека действительно есть.

Изображение

Из-за этого местами растет пиковый уровень, и может возникать клиппинг. Не знаю почему так сделали. Highpass я употребляю только для винила, но с более высокой частоты чем 3 Hz.
j7n
Аватара
Репутация: 1
С нами: 8 лет 7 месяцев

Сообщение #4 Sojindox » 27.08.2015, 22:25

да, это интересно будет обсудить http://www.hydrogenaud.io/forums/index.php?showtopic=109964

разработчик Rockbox Saratoga сказал вот что по этому поводу - I'd say the Vorbis one looks like its clipping more, but if this is a problem, just use replaygain so it won't clip. Its not a good idea to rely on DC anyway, since your DAC probably won't produce it, so you may get clipping anyway on playback.
Sojindox
Аватара
Откуда: תל-אביב-יפו
Репутация: 21
С нами: 14 лет 11 месяцев

Сообщение #5 j7n » 28.08.2015, 00:19

Я не стал спрашивать в HA так-как тут обязательно надо будет предоставить ABX-логи. Я исходил из соображений что в запись не следует внести какие-либо обработки без причин на того. Даже если у меня нет саб-вуфера, и разницу я сейчас не улавливаю.

Спойлер
Много лет назад я обжегся на рекоммендацию использовать пресет "Remove very low and inaudible frequencies" в Sound Forge. Они ведь профессионалы и знают лучше. Не так ли?

"Removing very low and inaudible frequencies after recording eliminates any DC offset and gives your sounds more headroom for audible frequencies."

Но оказалось что данный эквалайзер также убрал басс.

Конечно уменьшить громкость на безопасный уровень всегда разумно, и я это буду соблудать. (the Vorbis one looks like its clipping more..) На скриншоте ясно, что я активировал "зум" чтобы показывать место где работа фильтра отчетливо видна на огибающую одного "инструмента" (шкала слева).

Правда что DC скорее не передается на колонки/наушники. Я записивал музыку из игр через Yamaha OPL-3 (игр периода Doom, Strife, Warcraft, и.т.д). Наблюдал что в Stereo Out, DC еще был, но при записи с другого комьютера, зависило от того подключался ли к усиленному выходу или прямому линейному. Может это зависит от комбинации с конкретным ADC, конденсаторами.

Но это уже как бы оффтопик. Проверил обе параметра на версию с rarewares: действуют. (Но они бесполезны.) Пишите в тему если найдете любые другие настройки. В прошлом году например читал, что один пользователь желал форсировать режим CELT.

Однако...: One limitation you are coming across is that, while the codec has a vast range of potential internal configurations, the current encoders tend to pick what they think is best and not give you a lot of choice. Works well most of the time, but inevitably you will find situations where a different setting would be better.
j7n
Аватара
Репутация: 1
С нами: 8 лет 7 месяцев

Сообщение #6 Sojindox » 28.08.2015, 11:53

А можно тестовый семпл получить?
Sojindox
Аватара
Откуда: תל-אביב-יפו
Репутация: 21
С нами: 14 лет 11 месяцев

Сообщение #7 j7n » 29.08.2015, 10:35

Слышимых разниц нет. Извините, что вводил в заблуждение.
j7n
Аватара
Репутация: 1
С нами: 8 лет 7 месяцев

Сообщение #8 Sojindox » 29.08.2015, 12:54

Xiph.org Speex developer, jmvalin - написал что отключение DC-rejection повлечет за собой повышение шума на 100 Hz.

Слышимых разниц нет. Извините, что вводил в заблуждение.

Да ничего, заходите еще!
Sojindox
Аватара
Откуда: תל-אביב-יפו
Репутация: 21
С нами: 14 лет 11 месяцев

Сообщение #9 Sojindox » 07.09.2015, 18:46

теоретически предполагаю что это отключается в opus_encoder.c (libopus 1.1)
Код: Выделить всё
361   /* Approximates -round(log2(4.*cutoff_Hz/Fs)) */
362   shift=celt_ilog2(Fs/(cutoff_Hz*3));

где тройка означает сами знаете что)

еще нашел как перевести опус в двухканальный режим, без всяких там урезаний, что увеличивает качество L/R ценой более высокого битрейта

Код: Выделить всё
    if (st->force_channels!=OPUS_AUTO && st->channels == 2)
    {
        st->stream_channels = st->force_channels;
    } else {
#ifdef FUZZING
       /* Random mono/stereo decision */
       if (st->channels == 2 && (rand()&0x1F)==0)
          st->stream_channels = 3-st->stream_channels;
#else
       /* Rate-dependent mono-stereo decision */
       if (st->channels == 2)
       {
          opus_int32 stereo_threshold;
          stereo_threshold = stereo_music_threshold + ((voice_est*voice_est*(stereo_voice_threshold-stereo_music_threshold))>>14);
          if (st->stream_channels == 2)
             stereo_threshold -= 1000;
          else
             stereo_threshold += 1000;
          st->stream_channels = (equiv_rate > stereo_threshold) ? 2 : 1;
       } else {
          st->stream_channels = st->channels;
       }

1000 заменить на 4000
P.S.
жаль что мне не хватает мозгов, скомпилировать opus-tools 0.1.9 на g++ , исходники от xiph явно ориентированны на многолетнее долбление бубна...
Sojindox
Аватара
Откуда: תל-אביב-יפו
Репутация: 21
С нами: 14 лет 11 месяцев


Вернуться в Speex и CELT



cron