为什么 Bluemix 上的 Watson Text-To-Speech 服务不适用于移动设备?这是来自服务器的输出流数据的常见问题吗?谢谢!
编辑:对不起,有人完全改变了我的问题。我说的是文字转语音
为什么 Bluemix 上的 Watson Text-To-Speech 服务不适用于移动设备?这是来自服务器的输出流数据的常见问题吗?谢谢!
编辑:对不起,有人完全改变了我的问题。我说的是文字转语音
Watson Speech-To-Text 服务是一个 REST API。您将需要从您的移动应用程序调用 REST API。有关 REST API 的更多信息,请查看API 文档。
Text To Speech 在 Android 中工作,并且有一个可以使用的 SDK。
http://watson-developer-cloud.github.io/java-wrapper/
例如,要获得您可以执行的所有声音:
import com.ibm.watson.developer_cloud.text_to_speech.v1.TextToSpeech;
import com.ibm.watson.developer_cloud.text_to_speech.v1.model.VoiceSet;
TextToSpeech service = new TextToSpeech();
service.setUsernameAndPassword("<username>", "<password>");
VoiceSet voices = service.getVoices();
System.out.println(voices);
当您绑定服务时,您在 Bluemix 中获得的凭证在哪里username
以及在哪里。您可以通过查看此处password
的 javadocs 了解有关 Text to Speech 方法的更多信息。
它今天发布,我制作了它,所以如果您发现任何问题,请告诉我。
如果您想在 iOS 设备上使用 Watson Text-To-Speech,使用适用于 iOS 的Watson-Developer-Cloud SDK可能会很方便- 您可以查看我的blumarek.blogspot上的示例,只需在 XCode 7.3+ 中构建一个应用程序:
(在项目根目录中创建文件 cartfile 并运行命令carthage update --platform iOS)
$ cat > cartfile
# cartfile contents
github "watson-developer-cloud/ios-sdk"
然后您需要将框架添加到 XCode 项目 - 检查步骤 3:将 SDK 添加到我的 blumareks.blogpost 上的 Xcode 项目
(不推荐使用 AVFoundation): - 不要忘记在 Bluemix.net 中添加 Watson TTS 服务并从中获取凭证:
{
"credentials": {
"url": "https://stream.watsonplatform.net/text-to-speech/api",
"username": "<service User name>",
"password": "<password>"
}
}
代码很简单:
import UIKit
//adding Watson Text to Speech
import WatsonDeveloperCloud
//adding AVFoundation
import AVFoundation
class ViewController: UIViewController {
@IBOutlet weak var speakText: UITextField!
override func viewDidLoad() {...}
override func didReceiveMemoryWarning() {...}
@IBAction func speakButtonPressed(sender: AnyObject) {
NSLog("speak button pressed, text to say: " + speakText.text!)
//adding Watson service
let service = TextToSpeech(username: "<service User name>", password: "<password>")
service.synthesize(speakText.text!)
{(data, error) in
do {
let audioPlayer = try AVAudioPlayer(data: data!)
audioPlayer.prepareToPlay()
audioPlayer.play()
sleep(10) //the thread needs to live long enough to say your text
} catch {
NSLog("something went terribly wrong")
}
}}}
目前尚不清楚您是在询问语音到文本还是反之亦然。上述大多数问题都涵盖了语音转文本,可以在 Watson 网站上引用 -
http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/speech-to-text.html
Speech to Text 服务将人声转换为书面文字。这项易于使用的服务使用机器智能将有关语法和语言结构的信息与音频信号组成的知识相结合,以生成更准确的转录。转录内容会不断发送回客户,并随着听到更多语音而追溯更新。识别模型可以针对不同的语言以及特定领域进行训练。
如果您查看使用旧 SDK的这个 github 项目https://github.com/FarooqMulla/BluemixExample/tree/master
有一个使用实时语音转文本 api 的示例,它将音频数据包发送到 bluemix 并实时接收回转录的字符串。
请注意,截至 2016 年 1 月 22 日,新的基于 Swift 的 SDK 已因此特定功能而损坏。