На Gitorius опубликован (http://gitorious.org/dtsenc) исходный код dcaenc, первого свободного кодировщика DTS (http://en.wikipedia.org/wiki/DTS_%28sound_system%2... поддерживающего основные возможности базовой спецификации DTS Coherent Audio. В настоящее время реализация поддержки многих расширений стандарта, таких как DTS-HD, осложнена отсутствием открытых спецификаций. Ввиду этого автор проекта, Александр Патраков, пока что не планирует поддержку никаких расширений кроме Xch.
В состав проекта dtsenc также входит модуль для ALSA, который нуждается в тестировании сообществом. Александр готов выпустить первую официальную версию кодировщика после того, как функционирование модуля на конкретном оборудовании будет подтверждено.URL: http://gitorious.org/dtsenc
Новость: https://www.opennet.ru/opennews/art.shtml?num=31461
хотелось бы вкратце понять, чем этот кодек отличается от овер 9000 других
википедия как то не прояснила картины
Кодек отличается от других тем, что его вывод понимается аппаратными декодерами, подключенными к SPDIF, и соответствует одному из стандартов для хранения передачи многоканального звука в бытовой технике.
> В настоящее время реализация поддержки многих расширений стандарта, таких как DTS-HD, осложнена отсутствием открытых спецификаций. Ввиду этого автор проекта, Александр Патраков, пока что не планирует поддержку никаких расширений кроме Xch.А почему не планируешь писать расширение стандарта?
Отсутствие открытых спецификаций, всмысле "не понятно как оно работает" или "боюсь патентных троллей" ? =)
Отсутствие открытых спецификаций. Сейчас все расширения, кроме Xch, игнорируются при проигрывании ffmpeg'ом.
> Отсутствие открытых спецификаций, всмысле "не понятно как оно работает" или "боюсь патентных
> троллей" ? =)"не понятно как оно работает"
высококачественный многоканальный lossless звук, хотя flac вроде тоже умеет...
DTS умеют играть многие плееры.
> высококачественный многоканальный lossless звук, хотя flac вроде тоже умеет...
> DTS умеют играть многие плееры.Не lossless. Идея в том, чтобы загнать многоканальный звук в битрейт, влезающий в SPDIF или на CD/DVD.
через spdif жеж вполне пролазит 24-bit 192kHz stereo, тобишь чуть более 9 мегабит, чего достаточно для 16-bit, 48kHz 7.1 (для которых надо 6мегабит). Проблема, я так понимаю, в стандарте, в котором ничего более stereо не определено.
То есть сейчас звук в фильмах с дтс выводится с ухудшеным качеством?
> То есть сейчас звук в фильмах с дтс выводится с ухудшеным качеством?Да, если колонки подключены аналоговым проводом, в качестве декодера используется ffmpeg или libdca, а в видеофайле используется какое-либо расширение DTS. Такое бывает в BluRay-рипах.
Я решаю другую проблему - 5.1 flac невозможно передать через SPDIF, т.к. не влезает. Поэтому приходится кодировать на лету с потерями в AC3 (это было до меня) или в DTS.
ЦАП преобразование всёравно происходит, даже при использовании SPDIF, только не в компьютере, а в приёмнике данных. Если есть хорошая звуковая карта, то качество будет не хуже.
Саш, через мои руки как-то проходила звуковая карта, у которой SPDIF был сделан "стеклом". Туда тоже не влезает -- это ограничение стандарта какое-то?
> Саш, через мои руки как-то проходила звуковая карта, у которой SPDIF был
> сделан "стеклом". Туда тоже не влезает -- это ограничение стандарта какое-то?Туда тоже не влезает из-за ограничения "два канала или сжатый звук".
А почему только ALSA? Без oss4 оно как-то не интересно.
> А почему только ALSA? Без oss4 оно как-то не интересно.Да! Хотелось бы услышать, как _живой _реальный разработчик пошлёт в поля проприертарщиков и их друзей б3дешников?
Мне непонятно (т.к. документацию по OSS я не читал), как в OSS4 вообще возможно перенаправление звука от произвольных приложений (а еще лучше - всего микса) в мою библиотеку. Ведь приложения открывают /dev/dsp и ничего про нее не знают. Верно ли, что ее придется запихивать в ядро?LD_PRELOAD, конечно, для отдельного приложения сработает, но это хак.
Вы путаете живых реальных разработчиков и фанатиков.
Потому, что по линуксом оно почти никому не нужно. А кому надо, могут портировать. Опенсорс же.
Код проекта распространяется под лицензией LGPL.
Я считаю пользователи BSD не в восторге :)И да, искажатели звука они везде, они по всюду.
> Я считаю пользователи BSD не в восторге :)Объясни, почему? Многие библиотеки под GPL и LGPL (GCC, coreutils, groff, gdb, less) работают в базовой системе. Хотя от них постепенно стараются избавиться заменив их аналогами, имеющими то же лицензионное соглашение, что и основная система, но это не обусловлено какой-то срочностью.
DTS кодек под LGPL может вызвать вопросы о его внедрении в код потребительских устройств, содержащие проприетарные программные компоненты, но так как этот кодек заточен под инфраструктуру Linux ядра, естественно, лучше ему иметь ту же лицензию, что и его инфраструктура (без которой он не может работать).
Ещё почему-то Google выпускает свой кодеки (VP8, например) под BSDL. Тут, наверное, прослеживается вопрос с кросс-плаформенностью кода: код для ALSA/Linux должен быть под той лицензией, которая используется в окружении ALSA, а именно — GPL/LGPL, чтобы иметь "бесшовную" интеграцию со свободным продуктом. В то время, как кодеки под BSDL не имеют привязки к конкретным особенностям программного обеспечения и их лицензий и должны иметь больший манёвр в сочетании с программным кодом, распространяемым под различными непермиссивными (например, GNU GPL) и проприетарными (EULA) лицензиями. То есть, кодек под BSDL имеет ту же самую "бесшовность" на всех типах программно-аппаратных комплектов, что и кодек под GPL/LGPL в сочетании с ALSA и мощной инфраструктурой Linux.
Вы его под Солярис потянуть собрались, что ли?Просто у меня давно собран audio/alsa-lib, и я как-то не парюсь...
> Вы его под Солярис потянуть собрались, что ли?
> Просто у меня давно собран audio/alsa-lib, и я как-то не парюсь...ALSA портит звук. Такое впечатление, что она выдает два потока с небольшим смещением. К чему приводит, думаю понятно - интермодуляция вещь очень нехорошая. OSSv4 работает честно, сравнивалось с аппаратным CD-player'ом, так что на софт не спишешь. Поэтому, если замахиваться на качественный звук(а иначе зачем DTS?, есть же mp3), то поддержку OSSv4 предусматривать надо.
Насколько мне известно, ALSA портит звук (но не так, как написано выше) только если не использовать высококачественный плугин для изменения частоты дискретизации. По умолчанию действительно получается металлический оттенок.Прошу проверить гипотезу "виноват плохой плугин" такой командой: mplayer -ao alsa:device=hw=0 file.flac , тем самым звук пойдет на карту без обработки плугинами. Еще не помешает указать тип звуковой карты.
А насчет планов по поддержке OSS4 я уже сказал - если для этого надо лезть в ядро, пусть эту поддержку пишет кто-нибудь другой, исходники открыты. Или пусть мне объяснят, как можно прикрутить эту поддержку, не залезая в ядро и без LD_PRELOAD.
Вдогонку: на BSD-системах пакет тоже по идее должен собираться, но, естественно, без ALSA-плугина. Библиотека и утилита командной строки для преобразования wav в dts остаются.
> Насколько мне известно, ALSA портит звук (но не так, как написано выше)
> только если не использовать высококачественный плугин для изменения частоты дискретизации.
> По умолчанию действительно получается металлический оттенок.
> Прошу проверить гипотезу "виноват плохой плугин" такой командой: mplayer -ao alsa:device=hw=0
> file.flac , тем самым звук пойдет на карту без обработки плугинами.
> Еще не помешает указать тип звуковой карты.
> А насчет планов по поддержке OSS4 я уже сказал - если для
> этого надо лезть в ядро, пусть эту поддержку пишет кто-нибудь другой,
> исходники открыты. Или пусть мне объяснят, как можно прикрутить эту поддержку,
> не залезая в ядро и без LD_PRELOAD.Эээ... У меня альсы нет уже второй год. То есть вообще нет, ядро пересобрано без нее. Так что проверить не могу, увы.
OSSv4 содержит ядерный модуль и юзерспейс. Но общаться с ним можно через /dev/dsp. Вроде как этого достаточно и в ядро лезть не надо.
OK, нашел. Это, вероятно, "oss_userdev" или "oss_audioloop", надо будет поиграться в виртуальной машине. Но сначала разобраться с "бульканьем" на реальном железе.
Сорри, карта Audigy 2.
Ох какой раритет =)
жаль Aureal купили, крутая контора была)
Очень рад что появился первый (если я конечно ничего не упустил) открытый DTS-Encoder. Огромное спасибо за труд!
Мне от энкодера хотелось бы реализации перекодировки DTS с понижением битрейта (с 1536 до 768 кбит/с), либо же обеспечения совместимости с существующими на сегодняшний день транскодерами.
В частности eac3to http://forum.doom9.org/showthread.php?t=125966 умеет цеплять проприетарные DTS энкодеры для конвертации звуковых дорожек.
Если бы возможно было в перспективе организовать непосредственное транскодирование DTS с минимальными потерями без конвертации в wav - это было бы замечательно!
> Мне от энкодера хотелось бы реализации перекодировки DTS с понижением битрейта (с 1536 до 768 кбит/с)Декодера DTS в моем проекте не будет. Проблемы в следующем:
1) Для написания кодера из wav достаточно поддержать только ту часть стандарта, которую кодер будет использовать (сейчас, например, векторное квантование не используется - соответственно, нет кода, который это поддерживает), декодер же обязан поддерживать стандарт на все 100%. 100% стандарта я поддерживать не буду, т.к. некоторые его части даже сейчас нереализуемы на стороне кодировщика в реальном времени.
2) Для принятия решения, какие именно поддиапазоны надо огрубить для понижения битрейта, нужна психоакустическая модель. Все психоакустические модели работают на PCM.
P.S. за все время с момента публикации новости я смог связаться только с одним тестировщиком, да и то только на форуме, а не по e-mail. Если дело и дальше так пойдет, похоже, проект придется убить. Пишите письма, email см. в README!