Организация Xiph.Org, занимающаяся разработкой свободных видео- и аудиокодеков, представила (http://lists.xiph.org/pipermail/opus/2017-June/003922.html) релиз аудиокодека Opus 1.2.0 (http://opus-codec.org/), который отличается высоким качеством кодирования и минимальной задержкой как при сжатии потокового звука с высоким битрейтом, так и при сжатии голоса в ограниченных по пропускной способности приложениях VoIP-телефонии.
Ключевые новшества (https://people.xiph.org/~jm/opus/opus-1.2/) Opus 1.2:
- Проведена работа по увеличению качества передачи голоса в диапазоне полосы пропускания 12-20 kbit/s. Значительно улучшена реализация гибридного режима передачи голоса, при котором для частот до 8 kHz применяется SILK, а с 8 до 20 kHz - CELT. Для повышения качества передачи голоса проведена настройка психоакустических (https://jmvalin.ca/papers/aes135_opus_celt.pdf) методов. Обеспечено более агрессивное занятие более широкой полосы пропускания при передаче голоса, включая начало передачи с битрейтом 14 kbit/s;- Улучшена реализация кодирования с переменным битрейтом (VBR) для гибридных режимов, кодировщик теперь использует VBR и для низких битрейтов, вплоть до 32 kb/s;
- Проведена работа по увеличению качества передачи музыки в диапазоне битрейта 32-48 kbit/s. Если изначально Opus обеспечивал приемлемое качество только для битрейтов 64 kb/s и 96 kb/s, то применение улучшенной техники кодирования с переменным битрейтом позволило добиться возможности кодирования музыки с битретеми 32-48 kbit/s без возникновения слышимых артефактов;
- Проведена обширная оптимизация, которая позволила снизить нагрузку на CPU и увеличить производительность. Внесены как общие оптимизации качества кода, так и задействованы специфичные процессорные инструкции SSEx для x86 и Neon для ARM. Улучшение качества кода определения типа CPU позволила включить аппаратные оптимизации на этапе компиляции даже при использовании старых CPU;
- Поддержка прямого кодирования кадров, продолжительностью 80, 100 и 120 мс, без применения repacketizer, который получал кадр в 120 мс путём объединения двух кадров по 60 мс;
- Для режима CELT представлена поддержка DTX (https://ru.wikipedia.org/wiki/Discontinuous_transmission) (Discontinuous transmission, остановка передачи во время пауз в разговоре);- Улучшено качество передачи с постоянным битрейтом (CBR) в режиме SILK при низких битрейтах;
- Улучшена реализация техники упреждающей коррекции ошибок (FEC, forward-error correction), полезной в условиях большой потери пактов в канале связи. FEC теперь может применяться на более низких битрейтах (до 24 kb/s), чем раньше, и учитывается при распределении битового потока в гибридном режиме;
- Для платформы Windows реализация Opus теперь поставляется в видео одной библиотеки, без выделения SILK и CELT в разные библиотеки;
- Реализована, но пока не добавлена в стандарт, поддержка режима сферического объёмного звучания Ambisonics (https://en.wikipedia.org/wiki/Ambisonics), востребованного в системах виртуальной реальности. В Opus 1.2 уже поддерживается метод прямого кодирования каналов ambisonics, но пока отсутствует матричное кодирование.Напомним, что кодек Opus создан путем комбинации лучших технологий из разработанного организацией Xiph.org кодека CELT (http://www.celt-codec.org/) и открытого компанией Skype кодека SILK (https://www.opennet.ru/opennews/art.shtml?num=25802). Кроме Skype и Xiph.Org в разработке Opus также приняли участие такие компании, как Mozilla, Octasic, Broadcom и Google. Opus отличается высоким качеством кодирования и минимальной задержкой как при сжатии потокового звука с высоким битрейтом, так и при сжатии голоса в ограниченных по пропускной способности приложениях VoIP-телефонии. Ранее Opus был признан (https://www.opennet.ru/opennews/art.shtml?num=24259) лучшим кодеком при использовании битрейта 64Kbit (Opus обогнал (http://opus-codec.com/comparison/) таких конкурентов, как Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC). Из продуктов, поддерживающих Opus из коробки, можно отметить браузер Firefox, фреймворк GStreamer и пакет FFmpeg.
Эталонные реализации кодировщика и декодировщика Opus распространяются (http://opus-codec.org/license/) под лицензией BSD. Полные спецификации формата общедоступны, бесплатны и утверждены в качестве интернет-стандарта. Все используемые в Opus патенты предоставлены участвовавшими в разработке компаниями для неограниченного пользования без выплаты лицензионных отчислений. Все связанные с Opus интеллектуальные права и лицензии на патенты автоматически делегируются для использующих Opus приложений и продуктов, без необходимости дополнительного согласования. Отсутствуют ограничения на область применения и создание альтернативных сторонних реализаций. При этом все предоставленные права отзываются в случае развязывания затрагивающего технологии Opus патентного разбирательства против любого пользователя Opus.
Основные возможности Opus:
- Битрейт от 6 до 510 Kbit/s;
- Частота дискретизации от 8 до 48KHz;
- Продолжительность кадров от 2.5 до 120 миллисекунд;
- Поддержка постоянного (CBR) и переменного (VBR) битрейтов;
- Поддержка узкополосного и широкополосного звука;
- Поддержка голоса и музыки;
- Поддержка стерео и моно;
- Поддержка динамической настройки битрейта, пропускной способности и размера кадра;- Возможность восстановления звукового потока в случае потери кадров (PLC);
- Поддержка до 255 каналов (многопоточные кадры)
- Доступность реализаций с использованием арифметики с плавающей и фиксированной запятой.
URL: http://lists.xiph.org/pipermail/opus/2017-June/003922.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=46734
Судя по примерам кодирования на https://people.xiph.org/~jm/opus/opus-1.2/ хрипов и эффектов "бочки" стало меньше на очень низких битрейтах.
"Эталонные реализации кодировщика и декодировщика Opus распространяются под лицензией BSD".
- А, чистота патентов то как понимаю - не гарантируется...
Дочитывайте до конца прежде чем комментировать.
"Все используемые в Opus патенты предоставлены участвовавшими в разработке компаниями для неограниченного пользования без выплаты лицензионных отчислений."
> "Эталонные реализации кодировщика и декодировщика Opus распространяются под лицензией
> BSD".
> - А, чистота патентов то как понимаю - не гарантируется...
> BSDЯ так понимаю, кое-кто увидел знакомое слово и сразу бросился в газовую атаку? Зря.
http://opus-codec.org/license/
> Opus has a freely available specification, a BSD-licensed, high-quality reference encoder and decoder, and protective,
> royalty-free licenses for the required patents.
> The copyright and patent licenses for Opus are automatically granted to everyone and do not require application or approval.
Осталось найти провайдера который предоставляет voip по opus
а есть те кто ещё нет?
Полно
При кодировании источника с частотой семплирования 44100 Hz всё так же передискретизирует в 48000?
> При кодировании источника с частотой семплирования 44100 Hz всё так же передискретизирует
> в 48000?Это при декодировке он передискретизирует. Можено форсировать другую частоту, например opusdec --rate 44100. Внутреннее там вообще, похоже, нет такого понятия как частота сэмплирования (также как и bits per channel). Откуда он берёт 48 кГц? Думаю, что из настроек ALSA.
Кодировщик заточен под 48000 Hz. При желании можно обмануть его и закинуть в него файл с 44100 Hz, но качество при этом упадет, потому что сломаются психоакустические алгоритмы.
Позиция авторов однозначная - ресемплера бояться не надо. Были эксперименты, в которых измеряли уровень вносимых искажений. Там настолько низкие значения, что если они тебя волнуют, то нужно вообще отказаться от кодеков с потерями - любой кодировщик при любом битрейте вносит больше искажений.
Ну, вопрос качества (и соответственно прожорливости) ресемплера, но для голосового кодека - логично.
> любой кодировщик при любом битрейте вносит больше искажений.Уж не знаю, как там в опусе, но я сейчас с ужасом вспомнил алсовский SRC_SINC_FASTEST. Совсем вот прямо не бояться? Прям нисколечки?
Нормальных - да, не бояться. От всяких ускоренных режимом держаться подальше.
Вот тут есть сравнение всяких разных ресемплеров: http://src.infinitewave.ca
В стандартной реализации Opus используется ресемплер из libspeex. Вариант не идеальный, но довольно качественный. Более того, разрабы не стали выкручивать в нем все настройки на максимум, а взяли что-то среднее - так работает быстрее и на слух незаметно.
Спасибо - я помнил про этот тест, но нагуглить не мог. Вот только libspeex они пока не тестировали (или же я просто не нашел его в списке).
В общем, глянул на сравнение ресемплеров к foobar (http://audiophilesoft.ru/publ/my/foo_resamplers/11-1-0-34), там speex выглядит достаточно неплохо.
но midi всё ещо недосягаем?
midi????? для чего?
> midi????? для чего?Для сферического объёмного звучания в вакуме :)
Извиняюсь за странную аналогию, но "векторное" описание того, как следует сыграть мелодию, по сути нотная тетрадь, коей является midi, и "растровая" запись готового исполнения — это немного разные вещи.
Аналогия очень хорошая, чего извиняться-то.
Допустим если перегонять альбом из FLAC в opus, сколько битрейта будет достаточно для 99% слушателей?
> Допустим если перегонять альбом из FLAC в opus, сколько битрейта будет достаточно
> для 99% слушателей?128 kbps с лихвой хватит. Даже не всякий аудиофил на хорошей аппаратуре отличит.
Пруфы?
Поищите на Hydrogenaudio — там народ занимается тестированием и сравнением кодеков.Здесь утверждается, что в 128 kbps результат очень близок к прозрачному (неотличимому от оригинала): http://wiki.hydrogenaud.io/index.php?title=Opus#Music_encodi...
Но ссылки на тесты я там вижу только для 64 и 96 kbps.
Ну вот и я ничего лучше не нашёл. Кстати, насчёт аудиофилов и хорошего оборудования: https://cdvsmp3.wordpress.com/cd-vs-itunes-plus-blind-test-r.../ и http://archimago.blogspot.de/2014/06/24-bit-vs-16-bit-audio-... - довольно много интересного.
Когда-то и для mp3 cbr128 так утверждали. А потом оказалось... Мне кажется проще спросить, какие настройки opus точно не хуже, чем mp3 cbr320.
> Когда-то и для mp3 cbr128 так утверждали. А потом оказалось...Кто и где это утверждал?
> Мне кажется проще спросить, какие настройки opus точно не хуже, чем mp3 cbr320.
Во-первых, для MP3 все сильно зависит от кодировщика. Ну, допустим, это LAME. Во-вторых, качество результата и наличие артефактов сильно зависит от кодируемого материала, особенно с CBR. Теперь, "точно не хуже" должно быть в каком смысле? Вы можете отличить MP3 320 от 256? А от 192? Если 320 — это не тот битрейт, ниже которого вы уже можете (хотя бы на какой-то определенной записи) отличить MP3 от исходника, то не понятно, что вообще значит "точно не хуже".
> Допустим если перегонять альбом из FLAC в opus, сколько битрейта будет достаточно
> для 99% слушателей?Учитывая, что 99% слушателей довольно тугоухи, хватит и 48 кб/с. Ну, можно 96, если уж брать с запасом.
Зачем? Для музыки есть Vorbis
"зачем" не является корректным ответом на вопрос "сколько?"
Так можно спросить "сколько мышей нужно, чтобы отправить экспедицию на Марс" или "Каким микроскопом надо забивать кровельные гвозди". На бессмысленные вопросы осмысленного ответа быть не может.
Если вы не видите смысла в заданном вопросе боюсь вам стоит обратится к врачу.
> Так можно спросить "сколько мышей нужно, чтобы отправить экспедицию на Марс" или
> "Каким микроскопом надо забивать кровельные гвозди". На бессмысленные вопросы осмысленного
> ответа быть не может.правильные ответы:
1. мыши не являются необходимым условием отправки экспедиции на марс.
2. микроскопом забивать гвозди не стоит, но если очень нужно делайте это металлической подставкой микроскопа.
"Биолам" рулит. У него станина железная и подставка тяжёлая.
Хм, ладно, я был неправ. Судя по всему, эта штука слегка превосходит Vorbis (во всяком случае, для тех битрейтов, которые он умеет - то есть до 48kHz, а больше вроде и не надо). Судя по этому: http://listening-test.coresv.net/results.htm можно остановиться на 96-128kbps
"битрейтов" -> "частот дискретизации", разумеется
Попробовал энкодинг в 32 кб/с. Ну, "без слышимых артефактов" - это с большой натяжкой, конечно, но звучит для такого битрейта просто фантастически! Сложно поверить, что такое качество можно упихнуть в жалкие 32 кб/с. Эх, в модемные времена бы такое!
Так в модемные времена и процессоры были другие. 486, например, mp3 не тянул в общем виде.
Вы как-то модемные времена сильно назад отодвинули.
> Вы как-то модемные времена сильно назад отодвинули.Это у кого когда был модем ;) Что такое BBS помните?
Это к тому, что модемы были и много дольше 486
> Так в модемные времена и процессоры были другие. 486, например, mp3 не
> тянул в общем виде.Да помню... Но, хрен знает почему, по-своему волшебные были времена. Windows 3.11 до сих пор мерещится по ночам. )))
>Windows 3.11 до сих пор мерещитсяКреститься нужно и плевать через левое плечо:)
mpg123 с оптимизацией в виде ассемблеровких вставок тянул битрейт 320Kbit и 48KHz на 80486DX2-66@80MHz. Изредка заикаясь - 1 раз на 20-30 минут. 80486DX4-100MHz тянул без заиканий, как и любой Pentium 1.
Ну, если надо из машины сделать плеер, которого больше ни на что не хватает, то конечно. А параллельно с чем-то - заикался первый пень, ещё и как. С другой стороны - MP3 вообще не асый лёгкий кодек. Тот же MPC, который хоть хуже, чем Opus/Vorbis, но, кажется, до сих пор лучше, чем AAC/MP3, нагружает процессор меньше, так как у него DCT нет. За это его кое-кто на мобилах любил, кстати.
Конечно без гуи и параллельных задач.
С mp2 (MPEG1 Layer 2) вообще было всё хорошо - грузил проц только наполовину.
Скажите спасибо, что в 2400 б/с не надо кодировать.
Вопрос тутошним "активистам" - а вы ПРОСТО слушать музыку не пробовали? Зачем что-то изобретать? "Сделайте" музыку в вашем любимом формате и вперед.
> Из продуктов, поддерживающих Opus из коробки😀
Да уж…
> Частота дискретизации от 8 до 48KHz;Ага, только вот 44100 обделили вниманием, а в нем куча контента. Но пацаны сказали, что жать надо только в пацанский 48к, а 44100 - для лохов и даунов. Конечно, потом обкакались и сделали специальную костыль-версию под 44100, не совместимую с основным кодеком, но основной кодек юзать для этого все равно невозможно.
Вы сейчас ерунду какую-то сказали. Никто не делал никакой специальной версии для 44100. Всё отлично кодируется основным кодером. Внутри оно будет представлено в 48000 — но это преобразование прозрачно, то есть на слышимое качество звука не влияет. А дальше психоаккустика, и вот она уже влияет на качество. И она у Opus хороша.