Почему подавитель Android -шума фиксирует больше фонового шума и как справиться с этим?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Почему подавитель Android -шума фиксирует больше фонового шума и как справиться с этим?

Сообщение Anonymous »

Я работаю над проектом, где мне нужно записывать речевой аудио и выполнять обработку над ним. Я использую API супрессора шума для снижения фонового шума, но я заметил, что поведение этого API значительно различается в разных устройствах. < /P>
Например, я записал аудио в течение 10 секунд. В этом сценарии я смоделировал источник фонового шума, расположенный на расстоянии 1-2 метра, в то время как фактическая речь происходит только в течение 1-2 секунд во время записи. Pro, samsung s21 fe) < /p>
< /li>
[*] На других устройствах фоновый шум остается заметным в течение 10 секунд. (например, Redmi 10, Vivo S1)
Я не могу определить основу, на которой это поведение отличается, так как более старые устройства/версии Android , кажется, справляются с подавлением шума лучше, чем более новые устройства .record = new AudioRecord(MediaRecorder.AudioSource.VOICE_COMMUNICATION,
SAMPLE_RATE, AudioFormat.CHANNEL_IN_MONO, AudioFormat.ENCODING_PCM_16BIT, bufferSize);

enableNoiseSuppressor();
enableEchoCanceller();
< /code>
public void enableNoiseSuppressor() {
if (NoiseSuppressor.isAvailable()) {
noiseSuppressor = NoiseSuppressor.create(record.getAudioSessionId());
if (noiseSuppressor != null) {
noiseSuppressor.setEnabled(true);
Log.i("NOISE", "NoiseSuppressor enabled");
} else {
Log.e("NOISE", "Failed to create NoiseSuppressor");
}
} else {
Log.e("NOISE", "This device doesn't support NoiseSuppressor");
}
}

public void enableEchoCanceller() {
if (AcousticEchoCanceler.isAvailable()) {
echoCanceler = AcousticEchoCanceler.create(record.getAudioSessionId());
if (echoCanceler != null) {
echoCanceler.setEnabled(true);
Log.i("ECHO", "EchoCanceller enabled");
} else {
Log.e("ECHO", "Failed to create EchoCanceller");
}
} else {
Log.e("ECHO", "This device doesn't support EchoCanceller");
}
}
< /code>


1)Why does the Noise Suppressor behavior vary so much across devices?
2)Does the Android version affect the performance of Noise Suppressor API?
3)Is there a way to identify devices where Noise Suppressor may not work as expected?
4)Are there any best practices or alternative solutions to achieve consistent noise suppression across devices?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ow-to-hand
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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