2017-01-18 17 views
0

NodeJSアプリを受け入れていないテキストに。ソースファイルがブロードバンドの場合、Watson Speech to Textは問題のないファイルを受け入れます。ソースファイルが狭帯域の場合、Watson Speech to Textはoggファイルの読み込みに失敗します。私はffmpegからの出力をテストしました。狭帯域のoggファイルはmp3ファイルと同じオーディオコンテンツを持っています(たとえば、私はそれを聞くことができ、同じ人を聞くことができます)。はい、事前に、モデルとcontent_typeを正しく指定するためにWatsonへの呼び出しを変更しています。コードは次のとおりです。ワトソン狭帯域音声mp3 & MP4からOGGファイルを作成するためのffmpegを使用して、OGGファイル

exports.createTranscript = function(req, res, next) 
{ var _name = getNameBase(req.body.movie); 
    var _type = getType(req.body.movie); 
    var _voice = (_type == "mp4") ? "en-US_BroadbandModel" : "en-US_NarrowbandModel" ; 
    var _contentType = (_type == "mp4") ? "audio/ogg" : "audio/basic" ; 
    var _audio = process.cwd()+"/HTML/movies/"+_name+'ogg'; 
    var transcriptFile = process.cwd()+"/HTML/movies/"+_name+'json'; 

    speech_to_text.createSession({model: _voice}, function(error, session) { 
    if (error) {console.log('error:', error);} 
    else 
     { 
     var params = { content_type: _contentType, continuous: true, 
     audio: fs.createReadStream(_audio), 
      session_id: session.session_id 
      }; 
      speech_to_text.recognize(params, function(error, transcript) { 
      if (error) {console.log('error:', error);} 
      else 
       { fs.writeFile(transcriptFile, JSON.stringify(transcript), function(err) {if (err) {console.log(err);}}); 
       res.send(transcript); 
       } 
      }); 
     } 
    }); 
} 

_typeのいずれかであるmp3(電話記録から狭帯域)またはMP4(ブロードバンド) model: _voiceの設定は正しい content_type: _contentType

どれOGGファイルの設定が正しいことを確認するために追跡されていることを確認するために追跡されてい狭帯域設定でテキストにスピーチに提出された本物の狭ファイルや狭帯域として(MP4から作成)ブロードバンドOGGファイルを読むためにワトソンを求めて、両方でテストError: No speech detected for 30s.で失敗します。同じエラーメッセージ。私は何が欠けていますか?

答えて

1

テキストにワトソンスピーチのためのドキュメントは、この時点で混乱しています。ドキュメントhereは、狭帯域モデルを使用した場合、そのcontent_typeaudio/basicに設定する必要があることを示します。それは間違っている。この例では、インバウンドの音声ファイルは、狭帯域のファイルであるが、それはOGGファイルなのでcontent_typeはまだaudio/oggでなければなりません。その単一の変更によって問題が解決されます。

+0

オーディオ/基本(ナローバンドモデルでのみこの形式のオーディオを使用してください) –

+0

こんにちはボブ、ドキュメントは "オーディオ/基本(狭帯域モデルでのみこの形式のオーディオを使用してください)"と言います。このオーディオ形式を使用する場合は、狭帯域モデルしか使用できません。 –

+0

はい、Dani、それは文の正しい理解です。オーディオ/ベーシックは狭帯域モデルでのみ使用できますが、狭帯域モデルは他のタイプでも使用できます。 – Jeff

関連する問題