我正在尝试将文本转语音保存为MP3。 目前我的System.Speech.Synthesis很好地与WAV文件对话。
With New System.Speech.Synthesis.SpeechSynthesizer
'.SetOutputToWaveFile(pOutputPath) This works fine
.SetOutputToWaveStream(<<Problem bit>>)
.Speak(pTextToSpeak)
.SetOutputToNull()
.Dispose()
End With
现在注释掉的第一行产生了一个很好的WAV文件。目前我正在尝试用MP3输出流替换它并没有取得多大成功。
我已经尝试过Yeti.MMedia转换器,但它要么不起作用,要么我没有成功地工作。我必须承认,我对编码,速度等知之甚少。
所以我的问题是,有没有人知道一个很好的方式,我可以说如下:
.SetOutputToWaveStream(New MP3WriteStream(pOutputPath))
并让SpeechSynthesizer写入WAV,然后转换为MP3并最终在硬盘上。
答案 0 :(得分:2)
首先,让Yeti类提供具有适当压缩因子的可写流。然后,使用SpeechSynthesizer.SetOutputToAudioStream - 告诉TTS引擎有关语音质量的信息。
答案 1 :(得分:0)
我认为除了使用Wav编写它然后使用LAME MP3 Encoder(等)转换它之外没有任何其他方法。
答案 2 :(得分:0)
简单地用Yeti捣蛋,它确实有效,我在一个非常大的网络应用程序上使用它,它已经运行了大约2年没有问题。