(Xamarin)将音频文件从Wav转换为Flac for(Google)Cloud Speech API

时间:2016-10-25 08:16:03

标签: c# audio xamarin speech-recognition

我正在使用Xamarin.Forms编写适用于Android,iOS和Windows(通用)的跨平台应用程序。在应用程序中,我试图实现语音到文本(用荷兰语)。

此时我已经知道我的应用程序可以在所有平台上录制音频文件,但音频文件没有以我正在使用的Cloud Speech API的正确格式录制。对于API,您需要以.flac格式发送音频文件,但移动平台上的录音机不支持格式化的录音。

我正在尝试将现在录制为.Wav文件的音频录制音频文件转换为.Flac格式,但是我没有取得任何成功。

我正在尝试使用JavaFlacEncoder,但我不确定它是否可以在所有平台上使用Xamarin,因为它是一个Java类。

有人可以帮助我或建议将音频文件从.Wav转换为.Flac吗?

提前致谢。

迈克尔

2 个答案:

答案 0 :(得分:0)

有许多开源C#托管编码器,请检查FlacBoxC# Flake。另请参阅Discussion on the latter

答案 1 :(得分:0)

您无需将flac个文件发送到Google语音引擎。它还会读取LPCM个文件。 LPCM个文件are WAV个文件。您需要知道的是WAV文件正在采样的比特率。基本选项可以设置如下:

encoding: 'LINEAR16',
sampleRate: 16000 //<- whatever your sample rate is