#live-coding #interpreter #synth #music

bin+lib breakers

Breaker 实时编码语言的解释器

5 个版本

0.1.4 2024年1月27日
0.1.3 2024年1月27日
0.1.2 2024年1月27日
0.1.1 2024年1月27日
0.1.0 2024年1月27日

#250 in 音频

每月 33 次下载

GPL-3.0-or-later

51KB
1K SLoC


Breaker

用 Rust 编写的最小化音频实时编码语言。

Crates.io Version docs.rs

主要功能使用方法路线图许可

screenshot

主要功能

  • 网格:可配置的循环令牌序列
    • 令牌:音符、和弦、重复 _、暂停 & 或整数(可以映射到样本)
    • 网格令牌的长度可配置(例如 note grid_name 3/4
  • 映射:自定义令牌整数可以映射到样本,带有可选的概率参数
  • 混合:不同的网格可以混合
  • 合成器:目前,仅支持一个默认的合成器声音(滤波方形)
    • 将来,将添加可配置的合成器

路线图

使用方法

这里是一个breaker文件示例,my_first_beat.br

tempo 120 4/4

// make a new grid and name it 'beat'
// note: _ is a pause, & means 'continue playing'
grid beat {
    1 _ 2 _ 3 &
    1 _ 2 _ 3 4
} 
// map the symbols in the grid to samples
// note: 40% means that 4 will play with probability 40%
map beat {
    1: kick,
    2: hihat,
    3: snare,
    4: hihat2 40%,
}
// length of one token in the grid (default: 1/16)
note beat 1/16

grid chords {
    Cm7/C & & _
    [3]AbM7/Ab & & _
    [3]Fm7/F & & _
    [3]Fm7/F & & _
}

note chords 1/8

grid bassline {
    [2]c__[2]c__[2]c_
    [1]ab__[1]ab__[1]ab_
    [1]f__[1]f__[1]f_
    [1]f__[1]f__[1]f_
}

// adjust mix (default: 1.0)
mix bassline 2.0
mix beat 1.2

我们可以使用以下命令运行此文件

breaker -s samples/ my_first_beat.br

许可

GNU GPLv3

依赖项

~6–40MB
~579K SLoC