我有 G729 编码的音频文件,需要以编程方式将它们转换为 WAV PCM(16bit 8kHz 单声道)。我有一个可执行文件可以帮我完成这个任务。但每次转换都生成外部进程太耗费资源了,特别是如果我需要并行地完成多个转换。
我正在寻找一个 .NET 库或代码,可以让我在我的进程中调用该程序。
请点击此链接:VoiceAge开源G.729实现。他们还提供了用C语言编写的G.729解码器和编码器。
维基百科说:“G.729包括来自多家公司的专利,并由Sipro(http://www.sipro.com/)授权。在一些国家,使用G.729可能需要支付许可费和/或版税。”
但我猜你已经在你的应用程序中考虑到了这一点。
如果你非常必须在进程中,一个解决方案(不是说它是最好的)可能是使用LGPL下的LibAVCodec。
可免费使用的参考实现位于:http://www.readytechnology.co.uk/open/ipp-codecs-g729-g723.1/
请注意其他人提出的专利问题,参考实现仅在Intel处理器上运行,并且您需要向Intel支付费用,以便在商业产品中作为其IPP库的一部分分发代码。