Есть ли какие-либо ограничения для кодирования аудиосигнала?

Я фиксирую звук в pcm с некоторой частотой дискретизации, например 24 кГц. Мне нужно закодировать его с помощью некоторого кодека (для этого я использую Opus) для отправки по сети. Я заметил, что при некоторой частоте дискретизации, которую я использую для кодирования с помощью Opus, я часто слышу некоторый дополнительный «трещинный» шум на принимающей стороне. Во всяком случае, это звучит нормально. Это может быть ошибкой реализации, но я думаю, что могут быть некоторые ограничения, которых я не знаю.

Я также заметил, что если я использую другую частоту дискретизации при декодировании аудиопотока в кодировке Opus, я получаю более низкую или более высокую высоту звука, что мне кажется логичным. Итак, я прочитал, что мне нужно выполнить повторную выборку на другом конце, если принимающая сторона не поддерживает исходную частоту выборки PCM.

Итак, у меня есть 2 вопроса относительно всего этого:

  1. Есть ли какие-либо ограничения на частоту дискретизации (или другие параметры) аудиокодирования? (Как будто у меня звук 24 кГц pcm — может быть, есть определенные частоты дискретизации, чтобы использовать его?)
  2. Существуют ли общие методы для обеспечения одинакового качества звука с обеих сторон при отправке аудиопотока по сети?

1

Решение

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

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

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

1

Другие решения

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

1

По вопросам рекламы [email protected]