【问题标题】:Watson Speech to Text empty resultWatson Speech to Text 空结果
【发布时间】:2016-03-15 22:35:41
【问题描述】:

我在 Bluemix 中运行以下应用程序代码,以从音频文件中返回文本,但是我没有得到任何结果或错误。

有什么想法吗?

var watson = require('watson-developer-cloud')
var fs = require('fs')

var speech_to_text = watson.speech_to_text({
  version: "v1",
  url: "https://stream.watsonplatform.net/speech-to-text/api",
  password: "********",
  username: "*********"
})

var params = {
  audio: fs.createReadStream('./01_Ge_S_01.ogg'),
  content_type: 'audio/ogg;codecs=opus',
  continuous: true,
  model: 'es-ES_BroadbandModel'
}

speech_to_text.recognize(params, function(err, res){
  if (err)
    console.log(err)
  else
    fs.writeFile('public/result.txt', JSON.stringify(res))
    console.log(JSON.stringify(res, null, 2))

})

【问题讨论】:

  • 嗨@daniel 你能在某处提供ogg文件吗? (也许是谷歌驱动器?)
  • 另外,请勿在帖子中公开您的凭据!
  • 你使用的是哪个版本的sdk?
  • 文件在这里drive.google.com/file/d/0B3hUA9ZiaktrM2NBYm1XcWpzRGM/… SDK版本是IBM SDK for Node.js Buildpack v3.1-20160222-1123 谢谢!
  • 我认为问题与文件转换有关。原始文件是 mp3 扩展名,但是因为语音到文本 API 无法工作 mp3 我使用 ffmpeg 将文件转换为 ogg 或 wav,但它们都没有显示结果。

标签: ibm-cloud ibm-watson


【解决方案1】:

我不知道你的问题是什么,但我可以通过一些小的改动来运行你的代码。

var watson = require('watson-developer-cloud');
var fs = require('fs');
var speechToText = watson.speech_to_text({
  url: 'https://stream.watsonplatform.net/speech-to-text/api',
  username: 'SPEECH TO TEXT USERNAME',
  password: 'SPEECH TO TEXT PASSWORD',
  version: 'v1'
});

var params = {
  audio: fs.createReadStream('./01_Ge_S_01.ogg'),
  content_type: 'audio/ogg;codecs=opus',
  continuous: true,
  model: 'es-ES_BroadbandModel'
};

speechToText.recognize(params, function(err, res){
  if (err){
    console.log(err);
  } else {
    var transcriptJson = JSON.stringify(res, null, 2);
    fs.writeFileSync('result.json', transcriptJson);

    var transcription = '';
    res.results.forEach(function(e) {
      transcription+= e.alternatives[0].transcript + '\n';
    });
    fs.writeFileSync('result.txt', transcription);
    console.log(transcription);
  }
});

01_Fe_S_01.ogg 的转录是:

génesis
capítulo uno
en el principio creó dios los cielos y la tierra
ahora bien
la tierra resultó sin forma y de cierta
y había oscuridad sobre las superficies de la profundidad acuosa
y la fuerza activa de dios
estaba moviéndose de un lado a otro sobre la superficie de las aguas
y procedió diosa decidir
llegue a haber luz
entonces
llegó a verlo
después de eso
vio dios que la luz era buena
y f tuvo dios una división entre la luz
y la oscuridad
y empezó a dios a llamar la luz día
pero a la oscuridad
llamó noche
y llegó a haber tarde
y llegó a ver mañana
un día
primero
y pasó diosa decidir
llegue a haber una expansión en medio de las aguas
y ocurra una división entre las aguas y las aguas
entonces
procedió diosa hacer la expansión
y hacer una división entre las aguas que deberían estar debajo de la expansión
y las aguas que deberían estar sobre la expansión
y llegó a ser así
y empezó diosa llamar la expansión cielo
y llegó a haber tarde
y llegó a ver mañana
un día
segundo
y pasó diosa decir
que las aguas debajo de los cielos se reúnan en un mismo lugar
y aparezca lo seco
y llegó a ser así
y empezó diosa llamarlos seco tierra
pero a la reunión de aguas
llamó mares
además
vio dios que era bueno
y pasó diosa decir
haga brotar la tierra y hierba
vegetación que dé semilla
árboles frutales que lleven frutos según sus géneros
cuya semilla
esté enel sobre la tierra
y llegó a ser así
y la tierra empezó a producir hierba
vegetación queda semillas según su género y árboles que llevan fruto cuya semilla está en el según su género
entonces
vio dios que era bueno
y llegó a ver tarde
y que corra ver mañana
un día
tercero
y pasó diosa define
lleguen a ver lumbreras en la expansión de los cielos
para hacer una división entre el día y la noche
y tienen que servir de señales
y para estaciones
y pararía hacía años
y tienen que servir de lumbreras en la expansión de los cielos
para brillar sobre la tierra
y llegó a ser así
y procedió a dios hacer las dos grandes lumbreras
la lumbrera mayor para dominar el día
y la lumbrera menor para dominar la noche
y también las estrellas
así las puso dios en la expansión de los cielos
para brillar sobre la tierra
y para dominar de día y de noche
y para hacer una división entre la luz y la oscuridad
entonces
vio dios que era bueno
y llegó a acercarse
y llegó a ver mañana
un día
cuarto
y pasó dios al f
enjambre en las aguas un enjambre de almas vivientes
y buen criaturas volátiles por encima de la tierra sobre la faz de la expansión de los cielos
y procedió diosa crear los grandes monstruos marinos
y toda alma viviente que se mueve
cuál es las aguas enjambre aron según sus géneros
y toda criatura volátil aladas según su género
y llegó a ver dios que era bueno
con eso
los bendijo dios diciendo
sean fructíferos y háganse muchos
y llene las aguas en las cuencas de los mares
y avance muchas las criaturas volátiles en la tierra
y llegó a haber tarde
y llegó a haber mañana
un día quinto
y pasó diosa define
produzca la tierra al más viviente según sus géneros
animal doméstico y animal moviéndose y bestia salvaje de la tierra según su género
y llegó a ser así
y procedió diosa hacer la bestia salvaje de la tierra según su género
y el animal doméstico según su género
y todo animal moviento del suelo según su género
y llegó a ver a dios que era
bueno
y pasó dios a veces
hagamos un hombre a nuestra imagen
según nuestra semejanza
y tengan ellos en sujeción los peces del mar
y las criaturas volátiles de los cielos
y los animales domésticos
y toda la tierra y todo animal moviendo de qué se mueve sobre la tierra
y procedió diosa crear al hombre a su imagen
a la imagen de dios lo creo
macho
y en vara los creo
además
los bendijo dios y les dijo dios
sean fructíferos y háganse muchos
y llenen la tierra y sojuzgar la
y tengan sujeción los peces del mar
y las criaturas volátiles de los cielos
y toda criatura viviente que se mueve sobre la tía
y pasó diosa definir
miren que les he dado toda vegetación que la semilla que está sobre la superficie de toda la tierra
y todo árbol en el cual y fruto de árbol que da semilla
que les sirva usted este alimento
que a toda bestia salvaje de la tierra
y a toda criatura volátil de los cielos
y a todo lo que se mueve sobre la tierra en que a ibiza como alma
les he dado toda la vegetación verde para alimento
y llegó a ser así
después de eso
vio dios todo lo que había hecho y
mire
era muy bueno
y llegó a haber tarde
y llegó a ver mañana
un día
sexto

【讨论】:

    【解决方案2】:

    我认为区别在于 writeFile 与 writeFileSync 的用法。

    由于 writeFile 是异步的并且没有通过回调传递,它可能会立即返回,并且不会打印错误或成功。

    writeFileSync 等待文件写入完成,并在等待期间阻塞线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      相关资源
      最近更新 更多