2013-03-28 8 views
1

저는 라이브 녹음을위한 음성 감정 인식 시스템을 개발하고 있습니다. 기능 추출을 위해 OpenSMILE 라이브러리를 사용하고 있습니다. 다양한 종류의 음성 유형을 포함하는 일련의 오디오 파일을 수집했으며 그 중 일부를 추출하여 감정 인식을위한 SVM 기반 분류자를 교육합니다. 그러나 이것은 생중계에서 테스트 할 때 완전히 실패합니다. 그 이유는 라이브 스피치의 신호와 피쳐 분포 (MFCC, LSP, 피치, 강도, F0)가 파일의 특징 분포와 상당히 다르다는 것입니다. OpenSMILE 라이브러리는 마이크에서 오디오 신호에 액세스하기 위해 portaudio을 사용합니다.파일 간의 오디오 신호 차이와 마이크의 녹음

나는 공기를 통해 파일 (f_original)을 재생하고 마이크를 통해 녹음 한 다음 OpenSMILE로 저장 (f_distorted)했습니다. 나는 f_original과 f_distorted가 연주되었을 때 인간의 귀와 크게 다르지 않다는 것을 알았습니다. 그러나 시각화 된 오디오 신호는 audacity과 상당히 다르며 f_original 및 f_distorted에서 추출한 피쳐는 크게 다릅니다. f_original 파일은 16000Hz이며, 추출하기 전에 44100Hz로 업 샘플링합니다. 마이크는 44100Hz로 녹음됩니다.

마이크를 통해 녹음 할 때 약간의 왜곡이 예상되지만 왜곡되는 정도는 극단적입니다.

누구도 비슷한 문제에 직면 했습니까? 이 문제를 해결하는 방법에 대한 모든 지침.

감사합니다.

+0

업 샘플링은 기록되지 않은 정보를 복구하지 않습니다. f_original에 기록 된 가장 높은 가능한 주파수는 8000hz (나이키 스트 주파수)입니다. 최대 샘플링 주파수는 * 여전히 * 8000hz이지만 마이크 녹음은 20,000hz만큼 높은 주파수를 기록 할 수 있습니다. 이것은 당신이보고있는 차이의 일부를 설명 할 수 있습니다. –

+0

또한 녹음 수준이 매우 중요합니다. 당신의 목소리가 입력 레벨을 0db 이상으로 밀어 붙이면, 당신은 디지털로 * hard-clipping *됩니다. 오디오 정보는 문자 그대로 사라지고 고주파 고조파 인공물이 갑자기 나타납니다. 레코딩 레벨이 너무 낮 으면 음량이 3db 감소 할 때마다 1 비트의 디지털 정밀도가 손실되고 동일한 양만큼 노이즈가 증가합니다. –

+0

@RobertHarvey : 업 샘플링과 관련하여 필자는 f_original의 기능을 수정하지 않고 16000Hz로 라이브 오디오 신호를 다운 샘플링했지만 신호가 여전히 다르다는 점을 다른 방식으로 시도했습니다. 또한 다른 레코딩 레벨 (Windows에서는 100, 75, 50 및 25)을 테스트했지만 그 중 하나는 작동하지 않았습니다. 나는 더 높은 레벨이 원래 신호에 더 가깝다는 것을 발견했다. 또한 로그 주파수의 스펙트로 그램을 보면 녹화가 고역 필터처럼 작동하고 저주파 영역의 에너지가 감소하는 것처럼 보입니다. – bsidd

답변

1

룸, 녹음실 내에서의 스피커/마이크 조합의 주파수 응답 및 유형/위치와 같은 녹음의 환경 요인에 따라 크게 달라질 수 있습니다. 소프트웨어가이를 치료할 수 있지만 깨끗한 녹음을 얻는 것이 소프트웨어의 프로파일 링 기능에 영향을 미치는 가장 중요한 단일 요소가됩니다.

녹음 레벨이 올바르게 설정되어 있고 마이크와 스피커의 주파수 응답이 비교적 평탄한 경우 환경에 따라 사운드의 주파수 프로필이 변환됩니다.

이 효과는 재생시 즉시 나타나지 않을 수도 있지만 여러 가지 요소가 영향을받습니다. 이것은 작곡가들에게 큰 효과를 가져다주었습니다.

Alvin Lucier의 을 참조하십시오.이 유형의 구성의 아름다운 예를 보려면, http://www.ubu.com/sound/lucier.html 방에 앉아 있습니다.

녹음에서 들리는 일시적인 번짐 효과의 상당 부분이 음성 프로파일 링에 크게 영향을 미치므로 녹음 설정을 자세히 검토해야합니다. 녹음 설정에 대한 팁은 사운드 엔지니어에게 문의하는 것이 가장 좋습니다. 이렇게하면 고민하는 것처럼 보입니다. 예 : 사용하고있는 방의 음향 특성이나 오디오 설정은 언급하지 않았습니다.

사용하려는 방/마이크/스피커 설정의 임펄스 응답을 수행 한 다음 임펄스로 녹음 된 음성을 분리 할 수 ​​있습니다. 이론적으로 원래 신호의 완벽한 표현으로 녹음을 줄여야합니다 . 이는 까다 롭지 만 다소 위험한 결과를 제공 할 수 있습니다.

+0

다른 설정에서 서로 다른 앰비언스 노이즈가 문제였던 것 같습니다. 필자는 피쳐 추출 전에 신호에 하이 패스 필터를 실행하고 주변 노이즈를 제거하는 간단한 솔루션을 제공합니다. – bsidd