2013-11-26 7 views
1

Я искал высоко и низко для примера о том, как использовать препроцессор библиотеки Speex для многоканального звука.Уменьшение многоканального звукового шума с помощью Speex

Документация speex_preprocess_state_init() говорит, что:

Создает новое состояние предварительной обработки. Вы ДОЛЖНЫ создать одно состояние для каждого канала.

Я предполагаю, что означает, что мне нужно позвонить speex_preprocess_run() по каждому каналу отдельно, но не то, что потенциально «перекос» результат, если препроцессор происходит, чтобы удалить больше шума из одного канала, чем другие?

Также, speex_preprocess_run() указывает, считается ли звук голосом или шумом/тишиной. Если мне нужно вызвать функцию для каждого канала, что произойдет, если один канал будет считаться голосом, а другой - нет?

Я переусердствовал это?

+1

Сколько каналов? Если вы просто говорите о голосе, записанном в стереофоническом режиме, почему бы не сначала перейти на моно? Если вы говорите о многих каналах с вероятными отдельными голосами, каждый из них, независимо друг от друга, может быть тем, что вы хотите. – Brad

+0

Да, просто говорить о голосе, записанном в стерео, так что 2 канала. Может быть, я задерживаюсь, но не потеряю ли я преданность, если смогу перейти к моно? – dreijer

+1

Попробуй и посмотри. Вы найдете это для голоса, все будет хорошо. Иногда возникают проблемы с фазированием в зависимости от того, как были настроены микрофоны, но это редко, и обычно это не влияет на то, распознан ли голос. – Brad

ответ

1

Голоса, записанные в стерео, обычно смешиваются с моно без проблем. Размещение микрофона может вызвать некоторые проблемы с фазированием, но это, как правило, не является проблемой.

Как только вы перемещаетесь в моно, вы можете обрабатывать звук как обычно.

В качестве альтернативы вы можете выбрать один из каналов и игнорировать второй. Это может быть не так надежно, хотя голос, возможно, был вне оси при записи.

 Смежные вопросы

  • Нет связанных вопросов^_^