О формате
DTS расшифровывается как Digital Theater System и представляет собой систему lossy кодирования многоканального звука, разработанную одноименной компанией с подачи Стивена Спилберга. Дебют системы состоялся с выходом первой части «Парка юрского периода». DTS является прямым конкурентном во многом схожей системы Dolby Digital.
Сегодня данный формат используется не только в кинопрокате, но также и в сфере бытовой аппаратуры, например для кодирования дорожек DVD-Video.
Кроме того, DTS имеет и другие нестандартные применения. Например, используется для кодирования многоканального аудио и последующей передачи его через S/PDIF (данный интерфейс не поддерживает передачу несжатого многоканального звука).
Другим интересным применением, о котором и пойдет речь, является формат DTS-WAV. Фактически это поток DTS в контейнере WAV, причем полностью соответствующий стандарту PCM 16 bit/44.1 kHz. То есть, это PCM WAV файл, полностью соответствующий спецификации Red Book (Audio CD), который можно даже воспроизвести. Однако при воспроизведении без специального декодирования мы услышим только шум, т.к. в PCM содержатся на самом деле закодированные данные. Эта уловка была придумана затем, чтобы подобное DTS аудио можно было легко записать на обычный CD носитель в формате CD Audio. Далее этот диск можно воспроизвести на устройствах, имеющих специальный декодер DTS. Дабы отличить данные диски от обычных Audio CD, эти устройства предварительно проверяют поток на наличие в нем DTS и решают, использовать декодер DTS или нет.
Как прослушать
На компьютере формат DTS можно воспроизвести с помощью foobar2000 с плагином DTS Decoder. С недавних пор этот плагин работает как постпроцессор (раньше он было опционально включаемым обработчиком DSP), т.е. находится в тракте плеера непосредственно после декодера:
Это позволяет сохранять поток в исходном виде до поступления его на декодеры таких форматов как DTS и HDCD (практически любая обработка повредит данные и сделает их декодирование невозможным).С вышеописанным плагином foobar2000 поддерживает воспроизведение DTS-CD, DTS-WAV (формат *.wav или *.dtswav) и Coherent Acoustics DTS файлов в собственном контейнере *.dts.
Как кодировать
Существует только один бесплатный консольный кодер DTS, и тот появился относительно недавно. Именно его, т.е. DCAENC, мы и будем использовать. Также нам понадобится foobar2000 с плагинами.
Подробно процесс кодирования описан в статье Принципы настройки конвертера foobar2000, я же опишу только основные моменты.
Параметры кодировщика устанавливаем следующие:
-i - -o %d -b 1411.2 -l
Подразумевается, что кодировать мы будем из 5.1 источника. Я для примера взял DVD-Audio в формате 24 bit/96 kHz/5.1 channels. На выходе нам надо получить частоту дискретизации 44.1 кГц, потому в DSP следует добавить ресемплер:
После кодирования на выходе мы получим набор файлов формата *.dts. Теперь их необходимо инкапсулировать в PCM WAV файлы. Для этого будем использовать утилиту SoX — прямо из foobar2000, через плагин Run Service.
Распакуйте архив и поместите все файлы в папку foobar2000/tools/SoX/ (имеется ввиду папка, куда установлен foobar2000.exe). Затем добавьте новый сервис:
\tools\SoX\dts2wav_dir.bat "$directory_path(%path%)\"
Теперь важно, чтобы все наши DTS файлы находились в одной папке. Добавьте один из них в плейлист foobar2000, нажмите правой кнопкой и выберите Run Service -> dts2wav (folder). Вы увидите консольное окно, в котором отображается процесс последовательного преобразования всех DTS файлов в папке.
После завершения преобразования в папке окажутся файлы *.dts.wav — то самое DTS-WAV аудио. Можете проиграть его в foobar2000: не смотря на то, что в свойствах файла будет указано PCM 2 channels, при воспроизведении foobar2000 отобразит в панели состояния «DTS ... 6ch».
Теперь дело за малым. Надо всего лишь аккуратно записать эти файлы на CD диск (как Audio CD, не диск с данными). Во-первых, это можно сделать через всё тот же foobar2000 с плагином Audio CD Writer. Для этого установите плагин и включите отображение соответствующего пункта в контекстном меню (пункт Convert -> Write audio CD). При записи все обработчики должны быть выключены. Кроме того — очень важный момент — плагин записи пока далек от совершенства, и потому в нем нет опции отключения постпроцессинга. Таким образом fooba2000 декодирует DTS в 5.1 PCM и затем пытается записать это на диск (что конечно же невозможно, потому программа выдает ошибку). Исходя из этого, следует, что перед записью необходимо временно удалить плагин DTS Decoder.
К сожалению, запись Audio CD в foobar2000 на некоторых оптических приводах не работает. В таком случае можно воспользоваться еще более надежным методом — функцией записи в Exact Audio Copy. Эта программа позволяет установить коррекцию смещения записи, и таким образом избежать потери семплов в начале или конце диска. Алгоритм записи через EAC изложен мною в тесте «Страдает ли качество звука при записи/чтении Audio CD». Подробно почитать о настройках EAC можно на этом сайте.
В общем-то, можно использовать и другие программы записи. Главное, чтобы они не выполняли декодирование DTS потока, и вообще какую-либо обработку.
Итак, мы записали наш диск— DTS-CD готов. Можем проиграть его в foobar2000 (обратно установив декодер DTS, если вы конечно его удаляли):
Кстати, тут есть одно замечание. Поначалу, когда я пытался воспроизвести записанный DTS-CD, плеер почему-то вдруг вылетал. К счастью, я додумался, что дело в проверке DTS формата, т.е. плагин не может прочитать какую-то сигнатуру и выдает критическую ошибку. Так и есть — оказалось, что плеер теряет начальные семплы из-за смещения (read offset) дисковода. После установки коррекции смещения (File -> Open Audio CD -> Drive Settings) в foobar2000 диск воспроизвелся успешно.
Впрочем, разработчик декодера обещал это неприятное падение исправить.
О компрессии DTS-WAV
Как известно, постпроцессор DTS также поддерживает декодирование потока из сжатых без потерь источников — FLAC, Wavpack и TAK. Однако, надо заметить, что сжатие DTS потока lossless аудио кодеками крайне неэффективно. Дело в том, что указанные кодеки заточены исключительно под сжатие аудио данных, относительная избыточность которых в среднем составляет около 30%, т.е. в среднем lossless кодеки уменьшают размер аудио относительно несжатого формата на 30%. Поток DTS, напротив, является вовсе не аудио данными, а кодом сжатого по lossy алгоритму аудио, избыточность которого в идеале стремится к нулю. С точки зрения аудио данный код является шумовым сигналом, предсказать который практически невозможно, т.е. предикторы lossless кодеков оказываются бесполезны. В итоге мы получаем очень низкую степень сжатия.
Таким образом, например, созданные по описанной выше методике DTS-WAV lossless сжатию не подлежат вообще. FLAC даёт на выходе идентичный битрейт (1411 кбит/с), а кодеры TAK и WavPack даже повышают (!) его. Это говорит о хорошем алгоритме сжатия DTS и отсутствии нулевых битов, неиспользованных для кодирования полезной информации.
Теперь возьмем образ реального DTS-CD диска Marvin Gaye — Forever Yours. При сжатии треков все три кодера выдали битрейт в районе 1250 кбит/с (сжатие на 12% — всё равно очень мало). А вот если сжать DTS-WAV, извлеченные с диска, тем же 7-Zip упаковщиком, мы получим сжатие уже 15%. В то же время 7-Zip проигрывает lossless кодекам по сжатию реальных аудио данных чуть ли не в два раза. Это еще раз подтверждает, что lossless аудио кодеки совершенно непригодны для сжатия DTS-WAV.
Кстати, архиватору 7-Zip таки удалось выручить 8% сжатия для закодированных с помощью DCENC DTS-WAV файлов. Это я к тому, что использовать lossless кодеки, например, для раздачи рипов DTS-CD не имеет смысла. Лучше воспользоваться тем же архиватором 7-Zip с алгоритмом LZMA2.
Информация от спонсора
Мир ККМ: полный спектр услуг, касающихся контрольно-кассовой техники. Здесь Вы можете приобрести, зарегистрировать ККМ, кассовые аппараты, заказать обслуживание кассовой техники и прочие сопутствующие услуги.