4个版本
0.3.1 | 2020年3月23日 |
---|---|
0.3.0 | 2020年3月15日 |
0.2.8 | 2019年12月15日 |
0.2.7 | 2019年12月15日 |
#595 在 音频
每月 35 次下载
93KB
2.5K SLoC
和弦作曲家
用Rust编写的用于构建和弦进行和模式的音乐作曲工具。
和弦作曲家的理念是制作一个轻量级、便携且易于使用的工具,以结构化和弦模式和进行,以便为音乐创作构思提供结构。它必须适应常见的数字音乐写作工作流程,并不妨碍用户的创作过程。
此库的CLI可以在这里找到。
特性
- 使用
YAML
或通过API描述作曲模式。 - 将作曲模式导出到
MIDI
剪辑。 - 使用音频样本播放作曲模式。
未来工作
- 开发更好的音频引擎和乐器采样器。
- 支持
MIDI
路由。 - 探索支持常见音乐跟踪器的需求。
作曲参数YAML
文件
以下模板中概述了作曲参数 YAML
文件的架构。
# Name of the composition
name: default_composition
# The default master parameters of the composition.
# New master pattern can be assigned to a pattern that overrides
# the default master values.
master:
# The musical key to transpose the chords.
# Supported values: C, C#, D, D#, E, F, F#, G, G#, A, A#, B
key: F#
# The beats per minute of the composition.
time: 120
# The time signature of the composition.
# Beat numerator supported values: must be > 0.
# Beat denominator supported values: 2, 4, 8, 16, 32, 64
# e.g 3/8 is supported, 0/7 is not supported.
signature: [4, 4]
# Composition defined chords.
chords:
# [chord_name, [chord intervals]].
- [custom1, [0, 3, 8]]
- [custom2, [0, 5]]
# The composition's chord patterns/progressions.
patterns:
- name: part_a
# Each pattern event = [bar, beat, beat interval, chord name, chord transpose].
pattern:
- [1, 1, 1, MAJOR_SEVENTH, 0]
- [1, 3, 1, custom1, 0]
- [2, 1, 1, MAJOR_NINTH, 0]
- [2, 3, 1, custom1, 0]
- [3, 1, 1, MAJOR_SEVENTH, 3]
- [3, 2, 1, custom1, 0]
- [4, 1, 1, MAJOR_NINTH, -3]
- [4, 2, 1, ?, 0] # ? = Select a random user defined chord.
- name: part_b
master:
signature: [4, 8]
key: C#
time: 69
# Each pattern event = [bar, beat, beat interval, chord name, chord transpose].
pattern:
- [1, 1, 1, MAJOR_SEVENTH, 0]
- [1, 2, 1, custom1, 0]
- [2, 1, 1, MAJOR_NINTH, 0]
- [2, 2, 1, custom1, 0]
- [3, 1, 1, MAJOR_SEVENTH, 3]
- [3, 2, 1, custom1, 0]
- [4, 1, 1, MAJOR_NINTH, -3]
- [4, 2, 1, ??, 0] #?? = Select a random chord from user defined and internal defined chord.
依赖关系
~3.5–5.5MB
~91K SLoC