【发布时间】:2011-03-21 14:51:09
【问题描述】:
我希望这是发布此内容的正确位置,并且有人可以提供帮助。
我是一名音乐技术专业的学生,最近开始学习 C++,因为这将极大地帮助我了解一门编程语言,尤其是这门语言,因为它用于视频游戏行业。
总之进入主题。我想要创建的是一个程序(在 C++ 中),它允许用户加载一个 16 位线性 PCM WAVE 文件。然后我想操作该波形文件中的音频样本数据。我想删除每第 n 个样本或在某个参数(±10%)内随机化它们。然后将其写入新的 WAVE 文件。
我比较熟悉 WAVE 文件的结构和 RIFF 标头。我现在也使用 Xcode 作为我的 IDE(因为我的 macbook pro 是我的工作计算机),但如果需要,我可以使用代码块在我的 PC 上编码。
所以简单来说它应该显示类似这样的东西?我知道这其中有错误,只是为了让您了解我所追求的:
#include <iostream>
using namespace std;
class main() //function start
{
string fileinput; //variable
string outlocation; //variable
cout << "please type file path directory: \n \n";
cin >> fileinput; //navigate to file by typing
cout << "Where would you like to save new file? \n \n";
cin >> outlocation; //select output by typing
// Then all the maths and manipulation is done
cout << "Your file has been created at ";
cout << outlocation;
cout << "\n \n";
system("pause");
return 0;
}
如果有的话,是否可以在 Xcode 中执行此操作?我需要哪些库?我知道这不是简单的事情,所以任何帮助将不胜感激。
感谢您的帮助和时间。
詹姆斯
【问题讨论】:
-
是的 - 这应该很简单 - 你只需要一个合适的库来在内存中的 WAV 文件数据和原始 PCM 样本之间进行转换。
标签: c++ audio signal-processing