OscPocketO - 袖珍合成器和鼓机
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 2 |
必要的工具和机器
|
关于这个项目
下载最新代码和构建说明:https://oscillator.se/arduino!
受到其他便携式音乐制作机的启发,我阅读了优秀的 Mozzi 库。能够制作许多合成器和鼓机并能够在速度上同步它们不是很有用吗? OscPocketO 诞生了——一个仅使用 Arduino 和 LCD 键盘的便携式音乐工作室!
TheOscPocketO 是通过使用 SELECT 按钮切换到不同模式来控制的。使用 UP 按钮增加值,DOWN 减少值,使用 LEFT 和 RIGHT 移动光标。
每次 OscPocketO 播放音符时,Arduino 内置的 LED 都会闪烁。
请注意,将 OscPocketO 直接连接到您的家庭立体声音响可能会使其过载!使用耳机或混音器。
如果 LCD 显示混乱,反复按那么你通过工具菜单 - LCD 将被重置。
演示:
OscPocketO 合成器
模式:
开始 .启动和停止音序器。
同步 .设置同步模式。 NONE =没有接收或传输同步信号。 INT =内部,使用 OscPocketO 的内置时钟并发送同步信号(导体模式)。 EXT =external,OscPocketO 音序器由外部信号控制,但仍发送同步信号(播放器模式)。
模式 .选择当前模式。
编辑 .编辑当前模式。音符以 MIDI 值的形式存储在 1 小节(16 x 1/16 音符)中。
状态 .编辑音符状态:X =开,O =关。
节奏 .设置音序器的速度。
门 .设置演奏的音符门。 Gate表示为1/16的百分比。
移位 .移调(UP/DOWN)和移动序列(LEFT/RIGHT)。
波形 .设置(第一)振荡器的波形:SIN(正弦)、TRI(三角)、SAW(锯齿)和SQUARE(方波)。
攻击 .以毫秒为单位设置启动时间。
发布 .以毫秒为单位设置发布时间。
过滤模式 . OscPocketOs 是一个低通滤波器。可以调制截止:
- 已修复。无调制,使用截止值和共振值。
- 随机。从 0 到截止值的随机调制。
- 慢。从 0 到 255 在大约 4 个小节上进行调制。更改截止值。
- 快。从 0 到 255 大约 1 bar 的调制。更改截止值。
截止 .设置滤波器的截止频率(0 到 255 之间的数字)。
共振 .设置滤波器的共振(0到255之间的数字)。
波形2 .激活并设置第二个振荡器的波形:NONE(关)、SIN(正弦)、TRI(三角)、SAW(锯齿)和SQUARE(方波)。
DETUNE2 .相对于第一个振荡器使第二个振荡器失谐。该值以 Hz 为单位,并与第一个振荡器的频率相加。
播放 .键盘模式。音序器停止(如果正在运行)并且当前模式的前 4 个音符映射到 LEFT、UP、DOWN 和 RIGHT。
工具 .公用事业。用 UP 激活。
- S。将合成器设置和模式保存到 EEPROM 中,以便断电后调用。
- L.从 EEPROM 加载合成器设置和模式。
- R。创建随机模式。
- B.根据当前音符创建一个 Bassline 模式。
- C.将当前图案复制到下一个图案位置。
OscPocketO 鼓
OscPocketO Drumscan 可同时播放 5 种声音,全部由虚拟模拟合成器创建,这要归功于 Mozzi 库:Kick、Snare、Hihat、Clap 和 Crash。
模式:
开始 .启动和停止音序器。
同步 .设置同步模式。 NONE =没有接收或传输同步信号。 INT =内部,使用 OscPocketO 的内置时钟并发送同步信号(导体模式)。 EXT =external,OscPocketO 音序器由外部信号控制,但仍发送同步信号(播放器模式)。
模式 .选择当前模式。
编辑 .编辑当前模式。音符值是通过添加对应于不同声音的值来构建的:
- 踢=1
- 圈套 =2
- 踩镲 =4
- 拍手 =8
- 崩溃 =16
- 汤姆 =32
示例:值为 17 表示此步骤将播放 Kick (1) 和 Crash (16),1 + 16 =17。
节奏 .设置音序器的速度。
门 .设置 SYNC OUT 信号的门限。 Gate表示为1/16的百分比。
编辑器 .设置底鼓频率、释放时间和斜率(声音频率下降的速度),其中较大的值 =下降速度较快。
EDITSNARE .设置军鼓的频率、释音时间和斜率(声音频率下降的速度),其中较大的值=下降较快。
编辑 .在一些有趣的步进值和释放时间中设置频率。
EDITCLAP .设置发布时间。
编辑崩溃。 设置发布时间。
编辑 .设置汤姆的频率、释放时间和斜率(声音频率下降的速度),其中较大的值 =下降速度较快。
播放 .单人模式。 LEFT =Kick,UP =Snare,DOWN =Tom 和 RIGHT =Crash。
工具 .公用事业。用 UP 激活。
- S。将花样保存到 EEPROM 中,以便断电后调用。
- L.从 EEPROM 加载模式。
- R。创建随机模式。
- B.根据当前音符创建重复模式。
- C.将当前图案复制到下一个图案位置。
同步多个 OscPocketO 机器
一个 OscPocketO 必须是导体。这是将同步数据发送到其他名为 Players 的 OscPocketO:s 的机器。
1.设置
连接所有连接的 OscPocketO:s 的 GND(地)。有关如何制作合适的电缆,请参阅构建说明。
导体。开始:停止。同步:内部。
玩家。开始:停止。同步:外部。开始:播放。 (顺序很重要。)
将 SYNC OUT fromConductor 连接到第一个播放器的 SYNC IN。
如果您有多个播放器,请将第一个播放器的 SYNC OUT 连接到第二个播放器上的 SYNC IN。对每个玩家重复。
2.播放
导体。开始:播放。
您可以在所有 OPO 上调整声音和切换模式。你改变了指挥的节奏(仅)。
构建硬件
1.LCD键盘屏蔽
在连接 LCD 键盘防护罩之前,我们必须确保它没有连接到 Arduino 上的引脚 10 (D10)。 D10 通常用于控制 LCD 上的背光(亮度)。但是我们要使用 D10 来处理音频。
要完成这项工作,您必须弯曲进入 Arduino 上 D10 的屏蔽上的引脚。弯曲 90 度。
Arduino 背面的这张图片显示了屏蔽 (1) 的弯曲引脚和我们将在下一步修复的 Arduino (2) 的音频连接。
现在连接 LCD 键盘防护罩。
LCD和按钮通过Shield连接到Arduino:
- 液晶显示器:D4、D5、D6、D7、D8、D9
- 按钮:A1
RST(重置)按钮重置(重启)Arduino,软件不使用。
2.音频插孔
音频插孔连接到 Arduino 上的 D10 和 GND。 Mozzi 库通常与 D9 一起使用,但由于 LCD 键盘屏蔽使用此连接,因此我们必须对 Mozzi 库进行一些更改。这将在稍后的软件部分中描述。
将彩色电线焊接到音频插孔(信号)的“尖端”并将黑色电线焊接到套管(GND =地)。
将彩色电线焊接到 Arduino 的 D10。因为我们已经连接了屏蔽,所以使用 Arduino 背面的 D10 焊点。将黑线焊接到 Arduino GND,可以在屏蔽顶部找到。
3.同步进出
将母-母跳线对半切开,一部分焊接到 D11(SYNC IN),一部分焊接到 D12(SYNC OUT),一部分焊接到 GND。
4.放入盒子中
为了经久耐用,您应该将 OscPocketO 放入盒子中并固定电缆和音频插孔。
5.制作同步接地线
取一根长公对公跳线,去除中间的一些隔离,然后焊接切断的公接线。现在所有三个(或更多)端销连接。
安装软件
将您的 Arduino 连接到运行 Arduino IDE 的计算机。
安装和配置 Mozzi 库
使用 Mozzisite 上的说明下载并安装 Mozzi:https://sensorium.github.io/Mozzi/download/。
如果需要,请阅读有关安装 Arduino 库的更多信息:https://www.arduino.cc/en/Guide/Libraries。
默认情况下,Mozzi 输出到 D9,但由于 LCDKeypad Shield 使用此引脚,我们必须将其更改为 D10。
在 Mozzi 库文件夹中,在文本编辑器中找到并打开 AudioConfigStandardPlus.h。
在以下四行中将 A 更改为 B,将 B 更改为 A,使它们看起来像这样:
// 内部使用。如果有一个channel2,它会是OCR1B。#define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1B#define AUDIO_CHANNEL_2_OUTPUT_REGISTER OCR1A(...)#define AUDIO_CHANNEL_1_PIN TIMER1_B_PIN //define in TimerOne/config/time_coders_PINA_CHANNEL_PINA_CHIN_PINA_1H#define AUDIO_CHANNEL_2_OUTPUT_REGISTER OCR1A(...)
安装 OscPocketO 草图
选择想要尝试的 OscPocketOyou:合成器或鼓。在Arduino IDE中打开code_synth/code_synth.ino och code_drums/code_drums.ino并将它们上传到您的Arduino。
代码
- 合成器和鼓机代码。
合成器和鼓机代码。Arduino
无预览(仅限下载)。
示意图
制造工艺