마이크에서 간단한 단어나 문구를 감지하고 해당 문구를 기반으로 작업을 수행하고 싶습니다. Python 라이브러리와 Google Text to Speech를 살펴봤지만 이것들은 과잉 인 것 같았습니다1 . 영어의 모든 음소나 단어를 인식할 수 있는 것이 필요하지 않습니다. 단지 "go to bed" 또는 심지어 "sleep"과 같은 특정 문구를 감지하여 컴퓨터를 절전 모드로 전환하고 싶을 뿐입니다.
이것저것 검색해봤는데 대부분 10년 전의 받아쓰기 프로그램과 게시물들만 찾았네요.
1. 예를 들어 우연히 발견했습니다.이 기사웹 서비스에 의존하거나 Sphinx와 같은 중장비를 설치하십시오. 가능한 모든 문구 대신 특정 문구에 응답하도록 모델을 훈련시킬 수는 없나요?
답변1
이것은 기계 학습/신경망을 스스로 학습할 수 있는 재미있는 프로젝트이지만 이것이 얼마나 어려울지 과소평가할 수 있습니다. "양", "진눈깨비" 또는 "가파른"이라고 말할 때(또는 TV에서 음성을 인식하는 경우) 시스템이 종료되는 것을 원하지 않습니다. "Alexa"는 무작위로 선택된 것이 아닙니다. "ksssa"의 긴 치찰음은 의도적으로 고주파수에서 뚜렷이 구별됩니다. Alexa는 새로운 샘플링 이벤트의 시작을 알리기 위해서만 존재합니다. 연속 음성을 처리하는 것은 추가적인 문제입니다.
일반적으로 FFT를 통해 음성 샘플을 넣어 스펙트럼 이미지를 얻고, 피크 볼륨을 기준으로 정규화하고, 신중하게 선택한 주파수에서 샘플링합니다. 컴퓨터는 먼저 합리적으로 정규화되지 않으면 원시 파형을 처리할 수 없습니다.
그런 다음 원하는 훈련 범위를 벗어난 소리의 예뿐만 아니라 각 단어나 구문에 대한 많은 예가 필요합니다. "위 항목 중 없음"이라는 훈련 범주가 없으면 "가장 가까운" 소리를 추측합니다. 일부 철자 수정 목록이 다음과 같이 시작하더라도 얼마나 쓸모 없는지 고려하십시오.텍스트입력하다.
자신의 목소리로 훈련하는 것이 훨씬 쉽습니다. 상업용 시스템은 또한 지역적 억양, 목소리 톤(예: 남성/여성) 및 배경 소음(비선형 마이크 응답 포함)을 필터링해야 합니다.
"sleep"이라고 말하고 앱에 "cmd 19: 72% match: sleep"과 같은 내용이 표시되도록 할 수 있더라도 이를 일종의 메뉴 항목으로 사용하여 해당 기능을 구현하거나 서비스를 제공하는 데 필요한 모든 명령을 실행해야 합니다. . 해당 조치.