我想编写一些代码来生成一些非常简单的音乐音调(音符)并通过扬声器(无论声音设备)输出它们。
我怀疑我可能需要生成MIDI数据,我可以独立弄清楚,但我一般都是音频编程的新手,我不确定最佳切入点是什么进入系统框架是。 AudioToolbox
包含这些MusicSequence
个对象。还有Core MIDI和Core Audio。没有一个明显的界面,这里有一堆笔记的数据结构,现在称这种方法来播放它们,所以我大概需要将这些方法的一些组合拼凑起来
我确信OS X支持这一点。如果有人有这种工作的背景,我会理解几个关于文档(或其他资源)开始寻找构建代表音乐数据的结构以及你转向的地方的基本指示。触发播放。
答案 0 :(得分:3)
OS X确实支持这一点,但它本身比起初看起来要复杂得多。基本上有三个部分:
你如何设置AUGraph有很多潜在的变化。例如,默认的通用MIDI合成器是内置的DLSMusicDevice,但您也可以加载FM合成器,采样器或任意数量的其他仪器单元。从那里,您可以通过各种方式处理音频并将其路由到各种设备。所有那些属于"音频处理"的一般类别的东西发生在AUGraph内。
Apple的PlaySequence示例代码主要用于您正在寻找的内容。它是一个C ++项目 - 但MusicSequence,MusicPlayer和AUGraph都是普通的C API,因此它应该是一个不错的起点。 https://developer.apple.com/library/mac/samplecode/PlaySequence/Introduction/Intro.html