바삭 바삭한 Watson Speech-to-Text를 iOS에서 실행

simon Sasaki 씨의 기사 「 Watson 음성인식(STT:Speech to Text)을 Swift 앱으로 사용해 보았다. 로 남겨주세요.

1. 사전 준비



Carthage를 사용하므로 설치해 둡니다. Homebrew 에서 설치할 수 있습니다.$ brew install carthage
또한 Bluemix에서 Speech to Text 서비스를 만들고 "Service credentials"에 쓰여진 username, password를 메모해 둡니다.



2. 샘플 프로젝트의 클론 및 종속성 해결



watson-developer-cloud/swift-sdk의 소스가 아닌 Watson-developer-cloud/speech-to-text-swift 을 사용합니다.
$ git clone https://github.com/watson-developer-cloud/speech-to-text-swift.git
$ cd speech-to-text-swift/

그런 다음 Carthage에서 종속성을 해결합니다. 원래 Swift3.0.0에서 사전 컴파일된 상태이므로 Swift 3.0.0 이상에서는 옵션을 추가합니다.$ carthage update --platform iOS --no-use-binaries (Swift 3.0.0 이상인 경우)$ carthage update --platform iOS (Swift 3.0.0 이전의 경우)

3. Credential 파일 편집



Speech to text 디렉토리에 있는 CredentialsExample.swift를 복사하여 Credentials.swift를 만듭니다.
$ cd Speech\ to\ Text
$ cp CredentialsExample.swift Credentials.swift`

Speech to Text.xcodeproj를 열고 Credentials.swift를 편집합니다. SpeechToTextUsername 및 SpeechToTextPassword 값에 각각 1. 사전 준비에서 기록한 서비스의 username, password를 입력합니다.

Credentials.swift
struct Credentials {
    static let SpeechToTextUsername = "your-username-here"
    static let SpeechToTextPassword = "your-password-here"
}

4. 실행



그리고 Xcode에서 "Speech to Text"프로젝트의 Bundle Identifier와 Team을 변경하면 실행할 수 있게 되었습니다.

이전과 앱도 조금 바뀌고 있는 모양. 샘플의 Audio File로부터 텍스트화하는 모드.


마이크에서 오디오를 텍스트화하는 모드.


5. 일본어 대응



마이크에서 오디오를 텍스트화하는 모드
디폴트의 ​​경우는 model이 영어(en-US_BroadbandModel)가 되어 버리는 것 같습니다만, recognizeMicrophone의 인수의 model로서 「ko-JP_BroadbandModel」에 지정하는 것으로, 일본어에 대응할 수 있습니다.

MicrophoneViewController.swift
// start recognizing microphone audio
speechToText.recognizeMicrophone(settings: settings,  model: "ja-JP_BroadbandModel", failure: failure) {
    results in
    self.textView.text = results.bestTranscript
}

우선 일본어는 나왔습니다!


주위가 시끄러운 환경이라면 정밀도는 좋지 않은 것 같습니다. 그리고는 우리 고양이의 이름(무쵸)이 '부장'이 되기도 하고 있기 때문에, 커스텀 모델을 만들어 단어를 등록하고 호출할 수 있게 되면 인식 정밀도도 올라갈 것이라고 생각합니다. 또 이번에도 조금 만져보고 싶다.

참고 자료


  • About Speech to Text
  • Speech-to-Text API Reference
  • 음성 인식에 맞춤 모델 사용
  • Watson 음성인식(STT:Speech to Text)을 Swift 앱으로 사용해 보았다.
  • 좋은 웹페이지 즐겨찾기