Unity에서 iOS Speech로 음성 인식
그러나 plugin 은 아무래도 아무도 공개하지 않았던 것 같아서, 만들어 보았습니다.
TL;DR
GitHub 로 공개하고 있으므로, clone 하고 사용해 주세요.
htps : // 기주 b. 코 m / 노이 r 네오 / 우니 S 페에 ch
사용법
ISpeechRecognizer 구현
public class SpeechRecognizer : MonoBehaviour, ISpeechRecognizer
{
// 音声認識したときに呼ばれる
public void OnRecognized(string transcription) { }
// アクセスが承認されたときに呼ばれる
public void OnAuthorized() { }
public void OnError(string description) { }
public void OnUnauthorized() { }
public void OnAvailable() { }
public void OnUnavailable() { }
}
콜백을받는 GameObject의 이름 등록
UniSpeech.SpeechRecognizer.CallbackGameObjectName = gameObject.name;
샘플 프로젝트에서는 Start() 에 쓰고 있습니다.사용자에게 음성 인식 액세스 권한을 요청
UniSpeech.SpeechRecognizer.RequestRecognizerAuthorization();
마찬가지로 샘플 프로젝트에서는 Start() 에 쓰고 있습니다.음성 인식 시작
UniSpeech.SpeechRecognizer.StartRecord();
샘플 프로젝트에서는 OnAuthorized() 에 쓰고 있습니다.구현 설명
Swift에서 SpeechRecognizer 구현
거의 Apple 샘플 코드 그대로이므로 특필할 일은 없습니다.
Unity -> Swift 브리지
위의 샘플이 Swift이거나 정보량이 역전되어 와서 Swift로 쓰고 싶었기 때문에 여기 plugin을 사용했습니다.
htps : // 기주 b. 코 m / 미야비 / 우니 타이 슈 ft
이것을 넣으면 거의 좋은 느낌이 됩니다만, objective-c 에서의 interface 의 정의만은 필요하므로, 3중 정의가 되어 버리는 것은 어떻게든 자동 생성으로 하고 싶습니다.
사이고에게
과연 인식 정확도는 상당히 높습니다.
Unity에서 모바일에서 사용할 수 있는 음성 인식이라고 하면, 아직 뭔가와 허들이 높은 것이 현재입니다만, 멀티 플랫폼을 버리고 바삭바삭과 네이티브의 기능을 사용한다고 하는 선택도 준비해 보았습니다.
Android도 똑같이 음성 인식의 API가 공개되고 있으므로, 인터페이스를 가지런히 한 플러그인으로 하면 편리할 것 같다고는 생각했습니다만, 특히 할 예정은 없습니다.
또 native -> Unity 에 string 이외를 돌려보려고 하면 귀찮아서 이번은 단단히 접었습니다만, bestTranscription 이외도 돌려주도록(듯이)라든지, 사용성의 개선의 여지는 있어, 그것은 마음이 향하면 해 갑니다.
Reference
이 문제에 관하여(Unity에서 iOS Speech로 음성 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/noir_neo/items/e51f2b503883d9b26c07텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)