FN ACID 测试版 · 上机说明
这是「函数 Acid」的实机测试固件(身份号 FM-1_956)。底座是开源的 Dinghy(zvenson),它沿用 SLOOP / Felucca 的底层(开机、USB、刷机通道、救援模式),我们只换了声音和画面。
刷之前(5 分钟)
- 备份 SLOOP 的工程:打开 SLOOP 网页编辑器 → Projects → Backup,存一个文件。新固件读不了 SLOOP 的工程,刷回 SLOOP 后可以从这个文件恢复。
- 用能传数据的 USB 线把 FM-1 直接插电脑(不要经过 Hub),开机。
- 用 Chrome 或 Edge(要 Web MIDI)。
刷入
- Chrome 打开 https://fn-acid.netlify.app ,安装按钮上写着当前版本(例如“安装 FN ACID 0.32”)。浏览器问 MIDI 权限时允许。
- 按 Install,等进度条走完(两三分钟,别拔线)。FM-1 会自己重启,屏幕变成荧光绿的“函数 Acid”。
- 写入时别切走这个标签页,也别把浏览器最小化:放到后台的标签页会被浏览器限速,每块数据之间的等待会从 10 毫秒变成 1 秒左右,整个过程能慢上好几倍。
本机测试版也可以用:python -m http.server 8814 -d D:/claude/function-acid-fw/web/installer,再开 http://localhost:8814 。
安装页的样子和文字是 FN ACID 自己的,里面负责刷机的代码是 SLOOP 2.7.1 的网页安装器(同一套代码,一字未改),只是把要装的包换成了 FN ACID。
刷坏了 / 想回去
- 想回 SLOOP:打开 SLOOP 的安装页 https://isod89.github.io/sloop-fm1/webapp/installer/ 按 Install;或在 FM-1 Firmware Hub https://thefirmwarehub.com/ 选 SLOOP。再用编辑器把备份恢复。
- 开机就崩 / 黑屏:按住 OCT− 再开机 = USB 救援模式(只有升级通道,没有声音),然后用上面任何一个安装页重新刷。连续两次开机崩溃,它也会自己进救援模式。
- 安装页最下面还有“回官方 V15”。
版本号
从 0.3 之后每次更新加 0.01:0.31、0.32、0.33……安装页和机器开机画面显示同一个号。改动记录在 GitHub:https://github.com/Electro-Dig/function-acid-fw
0.33 改了什么
- 存档 U1–U7:按住 SAVE,点白键 1–7 = 读出那一格;长按白键(0.7 秒,屏幕提示“LET GO: SAVE TO U3”)再松手 = 存进去。存了东西的格子在按键图上是黑的。每一格存的是全部:旋律、音色、鼓、旋钮动作。存的时候声音会顿一下(写闪存)。
- ACID 最多 32 步:在 SEQ 的 STEPS 页把 LENGTH 拧过 16,多出来的步先复制原来的线,你再去改后半段;再按一次 SEQ 翻到 17–32 步(再按一次是 LINE 页)。
- 四轨音量:按两下 GLO 进 MIX 页,KNOB1–4 = ACID / BIO / KICK / PERC 的音量。
- 0.32 存过的状态会保留。
0.32 改了什么
- 滤波器换成 303 那种 4 层的(视频里也是这种):同样的 CUTOFF 位置,声音更圆、更闷,开共振时“吱”更集中。想要原来那种更亮的 2 层滤波:EDIT 选 ACID,按 EDIT 翻到第 3 页 TYPE,KNOB1 选 SVF 2P。
- 8 条预设旋律,每条连音色一起载入。按住 HOME,按白键 9–16;或者在 SEQ 的 STEPS 页拧 PRESETS 旋钮一条条翻:
| 白键 | 名字 | 特点 |
|---|---|---|
| 9 | BLANK | 只有根音,自己从头写 |
| 10 | FILM | 讲解视频 drop 里那条线 |
| 11 | ROLLER | 一直滚动的 16 分音,八度跳 |
| 12 | SQUELCH | 音少、滑音长、共振很大、尾巴长 |
| 13 | DUB 3/16 | 音很稀,专门留空给回声 |
| 14 | ARP MINOR | 小调琶音上下走 |
| 15 | HYPNO | 两个音 + 连音和休止,催眠式 |
| 16 | RAVE | 快、八度、尖叫 |
- 录旋钮动作(X0X 的做法):播放时按 REC,再拧 CUTOFF / RESO / ENV / DECAY,你拧的过程会被录进 4 小节里;关掉 REC 后它会自己按你拧过的样子动。录了动作的格子右上角有个红点,数字会自己变。录着的时候再去拧,会暂时接管;想全部清掉:按住 REC 按白键 5(KNOBS)。换一条预设旋律也会清掉旧的旋钮动作。
- 0.31 里存过的状态会保留。
0.3 改了什么
- DECAY 改成 303 的范围:按步模式下是 200 毫秒到 2 秒,屏幕直接显示毫秒(视频里是 280 毫秒)。0.2 最长只有约 60 毫秒,所以每个音都很短促、没有尾巴。
- 加了一点小混响(FX 按两下 = SPACE 页,KNOB1 = REVERB):约 1.6 秒,只给 ACID、动物和它们的回声加。
- 按住 HOME 按白键 10(FILM)连音色一起载入:速度 120,CUTOFF 80、RESO 100、ENV 68、DECAY 约 280 ms、半步的音长、强重音、附点八分回声 42%、底鼓压 ACID 30%、16 分的镲。
- 修了一个问题:延时的反馈太大时会越来越响停不下来。
- 开机是一张空白页,不再自动放一段编好的曲子。 ACID 只在 16 步上弹根音(A1),鼓只有四拍底鼓和反拍镲,动物轨关着,自动换章(AUTO SONG)也关了。剩下的都由你自己写。
- ACID 改成按步写,和 303 一样。 每步可以是音、连音(TIE)或休止,还可以加重音、滑音。原来的公式还在,在 SEQ 的 STEPS 页把 PLAYS 拧到 FORMULA 就切回去;按住 HOME 再按白键 1–6 选章节,也会切回公式。
- 延时改成讲解视频里那种。 附点八分的回声在左右声道之间来回跳,每次都比上一次暗一点;只有 ACID 和动物送进延时,鼓不送。FX 页的四个旋钮是 TIME · FEEDBACK · MIX · TONE(TONE 控制回声有多暗)。
- 刷完以后,0.1 里存过的状态会清掉,回到这张空白页。
从空白开始:照视频的顺序摸索
- 按 ▶,在 HOME 页慢慢拧 KNOB1(CUTOFF):声音由闷变亮,这就是 acid 最主要的动作。
- 拧 KNOB2(RESO):截止点那里开始“吱”地叫。
- 拧 KNOB3(ENV)和 KNOB4(DECAY):每一步先张开再合上;合得快像“啵”,合得慢像“哇”。
- 按 SEQ 进入 STEPS 页,屏幕上 16 格正好对着 16 个白键。按住一个白键,拧 KNOB1 改音高,KNOB3 开重音(格子变红),KNOB4 开滑音(连到下一格的斜线)。 KNOB2 在休止、音、连音之间切换。轻点一下已经有音的白键 = 关掉这一步。
- 不知道写什么就按 OCT+:机器写一条新的 303 线,再按住你不喜欢的步去改;OCT− 只随机改 2–3 步。
- 想要视频里那条线:按住 HOME,按白键 10(FILM);想清空回根音:按住 HOME,按白键 9(BLANK)。
- 最后拧 FX 页的 MIX 听回声:0 是没有延时,往上拧回声越来越明显。
用键盘写音:停着的时候按 REC,然后弹琴键,每按一个键就按顺序填一步(第 1 步、第 2 步……)。播放时按 REC,弹的音会直接录进当前那一步。不按 REC、播放时按住一个键 = 整条线移调(303 的玩法),松手就回来。
FX 层:按住 FX,再按住白键
照 SLOOP 2.7 的做法:按住 FX,再按住一个白键,效果就一直在;松开白键(或松开 FX)立刻恢复。循环类的效果会对齐到下一个 16 分音符才开始。
| 白键 | 效果 | 白键 | 效果 |
|---|---|---|---|
| 1 | 循环 1/4 拍 | 9 | CRUSH:变粗糙的数字声 |
| 2 | 循环 1/8 | 10 | y + 12:ACID 整条线升高八度 |
| 3 | 循环 1/16 | 11 | y → 2c − y:ACID 的线上下翻过来(音高镜像) |
| 4 | 循环 1/32 | 12 | x / 2:ACID 慢一半(鼓不变) |
| 5 | 倒放(刚才那一拍) | 13 | 2x:ACID 快一倍 |
| 6 | 磁带停转:越转越慢直到停 | 14 | SQUELCH:滤波全开、共振拉满,尖叫 |
| 7 | 低通往下扫(一小节) | 15 | 上升,松手就是 drop |
| 8 | 高通往上扫(一小节) | 16 | 甩进延时(回声拉满) |
10–14 是“函数 Acid”独有的:它们直接对曲线做运算,按住时屏幕上的线会跟着翻转、拉长、压缩,提示条写着公式。几个效果可以同时按。
测试版能做什么
和网页版(visual-interaction-lab.netlify.app/04-function-acid)一样的操作,少了几样:
| 键 | 点一下 | 按住 + 琴键 |
|---|---|---|
| ▶/■ | 开始 / 停止 | — |
| HOME | CUTOFF · RESO · ENV · DECAY(最主要:慢慢拧开 CUTOFF) | 白键 1–6 换章(公式)· 9 BLANK · 10 FILM |
| SEQ | STEPS 页:LENGTH · PLAYS(STEPS / FORMULA)· SWING · TRANSPOSE;按住白键 = 编辑那一步;OCT+ 新线,OCT− 变异。再按一次 = LINE 页(公式的 N · OFFSET · DENSITY · SWING,OCT+/OCT− 掷公式) | 白键开关公式里的项,黑键选 N |
| EDIT / ENV | 当前轨的音色 / 包络 | 白键 1–4 选轨,9–16 选预置 |
| ALGORITHM / PRESETS | 选轨 / 换预置 | — |
| SELECT | 翻页;只有一页时换章 | — |
| REC | 给当前轨录音。ACID 停着时:每个键填下一步;播放时:录进当前那一步 | 白键 1 清当前轨 · 2 清全部 · 3 FOLLOW/EXACT(公式模式用)· 4 锁调 |
| GLO | 速度 · AUDIO CPU(声音占了多少算力)· 自动六章 · 每章小节数 | 白键 1–4 静音四轨 |
| FX | 延时:TIME · FEEDBACK · MIX · TONE | 16 个白键 = 按住时生效的效果(见下面“FX 层”) |
| SEL / ARP / LFO | 音阶 / 和弦 / LFO | SEL:琴键 = 根音;ARP:白键选和弦 |
| SAVE | 把当前状态存进机器(关机不丢;停止 20 秒后也会自动存) | — |
| OCT− / OCT+ | 键盘八度(SEQ 页上是掷线 / 变异) | — |
| MASTER | 音量 | — |
请帮忙看的几件事
- 手感:旋钮转一格变多少合不合适(0–127 的参数一格走 2,快拧一格走 3)。
- AUDIO CPU:GLO 页第 2 格。超过 50% 就危险,四轨全开时是多少?
- 屏幕:刷新顺不顺、字看不看得清、四条线分不分得开。
- 有没有爆音、卡顿、死机(死机时屏幕会显示 PC 地址,拍下来最好)。
- 和网页版比,声音像不像。
已知的局限:没有 U1–U8 存档;公式页只有标题;LFO / FX 等页面能调,但按住层只做了 SEQ、GLO、REC、FX、SEL、HOME、EDIT/ENV、ARP。