Tag: wav

来自.wav文件的峰值频率

我有一个.wav文件,当我弹吉他音符时由我录制。 然后我使用下面的程序来读取我的.wav文件数据。 我使用了Naudio库。 AudioFileReader readertest = new AudioFileReader(@”E:\song\music.wav”); int bytesnumber = (int)readertest.Length; var buffer = new float[bytesnumber]; readertest.Read(buffer, 0, bytesnumber); for (int i = 0; i < buffer.Length; i++) { Console.Write(buffer[i] + "\n"); } 它输出如下。(输出的一部分)。 0.00567627 0.007659912 0.005187988 0.005706787 0.005218506 0.003051758 0.004669189 0.0007324219 0.004180908 -0.001586914 0.00402832 -0.003479004 0.003143311 -0.004577637 0.001037598 -0.005432129 -0.001800537 -0.005157471 我对这个输出数据包含的内容感到困惑。 我想拍摄音符的峰值频率。 […]

如何在C#中连接WAV文件

我有2个wav文件,我想用两个音轨连接成一个文件。 是否有任何api用于该任务或.NET中的一些内置命令,我可以用某种天才的方式使这项任务成为可能吗? 非常感谢您的帮助。 🙂

为内存中的流创建有效的wav文件头

我有raw-headerless wav音频数据作为MemoryStream s。 Stream rawAudioStream = Producer.GetRawAudioFileStream(…); 我知道那些流数据格式: // WaveFormat(int rate, int bits, int channels); WaveFormat waveformat = new WaveFormat(8000, 16, 1); 我想要的是以编程方式为这些内存流添加正确的头信息,而无需将它们写入物理文件。 我怎样才能做到这一点? PS:我检查了NAudio库,但只找到了一种通过将流写入真实物理文件来创建标题的方法,这不适合我的情况 。 var waveformat = new WaveFormat(8000,16,1); var reader = new RawSourceWaveStream(rawAudioMemStream, waveformat); using (var convertedStream = WaveFormatConversionStream.CreatePcmStream(reader)) { WaveFileWriter.CreateWaveFile(fileName, convertedStream); } rawAudioMemStream.Close();

我该如何重新采样wav文件

目前我正在录制具有以下规格的音频信号: 频道:1 SamplesPerSecond:8000 BitsPerSample:16 如何将此.wav文件转换为例如以下规格(首选纯c#): 频道:1 SamplesPerSecond:22050 BitsPerSample:16

在C#中播放多个wav文件

我有一个应用程序,当按下或单击一个键或按钮时我需要播放一个wav文件,我使用SoundPlayer类,但当我尝试播放另一个wav文件同时正在播放的那个文件停止。 有没有办法同时播放多个wav文件? 如果它可以请你给我举例或教程? 这是我到目前为止所得到的: private void pictureBox20_Click(object sender, EventArgs e) { if (label30.Text == “Waiting 15.wav”) { MessageBox.Show(“No beat loaded”); return; } using (SoundPlayer player = new SoundPlayer(label51.Text)) { try { player.Play(); } catch (FileNotFoundException) { MessageBox.Show(“File has been moved.” + “\n” + “Please relocate it now!”); } } } 谢谢!

使用.net多次播放wav文件异步

我有一个应用程序,我需要在按下一个键时播放一个wav文件,我使用SoundPlayer类,但如果按下一个新键时正在播放另一个声音,它会停止声音再次播放它使它看起来很难看。 … 是否有任何方法可以再次播放相同的声音,即使有另一个被播放? 谢谢!

在.NET中播放.WAV文件

我正在尝试编写一个SAMPLER程序,其中每个键都有不同的声音(WAV文件)。 有人可以向我解释或给我一个解释链接,我可以学习如何播放WAV文件? 如果重要,我正在使用Microsoft Visual C#并使用WinForms。

C#真正的低级声音生成?

任何人都知道在C#中创建ARBITRARY声波并从扬声器播放的合理方法吗? 这个问题已经不断出现多年,我总是在经历了很多失败之后放弃了它而没有找到解决方案。 我想做的就像一个反向可视化器,也就是说,我不想从声音生成“数字”,我想从数字生成声音。 就像我提供的一个函数,我提供了采样率,样本大小和声音数据(例如一个整数数组),它会从中生成相应的wav文件(实时声音播放将是理想的,但我’对此也非常满意)。 我知道wav文件规格遍布整个interweb,并且确实做了几次创建上述function的尝试,对于低频率有一些成功,但是一旦我开始弄乱每个样本的比特等……它就变成了一个巨大的,无法控制的混乱。 这还没有以任何方式完成吗? 我不介意它使用什么,只要它有一个.NET托管包装(我可以从最近的VS访问它到时间)。 XNA不支持低级音频。 还发现了几个声称可以实现类似function的例子,但它们要么根本不起作用,要么做一些完全不同的事情。 谢谢。

C#中.wav的平均幅度

有没有人知道使用C#获取.wav文件的平均幅度的方法(即使它意味着调用外部命令行程序并解析输出)? 谢谢!

C#频率分析仪

我正在寻找一个C#源代码,对WAV文件执行频率分析,并在图表中显示结果,类似于WavePad等应用程序中显示的结果。 你知道我在哪里可以找到这样的代码吗? 谢谢!