2016-10-29 3 views
1

저는 개인 연구 프로젝트를 진행하고 있습니다.파형 비교

내 목표는 소리를 인식하고 그것이 IPA에 속하는지 아닌지를 내 데이터베이스의 파형과 비교하여 식별 할 수있게하는 것입니다. Mathematica, SciPy, PyBrain에 약간의 기술이 있습니다.

첫 번째 단계에서는 영어 (미국) 발음 기호 만 사용하고 있습니다. 온라인에서 찾은 영문 발음 음성 파일의 간단한 테스트 뱅크가 있습니다. 여기의 트릭은 다음과 같습니다.

소리 파일을 다른 음절에 해당하는 웨이브 폼으로 분리하려고합니다. 이것은 학습 알고리즘을 사용합니다. 그래서, 'I like apples'는 문장을 구성하는 음절 파형으로 자릅니다.

각 파형은 영어 PA의 웨이브 폼과 비교됩니다. 나는이 부분을 어떻게하는지 확신 할 수 없다. Praat을 사용하여 파형을 감지하고 파형의 이미지를 캡처 한 다음 이미지 분석을 통해 데이터베이스에 저장된 파형과 비교합니다 (재미있는 일입니다).

여기 손상은 Praat이 웨이브 폼 파일을 자동으로 생성 한 다음 음절 사이를 파형 청크로 잘라내는 방법을 모르는 것입니다. 논리적으로, 나는 학습 알고리즘을위한 테스트 케이스를 준비하고 그것을 수행하도록 지시 할 것이다.

대신 웨이브 폼 이미지가 필요합니다. 고속 푸리에 변환으로이 작업을 수행하고 x % 마진 내에서 두 개의 fft를 비교할 수 있습니까?

조언이나 의견을 보내 주시면 감사하겠습니다. 시간 내 주셔서 대단히 감사합니다.

답변

1

Praat scripting 시도해 볼 수 있습니다.

그냥 FFT를 사용하면 다소 끔찍한 결과를 얻을 수 있습니다. 아주 긴 특징 벡터는 어떤 훈련을 세분하고 실행하기가 정말로 어렵습니다. 그것은 한 음절에 대해 수천 점입니다. 일부 심 신경 네트워크는 그것에 대처할 수 있지만,이를 제대로 설계하고 거대한 훈련 세트를 제공한다고 가정합니다. 신경망을 사용하는 이점은 "원시 데이터"에서 사용자를위한 기능을 구축 할 수 있다는 것입니다. 또한 fft도 "원시"라고 생각합니다. 그러나 사운드를 사용하여 작업 할 때는 그다지 필요하지 않습니다. 수동으로 기능을 조작 할 수 있습니다. 소리의 경우, 과학은 어떤 종류의 "특징"소리가 있는지 잘 압니다.

Yaafe과 같은 라이브러리를 사용하여 이러한 기능을 계산할 수 있습니다. C++이나 Python으로하지 않더라도 체크해 보는 것이 좋습니다. 제가 제공 한 링크도 계산을위한 공식을 제공합니다. 나는 그들 중 일부를 내 kiwi classifier에 사용했다.

또 다른 좋은 접근 방법은 정확하게 필요한 도구를 제공하는 scikit-talkbox에서 비롯됩니다.

+0

정말 고맙습니다! 오늘 Matlab에서 fft를 사용해 보았는데 여러분이 맞습니다. 그것은 정말 못생긴 벡터였습니다. 링크를 살펴 보겠습니다. 저는 실제로 파이썬에 더 익숙합니다. 링크를 살펴 보겠습니다. 이것은 훌륭한 출발점입니다. 필자는 현장에서 몇 가지 논문을 찾았고 사운드 분석을 위해 fft를 사용하는 것은 위업입니다. 이것은 내가 토끼의 구멍에있는 동안 내가 끝난 곳입니다. https://core.ac.uk/download/pdf/35379497.pdf 나는 지금 Talkbox에 감사하고 있습니다. 지금까지 매우 유망 해 보입니다. – Yarou

+1

당신은 다음 달 문학을 단지 보면서 보낼 수 있습니다 :). 나는 네가 겪은 것이 아니라는 것을 안다.하지만 다른 방법으로 시도해 볼 수도있다. 즉, 말로 된 텍스트와 단순히 음절을 추출하는 것이다. Python으로 기존 라이브러리를 사용하면 단 몇 시간 만에 패치를 적용 할 수 있습니다. 이렇게하면 음성 인식에 투입된 모든 작업을 활용하고 필요한 것을 얻기 위해 정규 표현식을 적용 할 수 있습니다 (오히려 길다). 당신은 아주 좋은 결과를 얻어야합니다. –

1

솔직히 Praat에 대해 정말 몰라요.하지만 프로젝트가 멋지고 흥미 롭습니다. 나는 당신의 프로젝트에 연결된 소리를 사용하여 자동차 모터의 고장 탐지에 대한 경험을 가지고 있습니다. 여러 연구 논문이 그것을 증명했기 때문에 Neural Networks와 SVM을 사용하여 분류 작업을 수행했습니다. 따라서 나는 내가 선택한 방식에 대해 의심의 여지가 없었습니다. 그래서 제 충고는 연구와 논문을 읽어야 할 것 같습니다. 이런 질문을 할 때 정말 도움이됩니다 (작동합니까?, 대신 사용할 수 있습니까, 아니면 최적의 솔루션을 사용하고 있습니까? 등 ...). 그리고 행운을 빌어 요 그 멋진 프로젝트 :)

+0

소리를 통해 엔진 결함 감지 - 너무 차갑습니다. 루카스는 훌륭한 의견을 제시했습니다. 감사합니다.나는 Google Scholar에서 여러 논문을 검색했고 Lukasz와 공유 한 링크와 같은 많은 정보를 발견했습니다. 수정 된 변형 함수가 실행 가능하고 견고한 결과 (Discrete Tchebichef Transform)를 보여 주지만, 훈련 과정이 매우 오래 걸리고 끝날 수있는 방대한 벡터로 인해 지저분해질 수있는 것처럼 보입니다. 당신은 질문을 매우 잘 연구했고 그 질문의 요소들은 필수적입니다. – Yarou