Використання фільтра пропускного діапазону, що відповідає пропускній здатності мови, допоможе.
Якщо у вас є кілька мікрофонів (як це зараз в мобільних телефонах), існує ціла методика, схожа на ICA, яка може скористатися цим - але ваше запитання натякає на мене, що у вас є лише один вхід.
Те, що ви хочете зробити, - це "розділення одномікрофонового джерела" (назва взято з новаторського паперу Ровейса), яке також називають "односенсорним". Попередження: це далеко не вирішена проблема, і всі дослідження в цій галузі дуже недавні, але жоден алгоритм чи підхід не є "явним переможцем" (на відміну від гауссових моделей сумішей + FST були для розпізнавання мови).
Гарна основа для цього - через фільтрацію Вінера. Див. Benaroya та ін. "Розділення єдиного джерела датчика на основі фільтра Вінера та декількох вікон STFT" (Прочитайте розділи 1 та 2, не переймайтесь питаннями з багатороздільною здатністю, якщо вам це справді не потрібно). Коротше кажучи, ви обчислюєте STFT свого сигналу, і для кожного кадру STFT ви намагаєтеся отримати оцінки голосового спектру та спектру шуму, і ви фільтрування Вінера використовуєте для відтворення найкращої оцінки голосового спектру з цього (це схожий на "м'яке маскування" спектру).
Ваша проблема тепер полягає в наступному: задавши кадр STFT, оцініть мовлення та шумний компонент від неї. Більш простий підхід, описаний у статті Бенароя, полягає у векторній квантуванні - займіть кілька годин мови багатьма мовцями, обчисліть STFT, запустіть на ній LBG, щоб знайти кодову книгу з 512 або 1024 типових кадрів мовлення; зробіть те ж саме для шуму. Тепер, враховуючи кадр вхідного сигналу, запроектуйте його негативно (процедура мультиплікативного оновлення градієнта описана в статті) на мовленнєві та шумові бази, і ви отримаєте ваші оцінки мовлення та шуму. Якщо ви не хочете мати справу з негативною проекцією, просто скористайтеся найближчим сусідом. Це дійсно найпростіша річ, яка могла б працювати у відділі «розділення джерела односенсорного джерела».
Зауважте, що система розпізнавання мовлення дійсно могла б дати певний вклад для системи розділення. Зробіть перший пропуск розшифровки за допомогою системи розпізнавання мовлення. Для кожного кадру візьміть середній MFCC-вектор від гаусса, який отримав найкращу оцінку. Інвертуйте це назад у спектр. Бум, у вас є маска, яка дає вам найбільш вірогідне спектральне розташування мовленнєвих бітів, і ви можете використовувати його як вхід для фільтрації Вінера. Це звучить трохи як махання рукою, але суть полягає в тому, що для відокремлення джерела вам потрібна гарна модель, а система розпізнавання мовлення, взята назад, є пеклом хорошої генеративної моделі мовних сигналів.