我有兴趣的声音,我想开始做某事,但我不知道从哪里开始.
纠正我,如果我错了,但生成声音的最低级别是其中之一(DirectSound
,CoreAudio,ALSA,OSS),具体取决于 *** 作系统.所以我必须选择一个 *** 作系统并学习适当的音响系统?
这是真的值得吗?我应该只学习一个包含上述所有的图书馆,并提供跨平台的兼容性?
也许这个问题不是很清楚,我很抱歉,但事实证明,我甚至不知道我想要什么.我只是为了找到我的论文有趣的东西.
解决方法 这是一个让你开始的例子.// filename "wf.cpp" (simple wave-form generator) #include <iostream> #include <cmath> #include <stdint.h>int main() { const double R=8000; // sample rate (samples per second) const double C=261.625565; // frequency of mIDdle-C (hertz) const double F=R/256; // bytebeat frequency of 1*t due to 8-bit truncation (hertz) const double V=127; // a volume constant for ( int t=0; ; t++ ) { uint8_t temp = (sin(t*2*M_PI/R*C)+1)*V; // pure mIDdle C sine wave // uint8_t temp = t/F*C; // mIDdle C saw wave (bytebeat style) // uint8_t temp = (t*5&t>>7)|(t*3&t>>10); // viznut bytebeat composition std::cout<<temp; } }
通过ALSA接口在linux上编译并运行:
make wf && ./wf |aplay
通过GStreamer接口在linux上编译和运行:
make wf && ./wf |gst-launch-0.10 -v filesrc location=/dev/stdin ! 'audio/x-raw-int,rate=8000,channels=1,depth=8' ! autoaudiosink
GStreamer声称是跨平台的.感兴趣的主要特征是您可以创建(或使用现有的)插件来构建音频过滤器的流水线.
总结以上是内存溢出为你收集整理的c – 生成没有图书馆的声音?全部内容,希望文章能够帮你解决c – 生成没有图书馆的声音?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)