Bluemix中的Watson Text-to-Speech服务是否适用于移动应用程序?

时间:2015-04-30 18:04:08

标签: ibm-cloud ibm-watson

为什么Bluemix上的Watson Text-To-Speech服务不能用于移动设备?这是来自服务器的输出流数据的常见问题吗?谢谢!

编辑:Sry,有人完全改变了我的问题。我说的是文字转语音

4 个答案:

答案 0 :(得分:1)

Watson Speech-To-Text服务是一个REST API。您需要从移动应用程序中调用REST API。有关REST API检查的更多信息out the API docs

答案 1 :(得分:1)

如果您想使用适用于iOS设备的Watson Text-To-Speech,使用Watson-Developer-Cloud SDK for iOS可能会很方便 - 您可以在blumarek.blogspot上查看示例,只需在XCode 7.3+中构建应用即可:

步骤1.使用carthage获取所有依赖项:

(在项目根目录中创建一个文件cartfile并运行命令 carthage update --platform iOS

$ cat > cartfile
# cartfile contents
github "watson-developer-cloud/ios-sdk"

然后你需要将框架添加到XCode项目 - 检查步骤3:将SDK添加到我的blumareks.blogpost上的Xcode项目

步骤2.添加代码以调用Watson TTS并利用AVFoundation

(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")
        }
}}}

答案 2 :(得分:0)

目前还不清楚您是在询问有关语音的文本,反之亦然。上述大多数问题都涉及到文本的演讲,可以在Watson网站上引用 -

http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/speech-to-text.html

Speech to Text服务将人声转换为书面文字。这种易于使用的服务使用机器智能将有关语法和语言结构的信息与音频信号的组成知识相结合,以生成更准确的转录。转录不断发送回客户端,并在听到更多语音时追溯更新。识别模型可以针对不同语言以及特定领域进行培训。

答案 3 :(得分:-1)

如果你看一下使用Old SDK的这个github项目https://github.com/FarooqMulla/BluemixExample/tree/master

有一个示例使用实时语音来发送文本api,它将音频数据包发送到bluemix并实时接收转录后的字符串。

请注意,自2016年1月22日起,新的基于Swift的SDK因此特定功能而被破解。