Linux中的实时音频分析
|
我想知道使用的推荐音频库是什么? 我正在尝试制作一个有助于调谐乐器的小程序. (钢琴,吉他等).我看过关于ALSA& Marsyas音频库. 我认为这个想法是从麦克风采样数据,对5-10ms的分组进行分析(从我读过的).然后执行FFT以确定哪个频率包含最大峰值. 解决方法这是一个很好的选择,这是为了完成这样的任务而建立的.为了调整仪器,您需要做的是使用一种估算基准的算法 以下是您将在Marsyas中使用的基本代码:
MarSystemManager mng;
// A series to contain everything
MarSystem* net = mng.create("Series","series");
// Process the data from the SoundFileSource with AubioYin
net->addMarSystem(mng.create("SoundFileSource","src"));
net->addMarSystem(mng.create("ShiftInput","si"));
net->addMarSystem(mng.create("AubioYin","yin"));
net->updctrl("SoundFileSource/src/mrs_string/filename",inAudioFileName);
while (net->getctrl("SoundFileSource/src/mrs_bool/notEmpty")->to<mrs_bool>()) {
net->tick();
realvec r = net->getctrl("mrs_realvec/processedData")->to<mrs_realvec>();
cout << r(0,0) << endl;
}
此代码首先创建一个我们将添加组件的Series对象.在一个系列中,每个组件 然后我们告诉SoundFileSource我们要在AudioFileName中读取该文件. 然后while语句循环,直到SoundFileSource耗尽数据.在里面 当您使用Marsyas的Python绑定时,这更容易. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何在Bash中暂停和恢复一系列命令?
- linux – 校验和远程文件
- php – chmod()操作不允许 – FatFree框架
- Ubuntu 报错 sudo: unable to resolve host xxxx
- linux – i386:x64-32 vs i386 vs i386:x86_64
- linux – 如何更改Postfix中的Envelope?
- linux – 使用/ etc / passwd-,/ etc / shadow-,
- Linux上的生产就绪,高度可靠的文件系统:ext4 ex
- linux – 获取驱动器电源状态而不会唤醒它
- linux – 恢复或重新加载/ etc / fstab设置的快速
