Я искал высоко и низко для примера о том, как использовать препроцессор библиотеки Speex для многоканального звука.Уменьшение многоканального звукового шума с помощью Speex
Документация speex_preprocess_state_init()
говорит, что:
Создает новое состояние предварительной обработки. Вы ДОЛЖНЫ создать одно состояние для каждого канала.
Я предполагаю, что означает, что мне нужно позвонить speex_preprocess_run()
по каждому каналу отдельно, но не то, что потенциально «перекос» результат, если препроцессор происходит, чтобы удалить больше шума из одного канала, чем другие?
Также, speex_preprocess_run()
указывает, считается ли звук голосом или шумом/тишиной. Если мне нужно вызвать функцию для каждого канала, что произойдет, если один канал будет считаться голосом, а другой - нет?
Я переусердствовал это?
Сколько каналов? Если вы просто говорите о голосе, записанном в стереофоническом режиме, почему бы не сначала перейти на моно? Если вы говорите о многих каналах с вероятными отдельными голосами, каждый из них, независимо друг от друга, может быть тем, что вы хотите. – Brad
Да, просто говорить о голосе, записанном в стерео, так что 2 канала. Может быть, я задерживаюсь, но не потеряю ли я преданность, если смогу перейти к моно? – dreijer
Попробуй и посмотри. Вы найдете это для голоса, все будет хорошо. Иногда возникают проблемы с фазированием в зависимости от того, как были настроены микрофоны, но это редко, и обычно это не влияет на то, распознан ли голос. – Brad