Audiophile's Software
  • Страница 1 из 1
  • 1
Модератор форума: mrmerak, krivenchenko  
Форум » Кодирование аудио » Консольные кодеры » Кодирование аудио 24bit 48-96-192KHz в 16bit 44KHz
Кодирование аудио 24bit 48-96-192KHz в 16bit 44KHz
Xever
Группа: Проверенные
Сообщений: 50
Статус: Оффлайн
Подскажите пожалуйста, как это делать максимально качественно и правильно? Интересует даунсэмплинг как во FLAC 16/44, так и в AAC 16/44.
Horizon-4
Группа: Проверенные
Сообщений: 187
Статус: Оффлайн
Сам никогда не храню звуковые файлы с параметрами 24bit 96-192KHz, переделываю их в 16bit 48 KHz. Почему выбираю 48, а не 44,1 кГц? Я исхожу из того, что в случае 48 кГц размер файла несущественно больше по сравнению, если бы была выбрана частота 44,1 кГц. Во-вторых, частота 48 кГц кратна частотам 96 и 192 кГц - здесь исходя из инженерного опыта (радиотехника - умножители и делители частот) логически предполагаю, что теоретически преобразование в частоту 48 кГц даст меньше погрешностей при прочих равных условиях. На качество конвертирования частоты влияет ресемплер, здесь есть большая статья на эту тему. Сам пока использую программу xrecode II, вариант не самый лучший, скорее всего, но на слух разница не выявляется. Тоже хотел бы посмотреть обзор программ (32-х и 64-х битные), которые качественно преобразуют аудио 24bit 48-96-192KHz в 16bit 44KHz.
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Вот же целая статья - https://audiophilesoft.ru/publ/my/16_44/11-1-0-36
Или что-то в ней смущает?
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Среда, 02 Мая 2018, 22:13
Xever
Группа: Проверенные
Сообщений: 50
Статус: Оффлайн
Horizon-4Rollinnn,
Спасибо за информацию, буду использовать 16/48 и SOX, а 24/48 в 16/48, 24/44 в 16/44 разумно переводить?

Кстати, вот здесь на скриншоте Passband установлен на 95%, не нужно его поднять до 100%?
https://audiophilesoft.ru/articles/24-96--16-44/sox.png
Сообщение отредактировал Xever - Четверг, 10 Мая 2018, 15:50
Horizon-4
Группа: Проверенные
Сообщений: 187
Статус: Оффлайн
Цитата Xever ()
а 24/48 в 16/48, 24/44 в 16/44 разумно переводить?
Я думаю, что разумно и всегда оставляю у себя переделанные таким образом файлы. Я исхожу из следующего, 1) ощутимо уменьшается размер файла, а теоретическое снижение качества на слух никак не выявляется; 2) снижение качества связано с увеличением шума квантования при понижении разрядности, но параметры качества обычного CD (44,1 кГц/16 бит) настолько высоки, что их зачастую трудно в полной мере реализовать практически; 3) увеличение разрядности ИКМ увеличивает и цену ошибки (чем выше разряд, тем значимей и ошибка возникшая по той или иной причине), об этом тоже много написано.
Xever
Группа: Проверенные
Сообщений: 50
Статус: Оффлайн
Цитата Horizon-4 ()
Я думаю, что разумно и всегда оставляю у себя переделанные таким образом файлы.
Да, проверил, разница в размере между 16 и 24 битами примерно в два раза. Сейчас довольно много WEB релизов в 24/48, надеюсь, foobar2000 корректно понижает битность.

Но вот разница в размере между 24/192 и 16/48 просто поразила, 112 Гбайт против 19 Гбайт, почти в 6 раз. crazy

В foobar2000 есть ещё другие ресемплеры, dBpoweramp/SSRC и PPHS, но SoX считается лучшим на сегодняшний день?
Сообщение отредактировал Xever - Суббота, 12 Мая 2018, 16:44
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
И небольшое замечание по конвертированию из hi-res в 16/44 лично от меня.

Использование ресемплера может в некоторых случаях приводить к возникновению слышимых щелчков между треками. Видео с демонстрацией проблемы - https://youtu.be/KYvIA116JsY. Но в видео описан очень долгий и неудобный способ решения проблемы.
Сейчас проблема решается просто использованием новой версии (0.8.4) ресемлера SoX для фубара - https://goo.gl/dq6E5p (для работы нужен фубар 1.3.x + установленный в системе MSVC 2017 (https://aka.ms/vs/15/release/VC_redist.x86.exe) ИЛИ фубар 1.4 и выше) или новой версии SRC ресемплера - http://www.foobar2000.org/components/view/foo_dsp_src_resampler (для работы нужен фубар 1.4 и выше). В этих новых версиях используется экстраполяция сигнала в начале и в конце трека для предотвращения щелчков между треками.
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Воскресенье, 13 Мая 2018, 15:43
Xever
Группа: Проверенные
Сообщений: 50
Статус: Оффлайн
Цитата Rollinnn ()
И небольшое замечание по конвертированию из hi-res в 16/44 лично от меня.
Спасибо большое, очень вовремя, даже по прошествии стольких лет всплывают баги. А откуда Вы этот новый SoX взяли, на гидрогене ещё 0.8.3 версия? И есть ли "mode" версии?
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Цитата Xever ()
даже по прошествии стольких лет всплывают баги.
Это не баг на самом деле.

Цитата Xever ()
А откуда Вы этот новый SoX взяли, на гидрогене ещё 0.8.3 версия? И есть ли "mode" версии?
На гидрогене и взял - https://hydrogenaud.io/index.php/topic,115734.0.html
mod версий 0.8.4 пока нет
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Ig0r18
Группа: Проверенные
Сообщений: 31
Статус: Оффлайн
В SoX 0.8.4 исправлена только эта проблема со щелчками? Думаю, тогда не стоит конвертировать винил-рипы заново, там щелчки и так обычное дело crazy
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Цитата Ig0r18 ()
В SoX 0.8.4 исправлена только эта проблема со щелчками?
А с SoX'ом или плагином для фубара были какие-то ещё проблемы, чтобы их исправлять?
0.8.4 при работе с фубаром 1.4 использует динамическую линковку билиотек (как и все плагины, написанные с использованием нового SDK от 1.4), что уменьшает шансы столкнуться с проблемой, описанной здесь - https://hydrogenaud.io/index.php/topic,103210.0.html и здесь - https://hydrogenaud.io/index.php/topic,110142.0.html
И, на всякий случай, уточню, что проблема со щелчком между треками - не проблема SoX'а, а проблема ресемплеров вообще. С dBPoweramp/SSRC щелчок на файлах из примера получается ещё громче. И с iZotope RX получается щелчок (во всяком случае со стандартными настройками). И, кстати, файлы в примере - рип с винила.
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Четверг, 17 Мая 2018, 21:30
Vlad777
Группа: Проверенные
Сообщений: 4
Статус: Оффлайн
Всем доброго дня. Помогите разобраться начинающему меломану. Задача: качественное понижение FLAC.
При сравнении Xrecode 3 и foobar, обратил внимание, что даже если выбрать в Xrecode самый "крутой" Dither - Triangular witch High Pass, результат гораздо слабее чем при включенном Dither в foobar. Под результатом я имею в виду плотность "белого шума" в верхнем диапазоне.
Мне не понятно какой вариант лучше, чем больше тем лучше (foobar) или золотая середина (xrecode)?
Так же наткнулся на плагин "Smart Dither" https://www.foobar2000.org/components/view/foo_dsp_dither
Я так понимаю это альтернатива встроенному, с возможностью гибкой настройки. Какие настройки выбрать? Если выкрутить все на максимум (встроенный конечно отключаем) примерно то же получается как при работе встроенного Dither.
Интересны так же пики которые усиливаются в 2000 и 4000 при работе встроенного Dither и Smart Dither на максимуме. На что влияют?



Прикрепления: 9472947.jpg(61.7 Kb) · 6540249.jpg(66.3 Kb) · 6846839.jpg(64.2 Kb) · 2646248.jpg(62.7 Kb)
Сообщение отредактировал Vlad777 - Понедельник, 06 Мая 2019, 21:59
rhythm
Группа: Проверенные
Сообщений: 21
Статус: Оффлайн
кст тоже интересно, но хз как сравнить, для foobar есть еще mda Dither DSP ( от того же кодера, что и Smart Dither )

foobar int vs TPDF vs mda
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Главное, что нужно помнить: при обычном прослушивании музыки никто не услышит разницы между разными методами дизеринга.
Простой Triangular (он же TPDF) является стандартным и самым простым алгоритмом и даёт одинаковые результаты независимо от программы - и в Xrecode и в Smart Dither и в mda.
Triangular с Highpass слегка понижает уровень шума в слышимом диапазоне, вытесняя шум в высокочастотный диапазон, но делает это по очень простому алгоритму.
Встроенный дизеринг фубара использует алгоритм Shibata (откуда я знаю, что Shibata? Это можно определить по картинкам с АЧХ - http://sox.sourceforge.net/SoX/NoiseShaping), который вытесняет шум в высокочастотную область по более сложному алгоритму, учитывающему различную чувствительность человеческого уха в зависимости от частоты (https://ru.wikipedia.org/wiki....BA%D0%B)
Картинка с более наглядным сравнением:
Красный - исходный сигнал 1 кГц с уровнем -100 дБ 24 бита, оранжевый - дизеринг фубара, жёлтый - smart dither 1 bit без highpass, зелёный - - smart dither 1 bit с highpass, розовый/сиреневый - xrecode triangular with highpass. Файлы - https://yadi.sk/d/8kK8zMGVrhKbug


Если кому интересно, какой была бы слышимая разница, если бы её можно было услышать, то узнать это очень просто: нужно увеличить громкость шума дизеринга и послушать. Файлы с увеличенной громкостью - https://yadi.sk/d/WBFHN8_bfdFzRQ Из всех вышеупомянутых алгоритмов на мой взгляд встроенный в фубар "звучит" лучше. Когда-то я таким образом проводил сравнение и с другими алгоритмами и на мой слух единственным алгоритмом лучше фубаровского оказался MBIT+(он же MegaBitMax).

Вот, есть ещё статья о методах/алгоритмах дизеринга - https://audiophilesoft.ru/publ/theory/bitdepth/6-1-0-14
Прикрепления: 7569191.png(182.2 Kb)
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Вторник, 07 Мая 2019, 18:39
Vlad777
Группа: Проверенные
Сообщений: 4
Статус: Оффлайн
Спасибо. Очень наглядный ответ! Решил остановиться на дизеринге фубара.
NikosColev
Группа: Проверенные
Сообщений: 6
Статус: Оффлайн
Цитата Rollinnn ()
...ИЛИ фубар 1.4 и выше)...

С любым из встроенных ресемплеров?

Настраиваю f2k 1.6 - SoX, по прежнему, лучший выбор?
Сообщение отредактировал NikosColev - Воскресенье, 06 Сентября 2020, 18:59
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Цитата NikosColev ()
С любым из встроенных ресемплеров?
В предложении говорилось о том, что для работы SoX 0.8.4 нужен фубар 1.3+MSVC или же просто фубар версии 1.4 (или выше).

Ну а опция "Don't resert DSP between tracks" предотвратит появление межтрековых щелчков при ресемплинге с любым ресемплером, да. Она работает на 100% правильно только с версии фубара 1.4.6.

Цитата NikosColev ()
SoX, по прежнему, лучший выбор?
Да.
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Воскресенье, 06 Сентября 2020, 21:30
qwerta38
Группа: Проверенные
Сообщений: 2
Статус: Оффлайн
Чтобы не плодить новых тем спрошу здесь.
Я сижу под линуксом и столкнулся с проблемой файлы .dff/.dsf под ним нормально не играются. Нашел способ конвертации. Импортировать в audacity и уже через неё конвертнуть в 44100-16bit. Но вопрос как это будет правильней?
Вариант 1: Обрезать частоты выше 20кГц, усилить на 5-6 Дб, а потом преобразовать частоту дескретизации в 44,1к.
Вариант 2: Сначала изменить частоту дескретизации, а затем усилить.
Horizon-4
Группа: Проверенные
Сообщений: 187
Статус: Оффлайн
Действительно, если посмотреть спектрограмму файла с частотой дискретизации больше 44...48 кГц,
то она оказывается значительно шире, чем при частоте 44...48 кГц.
Думаю, что audacity не лучший вариант для преобразования. Начнём с того, что там есть настройки
качества преобразования, это здесь: Правка → Параметры → Качество →
Также нужно определиться с Подмешиванием шума, причём настройку качества нужно задать и в режиме обработки и 
при сохранении.
Обрезать частоту с 20...22 кГц наверно лучше после снижения частоты дискретизации.
Усилить на 5-6 Дб - если не будет перегрузок. А так увеличить громкость до максимума без перегрузок - это
использовать нормировку. Но есть один нюанс. После выполнения нормировки очень часто в треках
появляется постоянная составляющая, которая может быть ощутима в паузе даже при громкости 0 дБ, что видно по
индикаторам уровня; можно чётко определить её также, выделив НЧ-полосу из трека.
В интернете на этот счёт пишут, что она (постоянная составляющая) вредна и от неё нужно избавляться,
есть даже плагины для этого. В  audacity от неё можно избавится, применив шумоподавление (максимальное и
возможно двухкратное), взяв в качестве "шумового" образца кусок паузы, Ели паузы нет, то до нормировки
в конце или начале трека нужно вставить кусок тишины (2-3 секунды), потом вырезать. 
На данный момент я использую для Кодирование аудио 24bit 48-96-192KHz в 16bit 44KHz  программу
XRecode III (64-разрядную); нужно уточнить, берёт ли она файлы .dff/.dsf и работает ли под линуксом.
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
qwerta38, т.к. Вы ремеплируете в 44.1, то нет смысла предварительно обрезать высокие частоты. Ресемплирповать, затем усилить.

Цитата Horizon-4 ()
(постоянная составляющая) вредна и от неё нужно избавляться,
есть даже плагины для этого. В audacity от неё можно избавится, применив шумоподавление (максимальное и
возможно двухкратное), взяв в качестве "шумового" образца кусок паузы,
Вообще-то проще:
Цитата
Audacity's DC removal method performs a calculation to make the average positive and negative sample values equal. To perform removal, choose Effect > Normalize..., with the option checked "Remove any DC offset (center on 0 vertically)". Uncheck the "Normalize maximum amplitude..." box unless you want to run Normalize as well
https://manual.audacityteam.org/man/dc_offset.html#Removing_DC_offset
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Воскресенье, 04 Октября 2020, 19:09
qwerta38
Группа: Проверенные
Сообщений: 2
Статус: Оффлайн
т.к. Вы ремеплируете в 44.1, то нет смысла предварительно обрезать высокие частоты. Ресемплирповать, затем усилить.
Во втором варианте у меня так и указано. Да и быстрее так происходит обработка. Но вопрос возник из теоретический соображений. После первого и второго варианта размер файлов flaс - различен. Не получается ли так что при работе первого варианта конечный вариант более приближен к исходному чем во втором? Я так понимаю когда усиливаем исходный 706,5кГц сигнал он должен точнее отработаться программным усилителем, чем при 44,1.
Rollinnn
Группа: Эксперты
Сообщений: 1363
Статус: Оффлайн
Цитата qwerta38 ()
После первого и второго варианта размер файлов flaс - различен.
Так ведь тдельный lowpass фильтр в Audacity и lowpass фильтр в ресемплере режут частоты не совсем одинаково.
FLAC1.3.3NOSSE Opus1.3.1NOSSE LAME3.99.5ICL12.1 Monkey'sAudio4.10(NOSSE2) ffmpeg от 2019.08.30 для Windows XP и процессоров без SSE2-static/shared
Сообщение отредактировал Rollinnn - Понедельник, 05 Октября 2020, 01:43
Форум » Кодирование аудио » Консольные кодеры » Кодирование аудио 24bit 48-96-192KHz в 16bit 44KHz
  • Страница 1 из 1
  • 1
Поиск: