2017-01-24 7 views
0

私はIBMのスピーチからセッションレスのテキストを使用しています。このエンドポイントのセッションレスAPIは "https://stream.watsonplatform.net/speech-to-text/api/v1/recognize?model=en-US_NarrowbandModel"です。テキストに転記するためのflacファイルをアップロードしていますが、このメッセージ "データストリームaudio/flac - > audio/x-float-array"を変換できませんでした。どこが間違っているのか教えてください。データストリームaudio/flac - > audio/x-float-arrayをトランスコードすることができません

+0

ようこそ。 Guide:_ [ask] _を読んで、この問題を解決するためにあなたの質問にどのような情報を含めるべきかについての有益な情報がたくさんあります。 – mike510a

+0

flacからwavに変換する[ffmpegの複製](http://stackoverflow.com/questions/23333678/ffmpeg-to-convert-from-flac-to-wav) –

答えて

1

私があなたと共有したコードを見て、いくつか修正しました。この問題は実際にWatson STTサービスに関連していませんでしたが、オーディオバイトをPHPでアクセスしてプッシュする方法は、ここでは有効なバージョンです:

<form method="post" name="post_form" action="conversion.php" enctype="multipart/form-data"> 
    <input type="file" name="voice"> 
    <input type="submit" name="btnUpload" value="submit"> 
</form> 
<?php 
    if($_POST['btnUpload']) { 
     $username = "username"; 
     $password = "password"; 
     $url = 'https://stream.watsonplatform.net/speech-to-text/api/v1/recognize?continuous=true&model=en-US_NarrowbandModel'; 
     $filename = $_FILES['voice']['name']; 
     $filedata = $_FILES['voice']['tmp_name']; 
     $file = fopen($filename, 'r'); 
     $filesize = filesize($filename); 
     $bytes = fread($file,$filesize); 
     $data = array('part_content_type' => 'audio/flac'); 
     $headers = array("Content-Type: audio/flac", "Transfer-Encoding: chunked"); 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
     curl_setopt($ch, CURLOPT_POST, TRUE); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $bytes); 
     curl_setopt($ch, CURLOPT_INFILESIZE, $filesize); 
     curl_setopt($ch, CURLOPT_VERBOSE, true); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     $executed = curl_exec($ch); 
     curl_close($ch); 
     var_dump($executed); exit; 
    } 

?> 
関連する問題