2017-08-09 668 views
1

我正在運行node.js 6.11.2。我沒有在瀏覽器中運行。我正在嘗試使用aws-sdk polly語音合成服務。該服務返回一個Uint8array作爲音頻數據。讓我們稱之爲audioData。我希望將此文件audioData轉換爲格式正確的MP3格式的音頻文件,以便我可以在本地緩存它。然後我想在樹莓派上播放這個文件。如何將Uint8Array轉換爲格式正確的mp3文件?我嘗試audioData.toString()但該文件無法播放。如何將Uint8Array轉換爲要保存的mp3格式文件

回答

0

我對語音合成知之甚少,但您可以將數組數據寫入標準輸出並輸入到ffmpeg

從標準輸出:

node script.js|ffmpeg -f s8 -i pipe:0 file.mp3

或者你可以在陣列第一寫入文件:

ffmpeg -f s8 -i audioData file.mp3

注意,默認採樣率是44100Hz,如果從speechsynthesis音頻是不同的使用ar選項來更改預期的採樣率:

ffmpeg -f s8 -ar [samplerate] -i [input] file.mp4 

不同的音頻類型可以在https://trac.ffmpeg.org/wiki/audio%20types 找到在上面的命令中用適當的音頻類型替換s8。

相關問題