Рубрика «Opus»

Эта статья описывает практическую реализацию системы записи и обработки аудио на Rust. Мы рассмотрим полный цикл работы со звуком — от захвата с микрофона до эффективного сжатия в формат Opus.

Кто я: Копылов Евгений, Rust-разработчик в Мануспект. Отвечаю за работоспособность десктопного приложения по сбору данных об активности пользователя, где аудио — один из ключевых, но далеко не единственный компонент.

💻 Исходный код: https://gitlab.com/Evgene-Kopylov/audio-in-rust

Для кого эта статья:

Волшебная кнопка «сделать звук хорошим». Особенности, характеристики и советы по выбору аудиокодеков в VoIP - 1

Привет! Это Екатерина Саяпина, Product Owner платформы МТС ExolveЧитать полностью »

Компилируем Microsoft Word 1989 года - 1

Собираем Opus

Opus — это кодовое имя, которое разработчики компании Microsoft дали пакету Microsoft Word for Windows v1.1a. Давайте скомпилируем его из исходного кода и посмотрим, удастся ли его запустить!

1. Введение

В этой статье задокументирован процесс получения исходного кода и его превращения в работающее приложение для Windows. Компилятор и инструменты разработки запускаются в операционной системе MS-DOS, потому что в 1989 году ещё не существовало инструментов разработки, работающих в Windows.

Примечание: в этой статье я буду часто упоминать DOS. Под этим обозначением подразумевается Microsoft MS-DOS, хотя бОльшая часть информации также применима к IBM PC-DOS и большинству других разновидностей DOS.

Если вы новичок в пользовании операционной системой DOS, то рекомендую повторять мои действия в копии Microsoft MS-DOS v6.22, версии DOS от июня 1994 года (последней выпущенной версии), содержащей все необходимые нам инструменты (об единственном исключении я расскажу ниже).
Читать полностью »

RED: Улучшение качества звука с помощью резервирования - 1


Еще в апреле 2020 года Citizenlab сообщил о довольно слабом шифровании Zoom и заявил, что Zoom использует аудиокодек SILK. К сожалению, статья не содержала исходных данных, чтобы это подтвердить и дать мне возможность обращаться к ней в дальнейшем. Однако благодаря Натали Сильванович из Google Project Zero и инструменту трассировки Frida я смог получить дамп некоторых необработанных кадров SILK. Их анализ вдохновил меня взглянуть на то, как WebRTC обрабатывает звук. Что касается восприятия качества вызова в целом, больше всего на него влияет качество звука, поскольку мы склонны замечать даже небольшие сбои. Всего десяти секунд анализа было достаточно, чтобы отправиться в настоящее приключение – на поиски вариантов улучшения качества звука, обеспечиваемых WebRTC.
Читать полностью »

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

image Читать полностью »

На прошедшей недели мы представили обновленные клиенты 3CX для Android и iOS. Разработчики стараются сделать работу пользователя с мобильным VoIP-клиентом как можно более комфортной, и, в то же время, добавить возможности, наиболее востребованные пользователями.

Главное новшество в мобильных клиентах — добавление голосового кодека OPUS, о преимуществах которого мы поговорим ниже. Вторая доработка — возможность регистрации добавочного номера с нескольких мобильных устройств и доставка PUSH-уведомлений о вызовах на каждое из устройств параллельно. Также, надежность доставки PUSH-уведомлений на устройства значительно повышена. Кроме того, у обоих клиентов существенно снижен расход заряда аккумулятора и ускорено подключение к серверу 3CX.

Обратите внимание, что для поддержки новых возможностей мобильных клиентов 3CX необходима установка обновления v15.5 Update 6, которое в данный момент готовится к выпуску. Также, для установки клиента 3CX для iOS Beta прямо сейчас, следует зарегистрироваться в программе Apple TestFlight.Читать полностью »

В предыдущей статье мы говорили о кодеке Opus, который работает на очень низких битрейтах. Но другой кодек стремится достичь ещё более низких битрейтов — это Codec 2.

Codec 2 предназначен для кодирования только речи. И хотя битрейт впечатляет, звук не такой качественный, как в случае Opus, что можно услышать в аудиопримерах. Тем не менее, в сочетании с нейросетью (WaveNet) кодек демонстрирует впечатляющие результаты.

Codec 2 + нейросеть =целый подкаст на одной дискете - 1
Слои нейронной сети WaveNet
Читать полностью »

На ныне покойном Geektimes есть (или был) блог Gearbest и он был (или есть) уныл. Их маркетологи зачем-то раз за разом втюхивают одни и те же телефоны и планшеты, тогда как на сайте (впрочем, как и на Ali) есть куча других отличных товаров для гиков. Поэтому, можно я поделюсь своими маленькими китайскими открытиями?

Заряжаем АА, ААА и другое цилиндрическое и аккумуляторное - 1

У меня есть дети. Дети = выброшенные батарейки. Т.е. там есть еще промежуточные звенья типа больших роботов, мечей, орущих робокошек, которые катаются по дому и мерцают как мечта эпилептика и так далее. Но все приводит к одному — выброшенным батарейкам.

Благодаря Алексею Надежину мы уже знаем, что лучшими по соотношению цена/емкость являются либо батарейки Ikea и Ашан, либо GP Super. Тем, собственно и жили. Однако, вывалив в специальный контейнер очередную порцию дохлых батареек и испытав на себе полуночный плач ярославны о том, что любимая кукла не работает, пришел к простому выводу — пора переходить на аккумуляторы. Причем, если будут аккумуляторы, неплохо бы их как-то еще и заряжать. Полез гуглить простые зарядки и тут мне открылся “о дивный новый мир”.Читать полностью »

RNNoise: пожертвуй свой шум для обучения нейросети Mozilla - 1
Спектрограмма до шумоподавления, записана человеческая речь на SNR 15 дБ

RNNoise: пожертвуй свой шум для обучения нейросети Mozilla - 2
Спектрограмма звука после обработки нейросетью RNNoise

Шумоподавление остаётся актуальной темой научных исследований по крайней мере с 70-х годов прошлого века. Несмотря на значительные улучшения в качестве систем, их высокоуровневая архитектура практически не претерпела изменений. Техника спектральной оценки полагается на спектральную оценку шума, которая, в свою очередь, работает при помощи детектора голосовой активности (VAD) или тому подобного алгоритма. Каждый из трёх компонентов требует аккуратной подгонки — и их трудно настраивать. Поэтому достижения Mozilla и Xiph.org в глубинном обучении имеют такое большое значение. Созданная ими гибридная система RNNoise уже сейчас демонстрирует неплохой результат в шумоподавлении (см. исходный код и демо).

Создавая RNNoise, разработчики стремились получить маленький и быстрый алгоритм, который будет эффективно работать в реальном времени даже на Raspberry Pi. И им это удалось, причём RNNoise показывает более качественный результат, чем самые крутые и навороченные современные фильтры.
Читать полностью »

Транслируем WebRTC, RTSP и RTMP потоки на Media Source Extensions по протоколу Websocket - 1

Media Source Extensions

Media Source Extensions (далее MSE) — это API браузера, позволяющее играть аудио и видео через соответствующие HTML5 тэги <audio/> и <video/>.

Чтобы проиграть кусок аудио или видео, нужно скормить этот chunk в данный элемент через MSE API. На основе MSE построены HLS-плееры. HLS фрагменты передаются в MSE и отображаются в плеере.

Давайте посмотрим на его Can I Use подробнее.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js