Pjsua2 зацикленное качество записи звука ужасноеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pjsua2 зацикленное качество записи звука ужасное

Сообщение Anonymous »


Я реализовал простой сценарий вызывающей стороны и прослушивателя, который работает следующим образом:
[*]Слушатель ожидает звонка [*]Абонент инициирует звонок [*]Вызывающий абонент воспроизводит WAV-файл (передает из экземпляра pj.AudioMediaPlayer в playback_media) [*]Прослушиватель направляет capture_media в playback_media [*]Вызывающий объект направляет capture_media в pj.AudioMediaRecorder, выводя зацикленный звук в WAV-файл.
Примечания:
[*]Скрипты написаны на Python и используют версию pjsua2 по умолчанию (без изменений исходного кода или параметров при сборке). [*]Вызывающая программа и прослушиватель выполняются на двух отдельных виртуальных машинах. [*]Длительность эталонного звука в формате WAV составляет около 30 секунд. Это запись голоса, предназначенная для целей проверки качества голоса. [*]playback_media получается как pj.Endpoint.instance().audDevManager().getPlaybackDevmedia() [*]capture_media получается как pj.Endpoint.instance().audDevManager().getCaptureDevmedia()
Идея всей установки, если выразить словами, такова: вызывающий абонент воспроизводит аудиофайл, а слушатель возвращает звук вызывающему абоненту, который, наконец, сохраняет зацикленный звук в аудиофайл. Все, что мне нужно, — это простой звуковой цикл без каких-либо улучшений или изменений исходного звука.

Проблема в том, что звук, записанный на звонящего, ужасного качества: громкость в целом снижена, первые несколько секунд еще ниже, чем остальные, на протяжении всей записи присутствует небольшое эхо, оно то появляется, то исчезает. по-видимому, без всякой причины (эхоподавление?), затухание происходит быстро и приводит к тому, что большая часть записи имеет настолько низкую громкость, что ее практически не слышно, и только около 4 раз появляется слышимый звук со всем его ужасным качеством. Я считаю официальную документацию pjsip/pjsua2 абсолютно бесполезной для чего-либо, кроме простейшего примера. Я пробовал отключить VAD и сделать сценарий однопоточным и многопоточным, и, наконец, я попытался изменить переменную MediaConfig.quality EpConfig, но это не помогло. ни с чем.

Вопрос: Что я могу сделать, чтобы гарантировать, что исходный звук будет передан, зациклен и сохранен как есть, без каких-либо изменений качества или характеристик записанного звука? Это простой короткий вызов, который только зацикливает wav-файл, не более того.

Я попробовал изменить некоторые основные параметры, доступные через интерфейс Python EpConfig. Я попробовал переключить устройства воспроизведения и захвата мультимедиа.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»