从头开始创建一个 mp3 文件 C#
Posted
技术标签:
【中文标题】从头开始创建一个 mp3 文件 C#【英文标题】:Create an mp3 file from scratch C# 【发布时间】:2011-11-16 17:29:18 【问题描述】:作为一些实验的一部分,我想到了一些事情,我如何在 C# 中从头开始创建一个 .mp3 文件,这实际上听起来有点像,例如,创建一个播放音符的 mp3 文件:C# 或 B flat?
我怎样才能做到这一点,它必须是mp3文件,而不是wav或其他任何文件。
【问题讨论】:
@mekici 为什么不呢?它只是一种文件格式,一个音符只是一个频率。 看看这个,它可能会让你开始codeproject.com/KB/audio-video/MP3Compressor.aspx @mekici 为什么你说不可能?有一些音频程序可以模拟钢琴和其他乐器(它们包括不同的音符),您可以录制这些声音然后转换为 MP3 格式或其他格式。 @mekici,我的回答很简单,你错了。 当然可以。 MP3 是使用软件创建的。 C# 制作软件。 我认为底线是,如果您想从头开始(即生成样本然后手动编码它们),获得一些东西是一个很多的工作MP3 文件格式)。如果您使用波表/合成器库来生成乐器样本和库或转换器以输出到 MP3,那么这将变得更容易。如果你自己做,你最终会得到一个纯正弦波,这可能不是你想要的。如果您想要一个可用的结果,请使用高级库。 【参考方案1】:所以我不能给你确切的代码,但我可以给出一个起点。
所以基本上步骤是
-
找到您想要的波的频率。看this。 C#(顺便说一句,不错的选择!)是 17.32HZ
将频率转换为LPCM,这只是一系列幅度值。
将 LPCM 编码数组转换为 MP3 文件。这可能是最难的,但 LPCM 构成了WAV format 的基础,并且有转换器可以将其转换为 MP3。看看发现的 NAudio baalazamon。它支持 PCM。
【讨论】:
【参考方案2】:我会尝试使用NAudio,它非常强大。主要目的是处理音频文件,但值得一试。
【讨论】:
以上是关于从头开始创建一个 mp3 文件 C#的主要内容,如果未能解决你的问题,请参考以下文章