iOS의 두 가지 오디오(로컬에 저장된 사전 녹음 된 음성 명령 및 앱에서 마이크에서 녹음 된)를 비교합니다.




swift voice command (2)

인앱에서는 이전에 로컬로 저장된 음성 명령과 일치하는 경우 (텍스트뿐만 아니라 식별 된 사람의 음성) 실시간 녹음을 비교 한 다음 필요한 작업을 수행해야합니다.

동일한 사람의 1 일치 음성 명령.

2 일치 명령의 텍스트

나는 많은 방법을 적용했지만 아무도 내 기대대로 노력하지 않습니다.

첫째 , SpeechKit , SpeechKit 같은 텍스트 라이브러리에 음성을 사용합니다 . 하지만이 라이브러리는 텍스트 만 텍스트로 변환합니다.

결과 : 내 예상대로 실패

둘째 : (오디오 핑거 인쇄)

acrcloud Library : 이 라이브러리에서는 명령을 녹음하고 acrcloud 서버에 해당 mp3 파일을 저장하고 일치하지 않는 라이브 녹음 (내 음성)과 일치하지만 동일한 녹음 (내 목소리로 녹음 된 MP3 파일)을 재생할 때 acrcloud 서버에 업로드 한 다음 일치시킵니다. 결과 : 내 예상대로 실패

API.AI : 이 라이브러리에서는 텍스트에 대한 말하기와 같은 기능을하고, 서버에 텍스트 명령을 저장 한 다음 모든 사람이 결과가 성공하는 동일한 명령을 사용합니다. 결과 : 내 예상대로 실패

iOS 응용 프로그램에서이 문제를 해결하는 방법을 제안 해주세요.


이것은 내가 ur 요구 사항을 올바르게 이해하는 경우 이것에 접근하는 방법입니다 :

  1. 사람과 일치시키기 위해 각 녹음의 오디오 스펙트럼을 비교해야합니다 (Accelerate 프레임 워크의 vDSP 참조). 1024 개의 창을 사용하는 FFT 분석으로 충분해야합니다 (자세한 내용을 보려면 두 배로 시도하지 않는 경우). 5 스펙트럼의 -10 피크와 거기에서의 실험. 쉬운 FFT 구현을 위해 EZAudio 를 확인해 EZAudio .

  2. 음성 텍스트 라이브러리를 사용하여 텍스트와 일치시킵니다. 음성 액센트는 대개 결과를 상당히 왜곡 시키므로 오디오에서 텍스트를 가져 와서 비교할 텍스트에서 명령을 지정하는 대신 비교하는 것으로 시작합니다.

행운을 빕니다!


일반적으로, 방법 1을 약간 조정해야한다고 생각합니다. 로컬 오디오 용. 당신은 텍스트 스크립트 버전을 추가 : 1 오디오, 원본 스크립트 오디오 녹음하십시오. 오디오를 텍스트로 변환 할 때 OpenEars, SpeechKit 사용

결과를 얻기 위해 소스 스크립트와 텍스트를 비교해보십시오. 최상의 비교 결과를 얻으려면 소스 스크립트에서 스트레스를 주어야하는 텍스트를 표시해야합니다. 때때로 우리는 다음과 같은 말을 가지고 있습니다 : 와인, 아내, 흰색 ... (이것도 생각하십시오)

GLHF





audio-fingerprinting