Pjsua2 зацикленное качество записи звука ужасное ⇐ Python
Pjsua2 зацикленное качество записи звука ужасное
Я реализовал простой сценарий вызывающей стороны и прослушивателя, который работает следующим образом:
[*]Слушатель ожидает звонка [*]Абонент инициирует звонок [*]Вызывающий абонент воспроизводит 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. Я попробовал переключить устройства воспроизведения и захвата мультимедиа.
Я реализовал простой сценарий вызывающей стороны и прослушивателя, который работает следующим образом:
[*]Слушатель ожидает звонка [*]Абонент инициирует звонок [*]Вызывающий абонент воспроизводит 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. Я попробовал переключить устройства воспроизведения и захвата мультимедиа.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Очень плохое качество звука, записанного на моем дроиде с помощью MediaRecorder, почему?
Anonymous » » в форуме Android - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-