2017-07-30 29 views
0

我正在構建使用Google-Cloud-API進行語音識別的應用程序。 正如它所說的here它需要node-record-lpcm16來記錄語音。
該庫需要安裝sox。在Mac上它工作正常,但在Windows上運行沒有錯誤,但1秒後停止記錄。 我已經安裝了在文檔中提供的二進制文件,並將文件夾路徑添加到PATH變量中。無法在窗口上使用node-record-lpcm16錄製聲音

初始化:

const recognizeStream = speech.createRecognizeStream(request) 
    .on('error', reject) 
    .on('data', data => // process data); 

    record 
    .start({ 
     sampleRateHertz, 
     threshold: 0.1, 
     verbose: true, 
     recordProgram: 'sox', 
     silence: '1.0', 
    }) 
    .on('error', reject) 
    .on('end', resolve) 
    .pipe(recognizeStream); 

這就像Error: spawn sox ENOENT錯誤。但是在安裝SOX後卻錯過了。
我還沒有找到任何建議如何解決或調試它。

silence選項更改爲其他值並沒有改變任何內容。

我會很感激任何意見或想法如何解決這個問題。
對不起,我的英語

預先感謝您

+0

嗨,只是想知道你是否解決了這個問題?我收到了同樣的錯誤。謝謝。 – Towerss

回答

-2

嘗試使用節點記錄lpcm16安裝襪。 使用此命令來安裝sox:npm install sox

+0

您能否指出*爲什麼這解決了OP問題? –

0

我以前有過同樣的問題。看看「freund17評論於2016年11月23日」評論此鏈接:https://github.com/gillesdemey/node-record-lpcm16/issues/8#issuecomment-332175548

在你的node_modules> as

'-d','Microphone'

這對我有效。我實際上首先嚐試的是使用sox -d waveaudio file.wav命令從sox進行記錄。它只適用於我將麥克風添加爲設備的情況,因此我繼續將它添加到lpcm16中的index.js文件中。