我正在寻找一个好的.NET音频压缩库。任何使用MP3的东西都没有了(因为许可问题)。基本上我只需要能够将普通的WAV音频数据压缩成某种格式,然后解压缩回WAV。代码最好是.NET(C#或VB.NET),但我认为这不太可能。它应该是无损的或相对无损的(最好是192个MP3),压缩比至少可以达到4:1。我更喜欢基于缓冲区的API,但基于文件的API也可以。什么是最好的.NET音频压缩库?
有没有人知道这样的事情?
我正在寻找一个好的.NET音频压缩库。任何使用MP3的东西都没有了(因为许可问题)。基本上我只需要能够将普通的WAV音频数据压缩成某种格式,然后解压缩回WAV。代码最好是.NET(C#或VB.NET),但我认为这不太可能。它应该是无损的或相对无损的(最好是192个MP3),压缩比至少可以达到4:1。我更喜欢基于缓冲区的API,但基于文件的API也可以。什么是最好的.NET音频压缩库?
有没有人知道这样的事情?
你有没有想过使用WMA?如果您使用托管C++或C++/CLI,则可以非常容易地在Windows Media Format SDK中编写托管包装。这个程序集可以被更高级别的VB.Net或C#程序集轻松使用。只要你安装了WMP,它甚至具有不需要任何附加依赖的优点。
您可能会看看OGG编解码器。我不确定是否有任何使用.NET编写的软件,但它是开源的,所以如果这对你很重要,你应该能够轻松移植一个。
你已经想到了.OGG格式吗?我不知道.net库是否可用,但libogg和libvorbis C库不是火箭科学,并且经过了充分测试。对于一个简单的压缩/解压缩作业,您可以使用一个处理所有细节的两个函数包装器。
应该很容易在它们周围编写一个.net包装。
优点:
FLAC看起来很有趣。
Monkey's Audio是另一个(它甚至可能在.NET中工作)。
看看FMod。具有良好的音频压缩,播放以及3D效果功能。它支持很多音频格式。它是用C语言编写的,但有一个很好的C#包装器。
定义“很容易”。 :) – MusiGenesis 2008-10-15 00:45:49
够正确。与写作/设计你自己的相比,“简单”? – 2008-10-15 00:57:50
我写了我自己的(非FFT)算法,但它只能得到2:1。我至少从概念上理解MP3风格的压缩是如何工作的,比我理解OGG Vorbis代码的结构更好。 – MusiGenesis 2008-10-15 01:06:42