LINUX.ORG.RU

AGRESS - новый прогрессивный аудиокодек на основе wavelet-сжатия

 agress, , , ,


0

0

Название AGRESS получается, если поиграть со словами Audio и proGRESSive. Программа agcodec позволяет прогрессивно кодировать аудиофайлы. Файлы должны быть в формате WAV: 8 либо 16 бит, стерео либо моно режим, частота дискретизации может быть любой. Полученный при этом agress-файл можно воспроизвести при помощи плеера agplay, который идет в комплекте.

Реализован agcodec крайне просто: вначале исходный файл делится на фреймы (размер которых можно указать в командной строке), затем к каждому фрейму применяется вейвлетное преобразование Добеши 9/7 и алгоритм кодирования SPIHT (Set Partitioning in Hierarchical Trees).

Психоакустическое моделирование и прочие оптимизации пока не применяются. Другими словами, данный проект пока носит скорее демонстрационный характер.

Скорость работы кодера очень сильно зависит от выбранных настроек. Более того, алгоритм практически симметричен по времени. Это означает, что скорость кодирования равна скорости декодирования. Это прежде всего объясняется особенностью алгоритма SPIHT.

Другими словами, agcodec достаточно требователен к ресурсам компьютера, но несмотря на это, на достаточно мощной машине возможно как кодировать, так и декодировать аудио CD-качества в реальном времени.

>>> Подробности

★★

Проверено: hibou ()

Ответ на: комментарий от An12

>Если расширение файлов будет .agress, пользоваться им пе буду.

застарелая привычка к 8.3? бугога

black7
()
Ответ на: комментарий от vasaka

Это называется эффект хомяка. Утащу всё, лишь бы забить объем. Чтоб такой объем отфильтровать надо непрерывно слушать музыку наверно целый год.

Reset ★★★★★
()

Позитивная новость.

Даешь agress!

Преимущества прогрессивного кодирования (progressive encoding) в новости не упомянуты. Progressive encoding в отличие от sequential encoding сначала передает самую значимую информацию, поэтому позволяет делать управляемую деградацию звука при ограничении пропускной способности канала. Также позволяет хранить на диске одну единственную копию файла и отдавать его с разной скоростью разным клиентам в зависимости от пропускной способности клиента.

По всей видимости основные применения: интернет телефония, интернет радио, архивное хранение диктофонных записей.

Подойдет ли для портитивных плееров - неясно. Там играет существенную роль энергия, затрачиваемая на декодирование.

sign
()
Ответ на: комментарий от Reset

ну так я и слушаю ее уже сколько лет. не непрерывно, конечно.

хомячество в этом какое-то есть. но все же пишется оно не чтобы забить объем, а потому что оно уже префильтровано и шансов что в записанном лажа не так уж и много.

vasaka ★★★
()
Ответ на: комментарий от sign

> Преимущества прогрессивного кодирования (progressive encoding) в новости не упомянуты.

Они упомянуты по ссылке из новости.

> Подойдет ли для портитивных плееров - неясно.


Нет, да и для домашнего применения тоже нет.

Lumi ★★★★★
()

Опробовал сабж. И правда, возможно очень даже ничего будет для передачи голоса, и кодируется вроде достаточно быстро ("Скорость работы кодера очень сильно зависит от выбранных настроек"). Пусть будет.

DreamDragon
()

> Другими словами, agcodec достаточно требователен к ресурсам компьютера, но несмотря на это, на достаточно мощной машине возможно как кодировать, так и декодировать аудио CD-качества в реальном времени.

Э-э-эх! На достаточно мощной машине и в MPEG2, а то и в MPEG4 видео можно кодировать и даже декодировать.

Vest
()
Ответ на: комментарий от vasaka

> хомячество в этом какое-то есть. но все же пишется оно не чтобы забить объем, а потому что оно уже префильтровано и шансов что в записанном лажа не так уж и много.

в одном терабайте, тем более непрослушанной, лажи 90%, я тебе это гарантирую

Reset ★★★★★
()
Ответ на: комментарий от Reset

и ошибаетесь. вы же не знаете как эта сборка делалась, а процесс организован так что лажу минимизирует.

если смотреть статистически - примерно из 300 гигабайт прослушанного стерто было около 50, а ведь методика префильтрации совершенствуется со временем.

vasaka ★★★
()
Ответ на: комментарий от vasaka

Известно как, унесем из интернета все что только можно. Это ж надо умудриться засрать терабайт одной только музыкой. То что не прослушано или прослушано всего лишь 1 раз спокойно можно отправлять в /dev/null, так как слушаться оно в 99% больше не будет.

Методика по принципу "кто с кем играл" или "все альбомы от одного музыканта и его знакомых" не работает. Для того, чтобы не засирать винчестер шлаком достаточно почитать обзоры и на пробу скачать одну, максимум две песни с альбома.

Reset ★★★★★
()
Ответ на: комментарий от Reset

работает, проверено. к тому же это не единственный префильтр, есть еще знакомые со схожими вкусами.

ну и если тащить из инета все - одних академиков терабайт 10 наберется, не меньше.

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

vasaka ★★★
()
Ответ на: комментарий от vasaka

а вообще тут примерно такой же переход количества в качество как в случае с free software.

начиная с какого-то количества свободного софта в доступе gnu системы становится конкурентоспособными.

тут несколько другой переход. можно не зацикливаться на одних и тех же любимых мелодиях. это как перелезть с домашних bbs(помните такое явление?) в интернет.

vasaka ★★★
()
Ответ на: комментарий от Reset

и интернет - помойка, но возвращаться на bbs как-то не хочется

vasaka ★★★
()
Ответ на: комментарий от Reset

>в одном терабайте, тем более непрослушанной, лажи 90%, я тебе это гарантирую

Кто бы в тебе сомневался?!

Led ★★★☆☆
()
Ответ на: комментарий от Reset

>Ну во free software тоже 90% это шлак :)

Если ЛОР - это зеркало "free software", то так и есть (включая Reset'а)

Led ★★★☆☆
()
Ответ на: комментарий от DNA_Seq

>Знаешь, как человек занимавшийся сведением скажу - wave 16 бит 44 кгц то еще дерьмо. Вот 32 бита 192 килогерца звучит гораздо лучше

То, что сейчас называют 32 бит - это ни что иное как 32-bit float - тоесть формат с плавающей запятой, с общей суммой бит (включая множитель) равной 32. В итоге мы получаем сигнал с резанным динамическим диапазоном - 256 кусков по 24 бит (24/8 бит). Пользы от этого формата по сравнению с 24 битами - ровно ноль, так как для перехода на диапазон ниже обязательное условие - чтоб не было более громких звуков. Есть ли хоть одна запись, у которой динамический диапазон хотя бы близко достигал 144 дБ (разница между 0 дБ и шумовым порогом в 24 битах) ? Кстати у человека разумного динамический диапазон слуха равен 130 дБ - от тиканья наручных механических часов в метре от уха в тихой комнате, и до крови из ушей. Тем более на тихой границе диапазона нету смысла выжимать качество, так как о таких звуках человек по большей части догадывается чем реально слышит.

Поэтому не ведитесь на рекламу всяких там adobe audition, где рассказывают об уникальном 64битном процессинге. Кроме требований к ресурсам системы и забитым временным папкам, этот чудо-процессинг ни к чему не приводит. Качество алгоритмов процессинга все равно сведет все преимущества на нет. Все эти форматы с большими цифрами - для студийной обработки, когда сигнал много раз записывается и перезаписывается, а учитывая обязательное ухудшение параметров сигнала после каждой записи-перезаписи и делают все эти навороченные форматы типа 24/96 и 24/192. Снижение этих цифр вниз говорит о величине увеличения шумового порога при каждой перезаписи, вторая - падение высоких частот соответственно.

Насчет "то еще дерьмо" - бедняжко, как же вы слушаете отмастеренные треки? В какой формат они мастерятся, а?

fooser
()
Ответ на: комментарий от fooser

>То, что сейчас называют 32 бит - это ни что иное как 32-bit float - тоесть формат с плавающей запятой, с общей суммой бит (включая множитель) равной 32

да, я в курсе. Просто компу 32-битное число "удобнее" обрабатывать чем 24-битное

>? Кстати у человека разумного динамический диапазон слуха равен 130 дБ - от тиканья наручных механических часов в метре от уха в тихой комнате, и до крови из ушей.


при этом каждые 10 децибел - это прирост в два раза. Поэтому у усилителя с отношением сигнал-шум в районе 90 дб если прислушатся искажения слышны а со 100 дб нет инет смысла покупать аппаратуру с соотношением 110

>Все эти форматы с большими цифрами - для студийной обработки, когда сигнал много раз записывается и перезаписывается


более того только там lossless и нужен потому что даже небольшое искажение сигнала может сильно повлиять на итоговый результат

>Насчет "то еще дерьмо" - бедняжко, как же вы слушаете отмастеренные треки? В какой формат они мастерятся, а?


да я мп3 192 кбита нормально слушаю. Просто подчеркиваю что pcm 16 бит 44 далеко не вершина технической мысли а lossless нужен только для архивного хзранения. И соответственно в 20-меговый файл можно было бы запихнуть больше слышимой информации при lossy с более высоким разречением

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

>при этом каждые 10 децибел - это прирост в два раза.

Ошибаетесь :) 10дБ - увеличение мощности звука в 10 раз!! (вспомните формулу, там десятичный, а не двоичный логарифм).

>да я мп3 192 кбита нормально слушаю. Просто подчеркиваю что pcm 16 бит 44 далеко не вершина технической мысли а lossless нужен только для архивного хзранения. И соответственно в 20-меговый файл можно было бы запихнуть больше слышимой информации при lossy с более высоким разречением

А вот в этом согласен.

А вообще, не вижу смысла в вейвлет-сжатии звука: на слабых машинах и карманных flash-проигрывателях это вряд ли будет работать (например, видео, сжатое с использованием вейвлетов, можно смотреть только на "крутых" компьютерах).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> 10дБ - увеличение мощности звука в 10 раз!! (вспомните формулу

В нормальном европейском (не китайском) децибеле формула всегда была такая

K(db) = log(Kx)*20

Поэтому 10-кратный прирост - это 20 дБ. И шкала приростов для быстрого подсчета всегда была такая:

6 дб = 2 раза

14 дБ = 5 раз

20 дБ = 10 раз

Поэтому например посчитать 50кратный прирост (34 дБ) становится несложно просто сложив децибелы из таблицы.

>Просто подчеркиваю что pcm 16 бит 44 далеко не вершина технической мысли а lossless нужен только для архивного хзранения

Странное у вас впечатление о лосси и лосслесс. Лосслесс формат - это такой, который при записи не вносит никаких искажений (кроме искажений дискретизации и квантования, которые есть у любого цифрового звуконосителя), а лосси формат - это формат который для экономии места жертвует некоторыми нюансами и подробностями в звуке. Но не просто делает музыку примитивнее, а убирает нюансы там где их обычно никто не заметит, например уберет сопение гитариста при исполнении партии с дисторшном на дикой громкости. Поэтому особого смысла повышать разрядность лосси форматов смысла нету - те подробности так и не появятся, для того чтобы они появились проще увеличить битрейт. Это полюбому окажется экономнее в плане занимаемого места, чем увеличение разрядности.

>Просто компу 32-битное число "удобнее" обрабатывать чем 24-битное

ему совершенно пофигу какое число обрабатывать

fooser
()
Ответ на: комментарий от fooser

>В нормальном европейском (не китайском) децибеле формула всегда была такая > K(db) = log(Kx)*20

Посмотрите: http://ru.wikipedia.org/wiki/Децибел

Так что логарифм - десятичный. :)

> Поэтому 10-кратный прирост - это 20 дБ.

20дБ - десятикратный прирост _амплитуды_, а не мощности (о которой, как раз и была речь).

Смысл же хранить музыку в lossless формате есть лишь для тех, кто эту музыку пишет и сводит. Потому что рядовой обыватель никакой разницы между ogg 256кбс и каким-нибудь flac'ом не заметит. Те, кто утверждает, что слышит разницу - ловит хороших глюков :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

>Посмотрите: http://ru.wikipedia.org/wiki/Децибел >20дБ - десятикратный прирост _амплитуды_, а не мощности (о которой, как раз и была речь)

Вы свой пруфлинк внимательно читали? Измеряется в децибелах напряжение на выходе звукового тракта. А чему равны децибелы по напряжению? м?

>Так что логарифм - десятичный. :)

А с чего вы так твердо уверены в том что я говорю не о десятичном логарифме?

fooser
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.