NotationModel
包包含用于定义音乐记谱模型的模块。
此处包含的类型扩展了 dn-m/Music 包中定义的结构,为抽象音乐信息提供丰富的上下文,以便可以在各种记谱媒体中表示它们。 该包对具体的渲染后端保持不可知。
有关在 Swift 中音乐的图形表示方面的工作,请参阅 dn-m/NotationView。
SpelledPitch
模块公开了用于描述具有字母名称和变音记号的抽象音高(例如,您按下 MIDI 键盘上的键所获得的内容)的结构。 这是以渐进披露和类型安全的方式完成的:描述常见的音高场景很容易,描述更罕见的音高场景线性地更加困难,并且不可能描述逻辑上无效的音高场景。
Pitch.Spelling
结构提供了 Helmholtz-Ellis 记谱系统的模型。 该记谱系统从西方通用实践的 十二音平均律 调音系统优雅地扩展到高极限 纯律 调音系统。 该系统在 SMuFL 规范中表示,使这些结构到渲染上下文的映射尽可能无缝。
SpelledRhythm
模块定义了连线、延音线和附点的模型。
定义了将值定位到二维绘图上的模型。
扩展了 PlotModel
,加入了谱号、符头、变音记号等概念。
此软件包需要 Swift 4.2。
克隆仓库。
git clone https://github.com/dn-m/NotationModel
进入内部。
cd NotationModel
要求 Swift Package Manager 更新依赖项(全部为 dn-m
)。
swift package update
在终端中编译代码并运行测试。
swift test
要求 Swift Package Manager 生成一个不错的 Xcode 项目。
swift package generate-xcodeproj
打开它。
open NotationModel.xcodeproj/
NotationModel
包包含多个模块