2

Watson Speech to Text APIを使用して、反応したネイティブのアプリケーションでオーディオを録音し、そのオーディオをテキストに変換しようとしています。React-Native Speech to Text

私はこれを理解することに問題があり、本当に感謝しています。

オーディオは録音できますが、ファイルをバックエンドに送信する方法や、フロントエンドのWatson APIに直接送信する方法がわかりません。

ノードのためのワトソンAPIクラウドライブラリは、このあります

 var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1'); 
     var fs = require('fs'); 

     var speech_to_text = new SpeechToTextV1({ 
     username: '<username>', 
     password: '<password>' 
     }); 

     var params = { 
     // From file 
     audio: fs.createReadStream('./resources/speech.wav'), 
     content_type: 'audio/l16; rate=44100' 
     }; 

     speech_to_text.recognize(params, function(err, res) { 
     if (err) 
     console.log(err); 
     else 
     console.log(JSON.stringify(res, null, 2)); 
     }); 

残念ながら、私はストリームを作成するために、フロントエンドに「FS」にアクセスすることはできませんが。ファイルはクライアントのフロントエンドの隠しフォルダに保存されます(私もパスがあります)

最終的には、何らかの形でストリームを作成して、自動的にテキストに変換されるように送信したいと思います速度を低下させる。録音した音声のパスでフロントエンド上のすべてのこれを行うにはどのように

fs.createReadStream('./resources/speech.wav') 
    .pipe(speech_to_text.createRecognizeStream({ content_type:  'audio/l16; rate=44100' })) 
    .pipe(fs.createWriteStream('./transcription.txt')); 

任意のアイデア:このように

。どのような回避策ですか?ありがとうございました!

+0

Anujを、あなたが情報を提供してください可能性がどのように反応し、ネイティブ使用してレコード.WAV音? .wavサウンドを録音する際に問題が発生しています。サウンドを録音する方法をコードスニペットで記述することができれば、本当に役に立ちます。 ありがとう! – vtuhtan

答えて

2

は、ネイティブが箱の外WebSocketををサポートしていリアクト:https://facebook.github.io/react-native/docs/network.html

ワトソンAPIはAPIをテキストに自分のスピーチの一部として、WebSocketををサポートしています。https://www.ibm.com/watson/developercloud/doc/speech-to-text/websockets.shtml(セクションを参照してください「の音声を送信し、認識結果の受信」websocket.send(blob)

をこれがそうです合理的な解決策であることを。

+0

ありがとう!どのように私はそれが変更されると、オーディオファイルをストリーミングするだろうか?ファイルが更新されると、ソケットは常に送信されますか? –

+0

ライブ録音の場合、ファイルは必要ありません。オーディオチャンクは、マイクから来るようにWebsocketにプッシュするだけです。一方、実際のファイルが更新されている場合は、ファイルから新しいオーディオチャンクをすべて読み込み、websocketを通してWatson STTにプッシュすることができます。仮説はあなたに非同期的に来るでしょう。サンプルコードはここにあります:https://github.com/watson-developer-cloud/ –

+0

@DanielBolanosこれを完了しましたか?私は[react-native-audio](https://github.com/jsierles/react-native-audio/)を使用してサウンドを録音してからファイルをアップロードしようとしていました。あなたがどのようにそれを達成したかをお寄せいただければ幸いです。 – Noitidart

0

私は一緒にワトソン - 開発者 - クラウド/ SWIFT-SDKを使用するネイティブモジュールを入れている、とテキストへのスピーチが実装されている。

https://github.com/pwcremin/react-native-watson

私のコードでは、実装方法の例を参照することも、モジュールを使用することもできます。

反応するネイティブ・ワトソンモジュールは、マイクを使用し、あなたのためのストリーミングハンドル:あなたの質問に関係のない

import {SpeechToText} from 'react-native-watson'; 

SpeechToText.initialize("username", "password") 

// will transcribe microphone audio 
SpeechToText.startStreaming((error, text) => 
     { 
      console.log(text) 
     }) 

SpeechToText.stopStreaming() 
関連する問題