바삭 바삭한 Watson Speech-to-Text를 iOS에서 실행
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.swiftstruct 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
}
우선 일본어는 나왔습니다!
주위가 시끄러운 환경이라면 정밀도는 좋지 않은 것 같습니다. 그리고는 우리 고양이의 이름(무쵸)이 '부장'이 되기도 하고 있기 때문에, 커스텀 모델을 만들어 단어를 등록하고 호출할 수 있게 되면 인식 정밀도도 올라갈 것이라고 생각합니다. 또 이번에도 조금 만져보고 싶다.
참고 자료
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.swiftstruct 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
}
우선 일본어는 나왔습니다!
주위가 시끄러운 환경이라면 정밀도는 좋지 않은 것 같습니다. 그리고는 우리 고양이의 이름(무쵸)이 '부장'이 되기도 하고 있기 때문에, 커스텀 모델을 만들어 단어를 등록하고 호출할 수 있게 되면 인식 정밀도도 올라갈 것이라고 생각합니다. 또 이번에도 조금 만져보고 싶다.
참고 자료
$ cd Speech\ to\ Text
$ cp CredentialsExample.swift Credentials.swift`
struct Credentials {
static let SpeechToTextUsername = "your-username-here"
static let SpeechToTextPassword = "your-password-here"
}
그리고 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
}
우선 일본어는 나왔습니다!
주위가 시끄러운 환경이라면 정밀도는 좋지 않은 것 같습니다. 그리고는 우리 고양이의 이름(무쵸)이 '부장'이 되기도 하고 있기 때문에, 커스텀 모델을 만들어 단어를 등록하고 호출할 수 있게 되면 인식 정밀도도 올라갈 것이라고 생각합니다. 또 이번에도 조금 만져보고 싶다.
참고 자료
// start recognizing microphone audio
speechToText.recognizeMicrophone(settings: settings, model: "ja-JP_BroadbandModel", failure: failure) {
results in
self.textView.text = results.bestTranscript
}
Reference
이 문제에 관하여(바삭 바삭한 Watson Speech-to-Text를 iOS에서 실행), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jagainu/items/b742caef1e0cb3c5c224텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)