음성 대역폭과 일치하는 통과 대역 필터를 사용하면 도움이됩니다.
여러 대의 마이크가있는 경우 (이제 핸드폰에서와 같이) ICA와 유사한 방법으로이를 활용할 수 있습니다. 그러나 귀하의 질문은 하나의 입력 만 가지고 있음을 암시합니다.
당신이하고 싶은 것은 "단일 센서"라고도 불리는 "1 마이크로폰 소스 분리"(로 웨이스의 획기적인 종이에서 가져온 이름)입니다. 경고 : 이것은 해결 된 문제와는 거리가 멀고, 가우스 혼합 모델 + FST와 달리 음성 인식을위한 알고리즘과는 달리 알고리즘이나 접근 방식이 "명확한 승자"가되지 않는이 분야의 모든 연구는 최근에 이루어졌습니다.
이를위한 좋은 프레임 워크는 Wiener 필터링을 통하는 것입니다. Benaroya et al. "위너 필터링 및 다중 창 STFT를 기반으로하는 단일 센서 소스 분리"(섹션 1 및 2를 읽고, 실제로 필요한 경우가 아니면 다중 해상도 문제를 신경 쓰지 마십시오). 요컨대, 신호의 STFT를 계산하고 각 STFT 프레임에 대해 음성 스펙트럼 및 잡음 스펙트럼의 추정치를 얻으려고 시도하고 Wiener 필터링을 사용하여 음성 스펙트럼의 최상의 추정치를 복구합니다 (이 스펙트럼을 "소프트 마스킹"하는 것과 유사합니다.
문제는 이제 다음과 같습니다. STFT 프레임이 주어지면 음성 및 잡음 요소를 추정하십시오. Benaroya의 논문에 설명 된 간단한 접근 방식은 Vector-quantization을 통해 이루어집니다. 많은 스피커가 몇 시간 동안 연설을하고 STFT를 계산하고 LBG를 실행하여 512 또는 1024 개의 일반적인 음성 프레임의 코드북을 찾습니다. 소음에 대해서도 같은 일을합니다. 이제 입력 신호의 프레임이 주어지면 음성 및 잡음 기반에 음이 아닌 (증가 기울기 업데이트 절차가 논문에 설명되어 있음) 투영하고 음성 및 잡음 추정값을 얻습니다. 음이 아닌 프로젝션을 다루지 않으려면 가장 가까운 이웃을 사용하십시오. 이것은 "단일 센서 소스 분리"부서에서 작동 할 수있는 가장 간단한 것입니다.
음성 인식 시스템은 실제로 분리 시스템에 대한 일부 입력을 제공 할 수 있음에 유의한다. 음성 인식 시스템을 사용하여 첫 번째 디코딩을 수행하십시오. 각 프레임에 대해 최고 점수를 얻은 가우시안의 평균 MFCC 벡터를 가져옵니다. 다시 스펙트럼으로 반전시킵니다. 붐, 스피치와 같은 비트의 스펙트럼 위치를 제공하는 마스크가 있으며 Wiener 필터링을위한 입력으로 사용할 수 있습니다. 이것은 손을 흔드는 것처럼 들리지만 요점은 소스를 분리하기 위해 좋은 모델이 필요하다는 것이며, 음성 인식 시스템은 음성 신호에 대한 좋은 생성 모델의 지옥입니다.