SunVox User Manual
PDF version of this page
Русская версия
2025.02.07

什么是SunVox

SunVox 是一款小巧、快速且功能强大的模块化合成器,带有基于模式的音序器(追踪器)。它是为那些喜欢随时随地创作音乐的人们设计的工具。适用于任何设备,任何系统。

Official SunVox page

术语列表

  • 幅度 - 数字音频信号的一个样本的值(Y轴上的位置),或者是声音波形在周期内相对于零的最大位移值(如果讨论的是生成器的振荡);
  • 音频信号 - 声音以图形(波形)形式的表示,随时间变化的幅度变化过程;在模拟音频中,幅度是电压水平;在数字音频中,幅度是一个离散值(通常是一个32位浮点数);
    Audiosignal
  • 自动化 - 播放过程中项目参数的自动变化;例如,程序可以平滑地降低/增加滤波器频率,或者改变节奏;自动化命令的来源可以是模式,或者是某个特殊模块(MultiCtl、Pitch2Ctl、Sound2Ctl、Velocity2Ctl);
  • 平衡 - 左右声道的相对增益;例子:
    • 平衡 = -128:左声道音量 = 100%;右声道音量 = 0%;
    • 平衡 = 0:左声道音量 = 100%;右声道音量 = 100%;
    • 平衡 = 128:左声道音量 = 0%;右声道音量 = 100%。
  • BP, BPF - 带通滤波器;
  • BPM - 每分钟节拍数;
  • 直流偏移, 直流偏置 - 波形中心相对于零的垂直位移;长度为L的片段的直流偏移 = 样本幅度总和 / L;
  • 包络 - 某个参数(音量、频率、声像等)随时间变化的依赖关系图;一般来说,任何声音波形都是一个包络——音频信号可以通过 Sound2Ctl 模块转换为控制命令;
  • HP, HPF - 高通滤波器;
  • LFO - 低频振荡器,用于调制某些合成器/效果参数(频率、音量、声像等);
  • LP, LPF - 低通滤波器;
  • 声像 - 声音在左右立体声空间中的位置;如果声源是单声道,则此参数等同于平衡(如上所述)。
  • 相位 - 波形周期(在生成器中)或样本上的某个时间点的位置。通常这指的是初始相位,而不是当前位置。
  • 采样:
    • 一个声音数据单元 - 表示数字音频信号在某一时刻的幅度;
    • 某种声音的一部分,以数字形式表示:上述的值(幅度)集合;它可以非常长(循环或整个音频轨道),也可以非常短(某个乐器的一个音符)。
  • 采样率 - 每秒的采样数。
  • 持续 - 包络上的悬停点(直到音符关闭)。
  • 滴答 - SunVox模式中最短的时间间隔。1拍 = 24滴答。
  • TPL - 每行滴答数。
  • 力度 - 结合了表达类型的速度参数(按键的速度或强度)和触后(按住键的力量)。它可以在单个音符生命周期中的任何时候改变。

最低系统要求

Windows: 2000 (x86); 7 (x86_64)。

Linux: 任何现代发行版 + libsdl2(可以使用apt-get或其他包管理器安装此库)。

macOS: 10.13 (x86_64)。

Android: 4.1。

iOS: 12。

Windows CE: 3.0 (ARM)。

安装

Windows:

  1. 下载 SunVox for Windows(ZIP存档)。
  2. 将此存档解压到用户文件夹中(具有读写权限;例如,外部闪存驱动器上的个人文件夹)。
  3. 解压后会看到一个新的目录 sunvox - 打开它,并进入 sunvox/windows_x86(适用于32位系统)或 sunvox/windows_x86_64(适用于64位系统)目录。
  4. 在最后一个文件夹中,你会发现几个可执行文件:
    • sunvox - 具有32位音频引擎的版本;
    • sunvox_lofi_console - 针对慢速设备的具有16位音频引擎的版本。

Linux:
  1. 下载 SunVox for Linux(ZIP存档)。
  2. 将其解压到主用户目录(/home/username)。
  3. 解压后会看到一个新的目录 sunvox - 打开它,并进入 sunvox/linux_X 目录,其中X是你的设备架构名称。
  4. 在最后一个文件夹中,你会发现几个可执行文件:
    • sunvox - 具有32位音频引擎的版本;
    • sunvox_lofi - 针对慢速设备的具有16位音频引擎的版本。
    • 如果出现错误:打开终端,进入 sunvox 目录(使用 cd 命令),输入 chmod a+x sunvox 然后 ./sunvox;如果仍然无法运行,请将终端中的所有错误消息复制并发送至 nightradio@gmail.com。
这里是Raspberry Pi用户的说明

macOS:

  1. 下载 SunVox for macOS(ZIP存档)。
  2. 解压后会看到一个新的目录 sunvox;将其移动到另一个用户创建的目录;不要使用应用程序文件夹。
  3. 进入 sunvox/sunvox/macos 目录。
  4. 阅读macOS 10.12+用户的重要信息
  5. 启动SunVox。

Android:
  1. 从Google Play获取SunVox
  2. 阅读此内容:一些问题的已知解决方案(Android)(许可证错误、文件操作等)。

iOS:Windows CE:
  1. 下载 SunVox for Windows CE(ZIP存档)。
  2. 将其解压到计算机上的任意文件夹。
  3. 解压后会看到一个新的目录 sunvox - 打开它,并进入 sunvox/wince 目录。
  4. wince 文件夹中找到 sunvox.cab 文件 - 只需将此文件复制并安装到Windows CE设备上。
  5. 一些旧的Windows CE设备未预装GAPI - SunVox需要这个库;你可以尝试从这里获取。

不同版本的比较

系统支持的架构声音引擎格式多点触控GPIO
Linuxx86, x86_64, ARM(基于Maemo的设备、Raspberry Pi、PocketCHIP等),ARM64(PINE64等)32位浮点 / 4,12定点YESYES
Windowsx86, x86_6432位浮点 / 4,12定点YES
Windows CEARM4,12定点
macOSx86_6432位浮点
AndroidARM, ARM64, x8632位浮点YESYES
iOSARM, ARM6432位浮点YES

如你所见,SunVox中有两种声音引擎格式。让我们详细看看它们。

  • 32位浮点 - 使用高质量的32位(某些情况下为64位)浮点计算进行声音合成。需要数学协处理器(FPU)。可以在大多数现代计算机上使用。
  • 4,12定点 - 使用低质量的定点计算(4整数位和12小数位)。专为没有FPU的慢速计算机设计。这种版本的引擎比32位版本快得多,但声音中会有少量量化噪声。在这种情况下,导出的32位WAV文件可能会有更好的音质,因为没有信号削波。

在某些情况下,声音引擎格式将自动选择。但在某些情况下(例如Linux),你可以手动选择:SunVox有几个不同引擎的版本。
你总能在SunVox主菜单 -> 关于窗口中找到当前引擎格式的信息。

界面描述

SunVox界面被划分为几个矩形窗口(区域):

  • 模式编辑器;
  • 音乐键盘;
  • 所选模块的控制器 + 模块(路由);
  • 时间轴(在此选择模式,其内容将在顶部的模式编辑器中显示)。
每个窗口都有自己的菜单,包含不同的选项和功能——使用带有三条横线的按钮打开此菜单。点击其中一个窗口可使其激活并置于焦点位置。所有按键输入将首先发送到此活动窗口。如果该窗口不知道如何处理接收到的命令,则会将这些命令转发给模式编辑器,因为这是优先级最高的窗口。

窗口的大小可以调整。为此,提供了特殊的窄面板(垂直和水平),通过拖动其中一个面板,可以同时调整多个区域的大小。其中一个面板包含时钟、音量控制和播放控制按钮。

第一次点击停止按钮——停止播放。第二次点击——重置所有SunVox活动并将引擎切换到待机模式。

控制

SunVox主窗口中有两种模式(模式、模块、时间轴):选择模式和导航模式。
鼠标左键 = 选择或导航(取决于模式)。
鼠标中键 = 导航。
桌面默认为选择模式。
移动设备默认为导航模式。
如果主菜单 -> 设置 -> 界面 -> 控制类型 = “手指”,则SunVox将像在移动设备上一样工作。

如果没有中键但需要导航怎么办?

  • macOS:
    • CMD + 左键;
    • 或者安装一些应用程序来模拟中键,例如Middle。
  • 所有系统:
    • 某些触摸板支持中键模拟:使用三指点击或同时按下左右键(请查看系统触摸板设置);
    • 使用带有选择矩形的按钮在编辑模式之间切换;
    • 如果没有这样的按钮,请取消注释sunvox_config.ini中的一个show_sel_btn选项。

适用于所有设备的通用规则:
  • 使用触控笔或手指点击等同于按下鼠标左键;
  • 在空白区域双击 - 创建新对象(如果可能);
  • 双击对象以打开其属性(如果可能);
  • 滚轮 - 缩放或上下滚动;
  • 鼠标右键 = 菜单;
  • SHIFT + 左键 = 连接模块或禁用时间轴网格吸附;
  • CTRL + 左键 = 多选模式(不清除之前的选中项)。

工具栏

工具栏1是带有STOP和PLAY按钮的主要水平分隔条。
工具栏2是时间轴上方的第二个水平分隔条。
浮动工具栏是从主菜单 -> 工具栏打开的窗口。

从v2.1开始,这些面板可以自定义(添加/移除按钮)。要执行此操作,请转到主菜单 -> 设置 -> 工具栏。每个工具栏由一个字符串描述,其中包含按钮和命令名称,用逗号分隔。命令 < 和 > 设置添加按钮的方向:从左到右或从右到左。
可用名称:

  • < - 切换添加按钮的方向:从左到右(默认);
  • > - 切换添加按钮的方向:从右到左;
  • play;
  • play2 - 从头开始播放;
  • play3 - 播放模式;
  • stop;
  • rec;
  • vol - 音量;
  • svol - 音量(简短版本);
  • lev - 信号电平指示器;
  • undo;
  • redo;
  • cut;
  • copy;
  • paste;
  • dup - 复制;
  • bpm - BPM;
  • bpmtpl - BPM和TPL;
  • clock - 当前时间;
  • cpu - CPU使用率监视器;
  • cpu2 - CPU使用率监视器(按下将打开模块列表)。

主菜单可以通过点击左上角的SunVox标志按钮打开。以下对其项目进行说明。

菜单项描述
新建项目通过此菜单项创建新项目(空项目或基于模板)。可以在以下路径指定模板文件:主菜单 -> 设置 -> 主 -> 设置启动模板。
加载项目加载项目文件。支持的格式:sunvox, mod, xm, midi。
合并项目与上一项相同,但不清除当前项目。
保存项目保存项目文件。重新保存时不会询问文件名。
另存为保存项目文件。始终会询问文件名。
导出/导入保存和加载项目的各种选项。例如,导出为MIDI或WAV。对于某些系统,可能会有与其他应用交换文件的功能。
项目属性打开可以更改以下项目参数的窗口:
  • 名称;
  • BPM和TPL(节奏);
  • 时间网格显示选项;
  • 最初创建此项目的程序版本;用于正确播放旧版本SunVox创建的文件;影响某些模块的声音;
  • 同步设置:SunVox可以从其他应用通过MIDI或AU主机(仅限iOS)接收同步命令;此处可以指定外部MIDI同步源:主菜单 -> 设置 -> MIDI。
撤销
重做
工具栏打开带有一些常用功能(复制、粘贴等)的可移动窗口。
触控特雷门打开用于实时演奏选定模块的虚拟特雷门窗口。用手指/光标点击会激活一个声音。上下移动改变声音的音量。左右移动设置音高。
设置打开程序设置窗口。设置分为以下几组:
  • 主;
  • 模块;
  • 时间轴:
    • 显示时间轴:
      • 自动 - 根据屏幕尺寸;
      • 是 - 始终显示时间轴;
      • 否 - 时间轴默认隐藏,但可以通过模块窗口中的T按钮显示;
    • 从0或1开始显示行号;
    • 十六进制行号(开/关);
    • 十六进制轨道号(开/关);
    • 网格单元X大小;1 = 项目属性中的时间网格值;
    • 网格单元Y大小;1 = 超级轨道 / 32;
  • 工具栏 - 工具栏设置
  • 界面:缩放、颜色、字体、快捷键、语言等;
  • 音频:输入/输出声音设备(并非适用于所有系统)、缓冲区大小(延迟)、采样率;
  • 录音:录制SunVox命令(音符、控制器变化)的设置:
    • 节拍器开/关;
    • 适合网格:启用后 - 新录制模式的起始位置将是32的倍数;
    • 音符量化:启用后 - 延迟效果(40...5F)不会用于新录制的音符;
    • 自动化量化:启用后 - 延迟效果(40...5F)不会用于自动化(控制器变化)命令,并且模式大小将更加紧凑(每个控制器一条轨道)且易于阅读;
  • MIDI:外部MIDI控制器及其设置。
关于应用程序版本和声音引擎信息。
帮助简要和详细说明。
退出完全关闭程序。

键盘快捷键

您可以在主菜单 -> 设置 -> 界面 -> 快捷键中更改它们。任何键和MIDI按钮都可以分配给任何SunVox操作(以下列表中的操作)。

通用:

按键描述
CTRL + Z撤销
CTRL + Y 或 SHIFT + CTRL + Z重做
CTRL + N新建项目或对象(模块/模式/...)
LEFT, RIGHT, UP, DOWN,
PAGEUP, PAGEDOWN,
HOME, END, TAB
导航
SHIFT + UP/DOWN/LEFT/RIGHT选择
CTRL + (选择开始
CTRL + )选择结束
CTRL + A全选
CTRL + X 或 SHIFT + DELETE剪切
CTRL + C复制
CTRL + V 或 SHIFT + INSERT粘贴
CTRL + D复制/克隆
CTRL + H分离:将选定模块与其他模块分离或将克隆转换为普通模式;
INSERT (或Mac上的Command+I)插入一个空白音符并将模式内容向下移动;或仅插入某些内容
BACKSPACE删除前一个音符并将模式内容向上移动;或仅删除某些内容
DELETE (或Mac上的Fn+Backspace)删除
未分配上一个布局
未分配下一个布局
未分配布局:正常
未分配布局:时间轴
未分配布局:模式编辑器
未分配布局:模块视图 + 控制器
未分配布局:控制器
未分配布局:模块视图

应用程序:

按键描述
ESC退出应用程序

项目:

按键描述
CTRL + SHIFT + N新建项目
CTRL + O加载项目
CTRL + S保存项目
CTRL + B将项目保存到BACKUP.sunvox

音乐键盘:

术语列表

  • 幅度 - 数字音频信号的一个样本的值(Y轴上的位置),或者是声波在周期内相对于零的最大位移值(如果讨论的是生成器的振荡);
  • 音频信号 - 声音以图形(波形)形式的表示,是随时间变化的幅度的过程;在模拟音频中,幅度是电压水平;在数字音频中,幅度是一个离散值(通常是一个32位浮点数);
按键描述
Z,S,X,D,C,V,G,B,H,N,J,M,'<',L,'>',';','/'
Q,2,W,3,E,R,5,T,6,Y,7,U,I,9,O,0,P,[,=,],ENTER
音符
F1...F8设置八度数
SHIFT + )八度升高
SHIFT + (八度降低

画笔:

按键描述
CTRL + E播放当前音符(在模式编辑器中)并将其复制到画笔
未分配播放当前音符(在模式编辑器中),将其复制到画笔并转到下一行
CTRL + L播放当前行(在模式编辑器中)并将其复制到画笔
未分配播放当前行(在模式编辑器中),将其复制到画笔并转到下一行
未分配播放画笔的第一行
未分配将模式的选定区域复制到画笔
CTRL + G从画笔粘贴

模式编辑器:

按键描述
SPACE开启/关闭编辑模式
CTRL + '='增加编辑步长
CTRL + '-'减少编辑步长
CAPSLOCK 或 '~'插入“Note OFF” (==)
K插入特殊命令“设置音高” (SP)
SHIFT + K插入特殊命令“上一个轨道” (<<)
未分配插入特殊命令“停止模块” (XX)
CTRL + M粘贴并混合
CTRL + T选择轨道
未分配打开插值窗口
CTRL + I插值值
CTRL + U插值速度
未分配打开转调窗口
SHIFT + '='转调升高 (+1半音)
SHIFT + '-'转调降低 (-1半音)
SHIFT + ']'转调升高八度 (+12半音)
SHIFT + '['转调降低八度 (-12半音)
CTRL + P均匀放置选定事件
未分配打开循环移位窗口
SHIFT + 7循环移位升高
SHIFT + 8循环移位降低
未分配重新映射
未分配设置效果
未分配打开模式绘制工具
未分配清除模式
未分配缩小模式 /2
未分配扩展模式 *2
未分配按光标切片
未分配反转
未分配模式属性
未分配显示/隐藏 CCEEXXYY 列
未分配缩放

模块(路由):

按键描述
CTRL + R随机化模块控制器
SHIFT + 鼠标移动模块链接/取消链接
SHIFT + 控制器值改变将值写入模式
SHIFT + >下一个模块
SHIFT + <上一个模块
CTRL + >下一个合成器
CTRL + <上一个合成器
CTRL + RIGHT下一个模块(水平向右)
CTRL + LEFT上一个模块(水平向左)
CTRL + DOWN下一个模块(垂直向下)
CTRL + UP上一个模块(垂直向上)
CTRL + 1切换静音
CTRL + 2切换独奏
CTRL + 3切换旁通
CTRL + 4取消静音所有模块
CTRL + F查找模块
SHIFT + 滚轮更改所有模块的大小
CTRL + 滚轮更改选定模块的大小
未分配创建 MetaModule
未分配切换 LINK 模式(连接模块)

时间线:

按键描述
F9播放/停止
F10从头开始播放
F11播放模式
F12停止
SHIFT + F9录音开始/停止
SHIFT + F10从模式光标开始播放
SHIFT + F12回到开头
未分配切片
未分配切换静音
未分配切换独奏
未分配取消静音所有模式
未分配设置重启位置
未分配切换超级轨道
未分配更改方向
未分配网格吸附 开/关
未分配下一个模式(水平向右)
未分配上一个模式(水平向左)
未分配下一个模式(垂直向下)
未分配上一个模式(垂直向上)

触摸特雷门:

按键描述
SHIFT + 触摸将微音(Set Pitch XXYY 命令)写入模式

对话框:

按键描述
Y 或 ENTER左侧第一个按钮
N右侧最后一个按钮
ESC取消
1...9从左到右的按钮

基本概念

项目

SunVox 项目由以下部分组成:

  • 模块 生成声音;
  • 模式 控制模块(向它们发送音符和其他命令);
  • 时间线 确定模式的顺序。
所有项目部分都存储在单个 *.sunvox 文件中。无论设备和系统如何,项目的音效都应该相同(或接近原始效果)。

模式中的数字采用十六进制格式 (hex)(以便在屏幕上更紧凑地显示数据)。以下是十六进制数字及其十进制(dec)等价数的例子:

  • 00 = 0;
  • 01 = 1;
  • ...
  • 09 = 9;
  • 0A = 10;
  • 0B = 11;
  • 0C = 12;
  • 0D = 13;
  • 0E = 14;
  • 0F = 15;
  • 10 = 16;
  • 11 = 17;
  • ...
  • FF = 255
模式

模式 是一组同时播放的轨道,表示 SunVox 项目(乐谱)的某个部分。它被划分为水平行,播放方向是从上到下。

SunVox 中的任何模式看起来都像这样:

轨道 0轨道 1轨道 2...
000事件事件事件...
001事件事件事件...
xxx............

事件 - 某个音乐事件(类似于 MIDI 命令)。

事件的例子:

开启音符 C5 的事件:C5 80 01 0000 0000
开启音符 A5 的事件:A5 80 01 0000 0000
关闭音符的事件:==

如你所见,事件包含多个文本/数字列(字段)。模式中的所有数字均以十六进制格式表示。

事件格式: NN VV MM CCEE XXYY

让我们详细看看事件中每一列的描述:

  • NN - 某些特殊命令代码或音符:
    • SP - 设置音高 XXYY(快捷键 K),其中 0000 表示最高可能音高,7800 表示最低音高(音符 C0);一个半音 = 100 (256dec)。
      公式:
      从 Pitch XXYY 转换为频率: 频率(Hz) = pow( 2, ( 30720dec - XXYY ) / 3072dec ) * 16.3339;
      从频率转换为 Pitch XXYY: XXYY = 30720dec - log2( 频率 / 16.3339 ) * 3072dec;
    • << - 上一个轨道(快捷键 SHIFT + K);用于对上一个轨道应用效果,但以下次级效果不允许使用:2x, 40..5F, 1D;
    • == - 关闭音符(快捷键 CAPSLOCK 或 '~');
    • XX - 停止模块,清除其内部缓冲区并将其置于待机模式;
    • C0 - C-0(最低八度的第一个音符);
    • c0 - C#0;
    • D0 - D-0;
    • d0 - D#0;
    • E0 - E-0;
    • F0 - F-0;
    • f0 - F#0;
    • G0 - G-0;
    • g0 - G#0;
    • A0 - A-0;
    • a0 - A#0;
    • B0 - B-0;
    • C1 - C-1(第一八度的第一个音符);
    • ...
    • B9 - B-9(最高八度的最后一个音符);
  • VV - 速度(00..80);
  • MM - 模块编号(00,01,02,03,04,05,06,07,08,09, ... FFFF);
  • CC - 控制器编号(01,02,03, ... 7F)或 MIDI 控制器编号(80,81,82, ... FF);
  • EE - 应用于当前轨道上最后一个激活音符的效果;某些效果(加粗标记)可以在 XXYY = 0 时使用最后一个非零参数:
    • 01 - 向上滑动(portamento up;滑动速度 = XXYY);
    • 02 - 向下滑动(portamento down;滑动速度 = XXYY);
    • 03 - 滑动至音符(滑动速度 = XXYY);
    • 04 - 颤音;(XX - 频率;YY - 幅度);
    • 05 - 向上弯曲音高:音高 = 初始音高(当音符激活时初始化)+ XXYY;(一个半音 = 100 (256dec));
    • 06 - 向下弯曲音高:音高 = 初始音高(当音符激活时初始化)- XXYY;(一个半音 = 100 (256dec));
    • 07 - 设置相位(或样本偏移量)XXYY 百分比(从 0000 (0%) 到 8000 (100%));
    • 08 - 琶音(XX - 第二个音符增量;YY - 第三个音符增量);
    • 09 - 设置相位(或样本偏移量)XXYY 样本*256dec
    • 0A - 速度向上/向下滑动(XX - 向上速度;YY - 向下速度);
    • 0F - 设置播放速度(XXYY: 0001..001F - 每行的节拍数;0020..00FF - BPM)或时间网格(XXYY: F001..F020 和 F100..F120);
    • 11 - 微小向上滑动;
    • 12 - 微小向下滑动;
    • 13 - 设置旁通/独奏/静音(BSM = XYY)标志;例如静音:13 0001;例如独奏:13 0010;
    • 14 - 重置旁通/独奏/静音(BSM = XYY)标志;例如旁通重置:14 0100;
    • 15 - 更改模块的相对音符和微调;XX - 相对音符(00 - 忽略;01 = -127dec;80 = 0;FF = 127dec);YY - 微调(00 - 忽略;01 = 降低一个半音;80 = 0;FF = 提高一个半音);
    • 19 - 在当前行的第 XXYY 节拍后重新触发音符;
    • 1A - 微小速度向上/向下滑动(XX - 向上速度;YY - 向下速度);仅在行的开头一次;
    • 1C - 在当前行的第 YY 节拍后切断音符;
    • 1D - 延迟音符开始,直到当前行的第 YY 节拍;
    • 1F - 设置 BPM;
    • 20 - 音符概率;
    • 21 - 随机速度的音符概率;
    • 22 - 将控制器值设置为从 0000 到 XXYY 的随机数;
    • 23 - 将控制器值设置为从 XX (00..FF) 到 YY (00..FF) 的随机数;
    • 24 - 从同一轨道的第 XXYY 行获取音符;
    • 25 - 从同一轨道的第 XX..YY 行范围(包括两端)内随机获取音符;
    • 26 - 从同一行的第 XXYY 轨道获取音符;
    • 27 - 从同一行的第 XX..YY 轨道范围(包括两端)内随机获取音符;
    • 28 - 从轨道 0 的第 XXYY 行获取音符;
    • 29 - 从轨道 0 的第 XX..YY 行范围(包括两端)内随机获取音符;
    • 30 - 停止播放歌曲;
    • 31 - 在当前行结束后跳转到第 XXYY 行(地址);
    • 32 - 设置跳转地址模式 YY:
      • 0 - 绝对地址,相对于时间线的起始位置(默认);
      • 1 - (模式开始 + 地址);
      • 2 - (模式开始 - 地址);
      • 3 - (下一行 + 地址);
      • 4 - (下一行 - 地址);
    • 33 - 插槽同步(用于 SunVox 库中的 sv_sync_resume());
    • 34 - 设置(XX)或重置(YY)项目选项:
      • 1 - 在第一个节拍时不使用 portamento(与旧的 tracker 格式兼容);
      • 2 - 在第一个节拍时不使用速度滑动(与旧的 tracker 格式兼容);
      • 4 - 使用 Round-robin 键盘轨道分配算法,而不是默认的紧凑打包;可能需要在 MultiSynth 模块上进行现场演奏时使用“触发”选项;但此选项可能导致画笔工作不正确;
      • 8 - 始终输出 7 位 MIDI 控制器值,即使控制器是 14 位(0-31);
    • 35 - 将 MIDI OUT 消息 XX(0 - Program Change;1 - Channel Pressure;2 - Pitch Bend Change)绑定到控制器 YY(0 - OFF;0x80 - MIDI 控制器 0;0x81 - MIDI 控制器 1...);仅适用于指定模块;
    • 破坏性效果(不可逆地改变模式内容):
      • 38 - 删除轨道 XX 上的事件,概率为 YY(00..FF(100%));参见 simple_examples/pat effect 38 self destructive.sunvox
      • 39 - 轨道 XX 向下循环移动 YY 行;
      • 3A - 在轨道 XX 上生成一个新的 YY 行复节奏迭代;参见 simple_examples/pat effect 3A polyrhythm.sunvox;
      • 3B - 将轨道 XX 复制到名为 YY 的模式;
      • 3C - 从名为 YY 的模式复制轨道 XX;例如,如果 XXYY = 0023,则将第一个轨道从名为“23”的模式复制;
      • 3D - 向轨道 YY 写入随机值;最小值、最大值和列必须在轨道 0 上,从第 XX 行开始;参见 simple_examples/pat effect 3D random value;
    • 40...5F - 延迟选定部分行的事件(从 40 (0%) 到 5F (96.875%));
  • XXYY - 所选效果/控制器的参数(0000 - 最小;8000 - 最大)。

    速度可以动态改变。

    示例:

    NN VV MM CCEE XXYY C3 10 03 0000 0000 -- 20 -- 0000 0000 -- 30 -- 0000 0000 -- 40 -- 0000 0000 -- 50 -- 0000 0000 -- 60 -- 0000 0000 在这个例子中,速度从 10 变化到 60。

    改变滤波器(全局控制器)的截止频率的例子,从最小值到最大值:

    NN VV MM CCEE XXYY -- -- 01 0200 0000 -- -- 01 0200 1000 -- -- 01 0200 2000 -- -- 01 0200 3000 -- -- 01 0200 4000 -- -- 01 0200 5000 -- -- 01 0200 6000 -- -- 01 0200 7000 -- -- 01 0200 8000 “截止频率”控制器在滤波器中的编号为 2。

    某些模块具有本地控制器。
    本地控制器可以在特定轨道上的特定音符上更改,而不影响同一模块中的其他活动音符。
    换句话说,本地控制器仅影响模块的具体复音通道。

    示例:(在模块 1 中更改本地控制器 2)

    NN VV MM CCEE XXYY C3 80 01 0200 0000 //Set local controller 2 to value 0000. Separate sound begins playing here -- -- -- 0200 0001 //Set local controller 2 to value 0001 -- -- -- 0200 0002 //Set local controller 2 to value 0002 -- -- -- 0200 0003 //Set local controller 2 to value 0003 -- -- -- 0200 0002 //... -- -- -- 0200 0001
    模式效果

    01 - 向上滑动 (Portamento Up)。此效果将每滴(tick)以 XXYY(一个半音 = 40)个音调升高轨道上播放的合成器的频率。如果未指定滑动速率(XXYY 为零),则再次使用轨道上最后使用的滑动速率。

    02 - 向下滑动 (Portamento Down)。此效果将每滴(tick)以 XXYY(一个半音 = 40)个音调降低轨道上播放的合成器的频率。如果未指定滑动速率(XXYY 为零),则再次使用轨道上最后使用的滑动速率。

    03 - 滑动到音符。 此效果将轨道上播放的音符滑动到指定的音符 NN。参数 XXYY(一个半音 = 40)表示滑动发生的速度。如果未指定滑动速率(XXYY 为零),则再次使用轨道上最后使用的滑动速率。如果 NN 为空,则使用在此轨道上早期为效果 03 指定的最后一个 NN。

    04 - 颤音,参数为 XXYY,其中 XX - 频率(例如:20 - 每行一个周期;40 - 每行两个周期),YY - 幅度(一个半音 = 40)。

    05 - 弯音向上。 最终音高 = 初始音高(当音符激活时初始化)+ XXYY。一个半音 = 100 (256dec)。

    06 - 弯音向下。 最终音高 = 初始音高(当音符激活时初始化)- XXYY。一个半音 = 100 (256dec)。

    08 - 琶音。 此效果通常用于模拟和弦。它还可以用于产生强烈的颤音。
    示例:
    音符 = C3;XXYY = 0407(第二个音符增量 = 4;第三个音符增量 = 7)
    这是尝试生成大调和弦 C。在线条开始时播放 C3 音符,然后在线条的 1/3 处重新触发 E-3,在线条的 2/3 处重新触发 G3,并且在下一行的开始处(如果该轨道没有新音符要播放),它会再次重新触发 C3。
    视频: 琶音标准效果

    09 - 设置样本偏移量。 此功能允许您从指定位置而不是正常起始位置开始播放样本。将值 XXYY * 256 转换为样本中的位置,从样本的起始位置开始播放。
    示例:在 C3 音符上播放乐器 2,且 XXYY = 0023。这会使样本的播放从偏移量 0023 * 0100 = 2300 开始。这个偏移量提供了相当宽的范围,您可以从那里开始播放样本。

    07 - 设置样本偏移量(按百分比)。 XXYY 从 0000(样本开始)到 8000(样本结束)。视频: 采样器重新触发/缩放

    0A - 速度向上/向下滑动。 此效果将更改轨道上播放的合成器的速度。XX 是音量增加的速度。YY 是音量减少的速度。
    示例:将 XXYY 设置为 0003。这意味着在线条开始时,当前合成器的速度减少了 3(因为 YY = 3)。在这一行的每个滴(tick)上,速度都会再次减少 3。

    0F - 设置播放速度。 此效果更改 TPL(每行的滴数)。有效值为 1 - 1F(十进制的 1 - 31)。高于 1F 的值表示修改后的 BPM(每分钟节拍数)。速度值 2A(十进制的 42),等于每分钟 42 拍。

    11 - 微小向上滑动。 此效果与效果 1 类似,只是音符的频率只在行开始时修改一次。

    12 - 微小向下滑动。 此效果与效果 2 类似,只是音符的频率只在行开始时修改一次。

    13 - 设置旁通/独奏/静音标志。 BSM = XYY;静音示例:13 0001;独奏示例:13 0010。

    14 - 重置旁通/独奏/静音标志。 BSM = XYY。旁通重置示例:14 0100。

    15 - 更改模块的相对音符 XX 和微调 YY。

    相对音符 XX:

    • 00: 忽略;
    • 01: -127dec
    • 02: -126dec
    • ...
    • 80: 0(无音符偏移);
    • 81: +1;
    • 82: +2;
    • ...
    • FF: +127dec.

    微调 YY:

    • 00: 忽略;
    • 01: 降低一个半音;
    • ...
    • 80: 0(无微调偏移);
    • ...
    • FF: 提高一个半音.

    19 - 重新触发。 效果 19 允许您在行期间的第 XXYY 滴重新触发音符。例如,指定音符 C3 并设置 XXYY = 2,当前速度(TPL)为 6。这会在行开始时启动指定的音符,并在两滴后重新启动。这会持续到下一行的开始。

    1A - 微小速度向上/向下滑动。 XX - 向上速度;YY - 向下速度;仅在线条开始时一次。

    1C - 切断:

    • 00YY - 在第 YY 滴后关闭音符;
    • 10YY - 在第 YY 滴后将速度设置为 0。

    1D - 延迟。 此效果将延迟音符的开始,直到当前行的第 XXYY 滴。例如,如果播放音符 C2,带有效果 1D 和参数 XXYY = 3,速度为 6。音符 C2 将在行开始后的第 3 滴被触发。目的:将样本的开始延迟非常短的时间。

    1F - 设置 BPM 为 XXYY。

    20 - 音符概率。 设置音符被触发的概率 XXYY(从 0 到 8000)。此效果可用于生成原始不可预测的节奏。

    21 - 随机速度的音符概率。 与效果 20 相同,但带有随机速度。

    22 - 将随机值 0...XXYY 写入控制器 CC。

    23 - 将随机值 XX (00..FF) ... YY (00..FF) 写入控制器 CC。

    24 - 来自行 XXYY 的音符。 从同一轨道的行 XXYY 获取音符。如果效果左侧指定了音符,则将其用作转调值(相对于 C5:c5 - 半音更高,C4 - 低一个八度等)。如果没有指定模块编号,则使用行 XXYY 的模块编号。

    示例:



    有四个基础音符(在音轨的顶部)。
    效果代码“24”可以帮助你重复这些音符。
    然后你可以更改其中的一个音符,更改会立即应用于整个模式。因此,你不需要在每次更改后按下“DUPLICATE”(复制)。
    此外,你可以对这些音符进行移调,并在XXYY列中更改它们的顺序。
    所以,上面的图片等同于这个:

    25 - 从XX到YY行随机取音符。 在同一音轨的XX到YY行(包含端点)范围内随机选取一个音符。

    26 - 来自音轨XXYY的音符。 从同一行的音轨XXYY上取一个音符。

    27 - 从音轨XX到YY随机取音符。 在同一行的音轨XX到YY(包含端点)范围内随机选取一个音符。

    28 - 来自0号音轨XXYY行的音符。 从0号音轨的XXYY行取一个音符。

    29 - 来自0号音轨XX到YY行的随机音符。 从0号音轨XX到YY行(包含端点)范围内随机选取一个音符。参见示例“pat effect 29 random note from trk0”。

    30 - 停止播放歌曲。

    31 - 在当前行结束后跳转到XXYY(地址)行。

    32 - 设置跳转地址模式YY:

    • 0: 跳转到相对于时间线起点的绝对地址(默认);
    • 1: 跳转到(图案开头 + 地址);
    • 2: 跳转到(图案开头 - 地址);
    • 3: 跳转到(下一行 + 地址);
    • 4: 跳转到(下一行 - 地址)。

    33 - 插槽同步 用于SunVox库中的sv_sync_resume()。

    34 - 设置(XX)或重置(YY)项目选项:

    • 1 - 第一个滴答时无滑音(与旧的tracker格式兼容);
    • 2 - 第一个滴答时无速度滑动(与旧的tracker格式兼容);
    • 4 - 使用轮循键盘音轨分配算法,而不是默认的紧密打包算法;可能在带有“触发”选项的MultiSynth模块上进行现场演奏时需要;但此选项可能导致画笔工作不正确;
    • 8 - 即使控制器是14位(0 - 31),也始终输出7位MIDI控制器值;

    35 - 为指定模块启用/禁用额外的MIDI OUT消息支持:
    默认情况下,应用程序可以接收“程序更改”、“通道压力”和“弯音更改”的MIDI消息,但不能发送它们。此效果允许您暂时为特定模块启用这些消息的支持。启用后,如果您更改控制器YY的值,则会发送MIDI消息XX,而不是“控制更改”命令。

    XX:

    • 0 - 程序更改;
    • 1 - 通道压力;
    • 2 - 弯音更改;

    YY:
    • 0 - 关闭(默认);
    • 0x80 - MIDI控制器0;
    • 0x81 - MIDI控制器1;
    • 0x82 - MIDI控制器2;
    • ...

    警告:此效果所做的设置不会保存到项目文件中!

    38 - 删除音轨XX上的事件,概率为YY(00..FF(100%))。 参见simple_examples/pat effect 38 self destructive.sunvox。

    39 - 将音轨XX向下循环移动YY行。

    3A - 在音轨XX上生成YY行多节奏的新迭代。 参见simple_examples/pat effect 3A polyrhythm.sunvox。

    3B - 将音轨XX复制到名为YY的图案中。

    3C - 从名为YY的图案复制音轨XX。 例如,如果XXYY = 0023,那么第一个音轨将从名为“23”的图案中复制。

    3D - 向音轨YY写入随机值。 最小值、最大值和列必须在0号音轨上,从第XX行开始。
    列:

    • 0 - NN;
    • 1 - VV;
    • 2 - MM;
    • 3 - CC;
    • 4 - EE;
    • 5 - XX;
    • 6 - YY;
    • 7 - XXYY。
    参见simple_examples/pat effect 3D random value。

    40...5F - 延迟选定比例的行事件(从0%(40)到96.875%(5F))。

    视频: 标准效果

    MIDI输出

    您可以使用编号为80+X的控制器发送MIDI控制更改命令。其中X是MIDI控制器编号。

    示例:NN VV MM CCEE XXYY -- -- 01 8100 0000 - 将调制(最高有效字节+最低有效字节:14位)设置为最小值 -- -- 01 8100 8000 - 将调制(最高有效字节+最低有效字节:14位)设置为最大值 -- -- 01 DB00 4000 - 将效果1深度(7位)设置为中心位置 MSB - 最高有效字节; LSB - 最低有效字节。

    MIDI控制器0 - 31为14位(可能的数值:0...16383):SunVox控制器数值(0...32768)将被转换为0...16383并发送到MIDI控制器X(高7位)和X + 32(低7位)。

    您可以从下表中获取用于CC列的MIDI控制器编号。

    MIDI控制器编号(十进制)SunVox控制器编号(MIDI控制器 + 80(十六进制));在SunVox图案的CC列中使用这些数值控制器名称
    080音色库选择(更常用的是MIDI控制器32)
    181调制轮
    282呼吸控制器
    383未定义
    484脚控制器
    585滑音时间
    686数据输入最高有效字节
    787主音量
    888平衡
    989未定义
    108A声像
    118B表情
    128C效果控制1
    138D效果控制2
    14 - 158E - 8F未定义
    16 - 1990 - 93通用目的控制器
    20 - 3194 - 9F未定义
    32 - 63A0 - BFMIDI控制器0 - 31的最低有效字节
    64C0阻尼踏板(延音)
    65C1滑音
    66C2持续音
    67C3柔音踏板
    68C4连奏踏板
    69C5保持2
    70C6声音控制器1(默认:音色变化)
    71C7声音控制器2(默认:音色/谐波含量)
    72C8声音控制器3(默认:释放时间)
    73C9声音控制器4(默认:攻击时间)
    74CA声音控制器5(默认:亮度)
    75 - 79CB - CF声音控制器6 - 10(无默认值)
    80 - 83D0 - D3通用目的控制器
    84D4滑音控制
    85 - 90D5 - DA未定义
    91DB效果1深度(通常控制混响)
    92DC效果2深度(通常控制颤音)
    93DD效果3深度(通常控制合唱)
    94DE效果4深度(通常控制失谐)
    95DF效果5深度(通常控制相位)
    96E0数据增量
    97E1数据减量
    98E2非注册参数编号最低有效字节
    99E3非注册参数编号最低有效字节
    100E4注册参数编号最低有效字节
    101E5注册参数编号最高有效字节
    102 - 120E6 - F8未定义
    121F9重置所有控制器
    122FA本地控制
    123FB所有音符关闭
    124FC全关
    125FD全开
    126FE单声道开(复音关)
    127FF复音开(单声道关)

    插值器

    插值器是一种工具,它能够以各种参数(如曲线类型、噪声等)在图案所选区域的数值之间创建平滑过渡。要打开相应的窗口,可进入图案编辑器菜单并选择“插值”项。

    描述按钮
    • 第一行:插值曲线类型、乒乓模式开关、插值步长。
    • 第二行:列选择(使用SHIFT键可选择多列)。
    • 第三行:噪声(随机值)的数量和重复次数。
    • 第四行:包络开始/结束值(仅与应用包络按钮相关)。
    • 第五行:
      • 插值:新值 = 所选区域首行与尾行之间的平滑过渡。视频:插值
      • 应用包络:新值 = 旧值 * 包络开始包络结束参数之间的平滑过渡。视频:如何应用包络
    如果你想在所选区域的首行与尾行之间实现平滑过渡 - 使用插值。但是如果你想改变现有的值(例如淡出它们) - 使用应用包络

    图案绘制

    自2.1版起,可以使用绘图工具编辑图案。要打开相应的窗口,可进入图案编辑器菜单并选择“绘制”项。

    有以下可用工具:
    • 在指定列中用画笔绘制;
    • 绘制音符关闭(Note OFF)命令;
    • 在VV列中绘制电平;(选择此工具后,工作列将设置为VV,但可以更改为其他任意列);
    • 在XXYY列中绘制电平;(选择此工具后,工作列将设置为XXYY,但可以更改为其他任意列);
    • 擦除指定列中的值;
    • 擦除所有列中的值;
    • 播放并复制到画笔(仅限指定列)。

    上述所有工具仅在图案编辑模式处于活动状态时才有效。

    电平是所选轨道列中数值的图形表示。在2.1版之前,图案编辑器中有“XXYY电平绘制”菜单项。自2.1版起,此功能已移至图案绘制工具窗口。

    画笔是一段图案,可用于在另一图案上绘制。当前活动的画笔存储在屏幕上的音乐键盘中。最简单的情况下,画笔是键盘上最后演奏的和弦。该画笔第一行的音符将在键盘上以绿色突出显示。要播放/更改/保存/加载画笔,增加键盘的高度并点击左侧出现的“+”按钮。

    Module

    模块是SunVox的基本元素。有几种类型的模块:

    • 合成器(发生器) - 可以产生一些声音;
    • 效果器(滤波器) - 可以改变传入的声音;
    • 一些其他模块,不仅可以生成/改变声音,还可以改变音乐事件(音符、参数等)。

    模块之间的线条定义了信号传输的方向:线条较粗的部分必须从出发;线条较细的部分必须朝向目的地(接收器)

    SunVox有一套内部基本模块。在模块之间的空白区域双击 - 就会看到内部模块的列表。你还可以通过点击内部模块列表下方的LOAD按钮从外部存储介质加载一些模块。在SunVox目录中可以找到几个包含额外模块(效果器、乐器)的文件夹。

    有两种方式将一个模块连接到另一个模块:

    • 选择第一个模块(源)。点击 按钮。选择第二个模块(目的地)。
    • 选择第一个模块(源)。按下SHIFT键将其拖动到目的地。
    • 对于多点触控设备:首先触摸源,然后触摸目的地。参见这个简单的视频教程
    重新连接会移除之前的连接。

    控制器

    每个模块都有一组参数(控制器):

    双击(或右击)控制器以打开控制器属性窗口,在该窗口中可以执行以下操作:更改、重置、随机化、写入图案、分配MIDI输入:

    控制器自动化

    模块控制器的自动化 - 在播放期间控制器值的自动变化。自动化的来源:特殊模块(MultiCtl、Pitch2Ctl、Sound2Ctl、Velocity2Ctl)或者图案。在后一种情况下,发送命令给控制器的是哪个图案并不重要:在SunVox中,没有任何特定的图案严格绑定到模块及其参数。
    如果按下SHIFT键,然后点击控制器,那么其值将会被写入图案(在当前光标位置)。如果需要写入更复杂的自动化,那么还有三种额外的方式:

    1. 你可以手动控制参数,所有的这些变化都会实时记录在一个特殊的图案中;要实现这一点,只需按下REC按钮;
    2. 在图案中,可以指定控制器的初始值和最终值(例如,在图案的开始和结束处),然后选择该区域并使用插值器(在图案菜单中)来创建平滑过渡;
    3. 填写MM列(模块编号)和CC列(控制器编号);打开绘图工具(图案编辑器菜单 - > Draw),选择“在XXYY列中绘制电平”工具;然后可以直接在图案中绘制自由手动画的自动化曲线。

    如果自动化被记录在图案中,那么变化不会平滑发生,而是以阶梯形式发生。阶梯长度 = 1滴答(现场录制后),或者其他情况下的1行。为了让变化更加平滑,可以将自动化命令发送到MultiCtl模块(其中响应参数不同于1000),它将平滑变化并将命令发送到连接到它的其他模块。

    视频: SunVox中的自动化:六种方式

    模式

    一些模块有一个“模式”参数,可能的值如下:

    • HQ - 高质量(立体声);
    • HQmono - 高质量(单声道);
    • LQ - 低质量(立体声),适用于cpu较慢的设备;
    • LQmono - 低质量(单声道),适用于cpu较慢的设备;
    • HQspline - 高质量(立体声),带有样条插值。

    如果你的设备cpu对于某些SunVox项目来说太慢了(应用程序卡顿和崩溃),你可以使用以下建议:
    • 对模块使用单声道模式(Mono、HQmono或LQmono);
    • 对模块使用低质量模式(LQ或LQmono);
    • 对发生器使用减少的复音数;
    • 不使用混响,或者在低质量模式下使用它(模式 = LQ;全通滤波器 = 关闭);
    • 采样器:关闭插值(样本插值 = 关闭;音量插值 = 关闭);
    • 模拟发生器:当复音数大于2时,不要启用滤波器;相反,使用单个滤波器模块连接到发生器的输出;
    • 滑音、Sound2Ctl、MultiCtl:不要使用大于150Hz的采样率;通常,该参数的较大值不会影响声音质量,但可能会使cpu负载增加几倍;

    时间线

    时间线定义了SunVox项目的布局。它描述了如何播放模式以及如何重复它们。

    当你选择一个模式时,你将在上方的模式编辑器中看到其内容(音轨、行、事件)。在单个模式播放模式下,当你选择另一个模式时,它将在前一个模式结束之后开始播放。

    播放速度由以下参数定义:

    • TPL(速度) - 每行节拍数。Tick是SunVox中最短的时间间隔。Tick的毫秒长度 = 60000 / BPM / 24。
    • BPM - 每分钟节拍数。Beat = 24个tick。每行的节拍数 = 24 / TPL。所以如果TPL=6,Beat大小为4行。或者如果TPL=3,Beat大小为8行。

    自SunVox 2.0起有两种时间线模式:经典模式(默认)和超级音轨模式。
    在经典模式下,所有模式都是独立的 - 每个模式内部有自己的音轨。
    在超级音轨模式下,如果模式位于相同的超级音轨上,它们可以相互补充(交互)。每个超级音轨是一组32个可以同时被多个模式使用的音轨。
    在超级音轨模式下,你可以启用“不在模式结束时关闭音符”选项:一个简短的模式可以开启音符,而另一个(在同一超级音轨上)可以关闭它。

    内部模块

    合成器

    模拟发生器

    具有32个双无混叠振荡器、12/24dB滤波器、包络线和参数平滑变化的生成器。
    当采样率为44100Hz时,该模块的声音质量更好。

    控制器:

    • 音量;
    • 波形:
      • 0 - 三角波;
      • 1 - 锯齿波;
      • 2 - 方波;
      • 3 - 噪声(采样器);
      • 4 - 手绘波形;
      • 5 - 正弦波;
      • 6 - 半正弦波;
      • 7 - 绝对正弦波;
      • 8 - 具有样条插值的手绘波形;
      • 9 - 具有样条插值的噪声(采样器);
      • A - 白噪声;
      • B - 粉红噪声;
      • C - 红噪声;
      • D - 蓝噪声;
      • E - 紫噪声;
      • F - 灰噪声;
      • 10 - 手绘谐波分布;记住,如果你开启全部32个谐波,那么与纯正弦波生成器相比,该模块的性能将减慢32倍;减少复音数和使用LQmono模式会略微降低CPU负载;
    • 声像;
    • Attack - 攻击时间(音量包络线);
    • Release - 释放时间(音量包络线);
    • Sustain(关/开);
    • 指数包络线(关/开);
    • 占空比(仅对方波有效);
    • Osc2 - 额外振荡器的音高偏差(在零位置时关闭);半音 = 64;
    • 滤波器:
      • 关闭;
      • LP(低通)12dB;
      • HP(高通)12dB;
      • BP(带通)12dB;
      • BR(带阻)12dB;
      • LP(低通)24dB;
      • HP(高通)24dB;
      • BP(带通)24dB;
      • BR(带阻)24dB;
    • 滤波器频率(Hz);
    • 滤波器共鸣;
    • 滤波器指数频率(关/开);
    • 滤波器Attack - 滤波器包络线Attack时间;
    • 滤波器Release - 滤波器包络线Release时间;
    • 滤波器包络线:关闭,sustainOFF(无持续),sustainON(有持续);
    • 复音数 - 该模块可同时播放的音符数量;
    • 模式:HQ,HQmono,LQ,LQmono;
    • 噪声 - 额外的白噪声量;
    • Osc2音量 - 额外振荡器音量;
    • Osc2模式 - 额外振荡器与主振荡器的混合模式:
      • 加法;
      • 减法;
      • 乘法;
      • 最小值;
      • 最大值;
      • 按位AND;(样本将转换为16位整数以进行按位操作);
      • 按位XOR;
    • Osc2相位 - 额外振荡器的起始相位。

    本地控制器:音量、波形、声像、占空比、滤波器类型、滤波器频率、滤波器共鸣。

    选项:

    • 7F - 按键的音量包络线时间缩放;
    • 7E - 按键的滤波器包络线时间缩放;
    • 7D - 按键的音量缩放;
    • 7C - 按键的滤波器频率缩放;
    • 78 - 按键的滤波器频率反向缩放;
    • 75 - 滤波器频率 = 音符频率;
    • 7B - 速度依赖的滤波器频率;
    • 74 - 速度依赖的滤波器共鸣;
    • 7A - 频率 / 2;
    • 79 - 平滑频率变化;
    • 72 - 提高的频率计算精度;
    • 77 - 保留相位;
    • 76 - 随机相位;
    • 73 - 真正的零攻击/释放。

    视频:虚拟模拟生成器

    鼓合成器

    具有多种预定义声音的鼓合成器。
    该模块在44100Hz采样率下的音质更好。

    声音分布:

    • C、C#、D、D#音符 - 用于底鼓;
    • E、F、F#音符 - 用于踩镲;
    • G、G#、A、A#、B音符 - 用于军鼓。

    控制器:
    • 音量 - 主合成器音量;
    • 声像;
    • 复音 - 模块可同时播放的音符数量;
    • 低音音量 - 底鼓音量;
    • 低音强度 - 底鼓强度;
    • 低音音调 - 底鼓音调;
    • 低音长度 - 底鼓长度;
    • 踩镲音量;
    • 踩镲长度;
    • 军鼓音量 - 军鼓音量;
    • 军鼓音调 - 军鼓音调;
    • 军鼓长度 - 军鼓长度。

    本地控制器:声像。

    视频:

    FM

    频率调制 (FM) 合成器。
    每个复音声道包括两个具有ADSR包络的运算器:
    1) C(载波)- 基础正弦波发生器;
    2) M(调制器)- 改变第一个运算器频率的正弦波。

    该模块在44100Hz采样率下的音质更好。

    控制器:

    • C.Volume - 载波音量;
    • M.Volume - 调制器音量;
    • 声像;
    • C.Freq mul - 载波频率倍增器;
    • M.Freq mul - 调制器频率倍增器;
    • M.Self - modulation - 调制器自身调制的程度;
    • C.Attack - 载波起音时间;
    • C.Decay - 载波衰减时间;
    • C.Sustain - 载波持续电平;
    • C.Release - 载波释音时间;
    • M.Attack - 调制器起音时间;
    • M.Decay - 调制器衰减时间;
    • M.Sustain - 调制器持续电平;
    • M.Release - 调制器释音时间;
    • M.Scaling - 调制器音量对音高的依赖程度;
    • 复音 - 模块可同时播放的音符数量;
    • 模式:
      • 0 - HQ: 高质量;立体声;包络线性插值;
      • 1 - HQmono: 高质量;单声道;包络线性插值;
      • 2 - LQ: 低质量;立体声;无插值;
      • 3 - LQmono: 低质量;单声道;无插值;

    视频:
    FMX

    5运算器频率调制(FM)合成器。

    控制器:

    • 音量;
    • 声像;
    • 采样率;如果CPU负载过高,可以降低此值;
    • 复音 - 模块可同时播放的音符数量;
    • 声道:0 - 单声道;1 - 立体声;
    • 输入 - > 运算器 #:如果不为零,则输入信号将发送到相应运算器的输入端;
    • 输入 - > 自定义波形:
      • 关闭;
      • 单周期:将输入信号的20ms存储到自定义波形中一次;
      • 连续:连续将输入信号的每20ms存储到自定义波形中;
    • ADSR平滑过渡:
      • 关闭;
      • 重启和音量变化 - 包络(当先前包络仍在播放时,但新的包络已经在运行)软重启,音量控制器改变时平滑音量过渡;
      • 重启(更平滑)和音量变化 - 与前一种模式相同,但包络重启更加平滑;
      • 音量变化 - 音量将平滑变化,但包络启动未平滑;
    • 噪声滤波器(32768 - 关闭) - 设置噪声发生器的低通滤波器频率(参见“噪声”控制器);
    • 对于每个运算器:
      • 音量;
      • Attack(毫秒) - 从包络开始(零振幅)到最大振幅的时间;
      • Decay(毫秒) - 从最大振幅点到持续电平的时间;
      • 持续电平;
      • Release(毫秒) - 从持续电平到包络终点(零振幅)的时间;
      • Attack曲线 - Attack曲线类型(线性、更平滑、更尖锐等);
      • Decay曲线 - Decay曲线类型;
      • Release曲线 - Release曲线类型;
      • Sustain - 悬停点(直到Note OFF)在包络上:
        • 关闭;
        • 开启;
        • 重复包络直到模块停止;
      • 延音踏板(关闭/开启);
      • 按键缩放包络:
        • 负值 - 音符越低,包络越短;
        • 0 - 包络长度不依赖于音符;
        • 正值 - 音符越高,包络越短;
      • 按键缩放音量:
        • 负值 - 音符越低,音量越低;
        • 0 - 音量不依赖于音符;
        • 正值 - 音符越高,音量越低;
      • 力度敏感度:
        • 负值 - 力度越高,音量越低;
        • 0 - 音量不依赖于力度;
        • 正值 - 力度越低,音量越低;
      • 波形:
        • 0 - 自定义;
        • 1 - 三角波;
        • 2 - 三角波 ^ 3;
        • 3 - 锯齿波;
        • 4 - 锯齿波 ^ 3;
        • 5 - 方波;
        • 6 - 正弦波;
        • 7 - 半正弦波;
        • 8 - 绝对正弦波;
        • 9 - 正弦波 ^ 3;
      • 噪声 - 运算器输出信号中的白噪声量;
      • 相位偏移;
      • 频率倍增器(1/1000);例如1000 = 1.0(原始频率),2000 = 2.0(两倍频率);
      • 恒定音高(半音/64):
        • -8192 = 音符 -128;
        • -1 = 刚低于音符C0;
        • 0 = 恒定音高关闭;运算器频率由输入音符设置;
        • 1 = 刚高于音符C0;
        • 64 = 音符c0
        • 128 = 音符D0
        • 768 = 音符C1;
        • 1536 = 音符C2;
        • 8192 = 音符128;
      • 自身调制 - 运算器自身调制的程度;
      • 反馈 - 运算器输出信号返回输入的程度;
      • 调制类型:
        • 相位;
        • 频率;
        • 幅度(乘法);
        • 加法;
        • 减法;
        • 最小值;
        • 最大值;
        • 按位与;(样本将转换为16 - 位整数进行按位操作);
        • 按位异或;
        • phase+ - 与相位调制相同,但包络将应用于自身调制和反馈;
      • 输出模式 - 确定从此运算器发送信号的位置:
        FMX operator output modes
    • 包络增益 (1/1000);所有包络的幅度将乘以(包络增益 / 1000)。

    本地控制器:声像。

    信号发生器

    带音量包络的基本周期信号波形发生器。

    此模块可以接收输入信号并将其用于频率调制。为此,将任何其他音频源连接到信号发生器的输入端,该源将影响信号发生器的频率。别忘了将“输入频率调制”控制器设置为非零值。

    控制器:

    • 音量;
    • 波形:
      • 0 - 三角波;
      • 1 - 锯齿波;
      • 2 - 方波;
      • 3 - 白噪声;
      • 4 - 手绘波形;
      • 5 - 正弦波;
      • 6 - 半正弦波;
      • 7 - 绝对正弦波;
      • 8 - 带占空比的脉冲正弦波。
    • 声像;
    • Attack - 攻击时间;
    • Release - 释放时间;
    • 复音 - 模块可同时播放的音符数量;
    • 模式:0 - 立体声;1 - 单声道;
    • Sustain: 0 - 关;1 - 开;
    • 输入频率调制:0 - 关 ... 256 - 使用输入信号进行频率调制;
    • 占空比(仅适用于方波)。

本地控制器:类型,声像。

视频:

输入

来自麦克风/线路输入的音频输入。

兼容性: 仅在 iOS 和 Android 版本中实现。其他系统将在未来的 SunVox 更新中支持。

Kicker

控制器:

  • 音量;
  • 类型 - 波形类型:0 - 三角波;1 - 方波;2 - 正弦波;
  • 声像;
  • Attack;
  • Release;
  • Boost(额外音量);
  • Env. Accel - 音量和频率包络加速;
  • 复音 - 模块可同时播放的音符数量;
  • Anticlick: 0 - 关;1 - 开。

本地控制器:波形,声像。

视频: Kicker、压缩器和Ducking

Vorbis播放器

OGG Vorbis 播放器。

采样器

采样器可以播放和录制音频文件。
支持的文件格式:WAV(PCM,未压缩)、AIFF(PCM,未压缩)、XI、OGG(Vorbis)、MP3、FLAC、JPEG、RAW。Linux版本还支持所有FFmpeg/AVConv格式。
JPEG图像将作为样本加载:像素亮度将转换为声音波形(逐行扫描,从左到右,从上到下)。
如果文件格式无法识别,采样器将作为原始数据加载:您需要手动选择数据格式(位数、通道等)。

按钮说明:

  • Load - 加载音频文件;文件将存储在模块中;
  • Rec - 开始/停止录制接收到的音频信号;例如,您可以将信号发生器连接到采样器,采样器将录制来自信号发生器的信号;
  • Edit - 显示/隐藏样本编辑器。

控制器:
  • 音量;
  • 声像;
  • 样本插值:
    • 关闭;
    • 线性;
    • 样条曲线;
  • 音量插值:
    • 关闭;
    • 线性;
  • 复音 - 模块可同时播放的音符数量;
  • 录制阈值 - 采样器开始录制的电平;
  • 滴答长度 - 影响包络持续时间(128 - 正常长度;64 - 一半长;256 - 两倍长);
  • 录制:
    • 停止录制;结果稍后加载(文件越大,加载时间越长);
    • 暂停录制;
    • 开始录制;如果前一次录制的结果尚未加载,则可能不起作用。
本地控制器:声像。

选项:

  • 7F - 在项目播放时开始录制;
  • 7B - 在项目停止时停止录制;
  • 7E - 单声道录制;
  • 7D - 减少采样率录制;
  • 7C - 16位录制;
  • 7A - 忽略速度对音量的影响;
  • 79 - 提高频率计算精度。

视频:
SpectraVoice

SpectraVoice 合成具有复杂频谱的声音。
频谱是一个图表,其中X轴是频率,Y轴是振幅(响度)。您可以在该图上放置16个谐波,为每个谐波指定位置、振幅、形状和宽度。
要听到确切指定的频率(不随音符上下移动)——演奏音符 c6。

控制器:

  • 音量;
  • 声像;
  • Attack(秒/256);
  • Release(秒/256);
  • 复音 - 模块可同时播放的音符数量;
  • 模式:HQ、HQmono、LQ、LQmono、HQspline;
  • Sustain(关/开);
  • 频谱分辨率:
    • 0 - 4096 样本;
    • 1 - 8192 样本;
    • 2 - 16384 样本;
    • 3 - 32768 样本;
    • 4 - 65536 样本;
    • 5 - 131072 样本;
  • 谐波 - 当前要编辑的谐波编号;
  • H.freq - 谐波频率;
  • H.volume - 谐波振幅;
  • H.width - 谐波宽度;
  • H.type - 谐波类型:
    • 0 - 半正弦;
    • 1 - 方波;
    • 2 - organ1;
    • 3 - organ2;
    • 4 - organ3;
    • 5 - organ4;
    • 6 - 全正弦;
    • 7 - 随机;
    • 8 - triangle1;
    • 9 - triangle2;
    • A - overtones1;
    • B - overtones2;
    • C - overtones3;
    • D - overtones4;
    • E - overtones1+;
    • F - overtones2+;
    • 10 - overtones3+;
    • 11 - overtones4+;
    • 12 - 金属(随机种子由 H.width 设置);

本地控制器:声像。

视频: SpectraVoice:四个谐波

效果

放大器

具有各种设置的信号放大器。

例如,您可以使用此模块将立体声音频输入拆分为左右声道:

  1. 使用平衡控制器过滤所需的声道:-128 对应左声道;128 对应右声道;
  2. 通过将立体声宽度降低到 0 来将该声道移到中心。

控制器:
  • 音量;
  • 立体声平衡;
  • 直流偏移
  • 反相幅度:0 - 关;1 - 开;
  • 宽度 - 立体声宽度:0 - 单声道;128 - 正常;256 - 扩展;
  • 绝对值 - 启用它以对信号应用“绝对值”滤波器;
  • 精细音量;
  • 增益 - 高放大倍数(高达5000倍);
  • 双极直流偏移:

公式:输出 = 宽度(反相( abs( 声像( 输入 * 音量 ) + 直流偏移 ) ) );
(这是一个大致描述,实际代码更为复杂)

压缩器

侧链压缩器

控制器:

  • 音量;
  • 阈值:256 - 0 dB;
  • 斜率(%);
  • Attack(毫秒);
  • Release(毫秒);
  • 模式:0 - 峰值;1 - RMS感应;2 - 峰值无延迟压缩/限制(模式“峰值”和“RMS”以1毫秒的延迟运行);
  • 侧链输入 - 侧链输入编号。

视频:论坛上关于压缩器设置的解释

直流阻断器

直流 阻断滤波器。

控制器:

  • Mono: 0 - 立体声;1 - 单声道。

延迟

此模块会延迟声音和传入的事件(音符、音高、相位、速度)。
最大延迟长度 = 1 分钟。

控制器:

  • Dry - 原始信号量;
  • Wet - 处理后信号量;
  • Delay L - 左声道延迟长度,或事件延迟长度;
  • Delay R - 右声道延迟长度;
  • Volume L - 左声道音量;
  • Volume R - 右声道音量;
  • Mono: 0 - 立体声;1 - 单声道(仅左声道);
  • Inverse(关/开) - 改变延迟信号的符号;
  • “Delay L”和“Delay R”的延迟单位:
    • 秒/16384;
    • 毫秒;
    • 赫兹;
    • 滴答;
    • 行;
    • 行/2;
    • 行/3;
    • 秒/44100;
    • 秒/48000;
    • 样本(延迟长度将取决于 SunVox 设置中的采样率);
  • 延迟倍增器:控制器“Delay L”和“Delay R”的值将乘以此因子;
  • 反馈(适用于声音和事件);
  • 负反馈(关/开) - 改变反馈系数的符号;
  • 全通滤波器(关/开):如果启用,模块将切换到全通滤波器模式,其中滤波器阶数是样本中的延迟长度;如果需要不同的相位响应曲线,请启用负反馈。

要获得梳状滤波器效果,请使用以下 Delay 控制器值:
(a = 应用于延迟信号的缩放因子;对于负 a,启用“Inverse”选项)
  • 前馈梳状滤波器:
    • Dry = 256;
    • Wet = a * 256;
    • Feedback = 0;
  • 反馈梳状滤波器:
    • Dry = 256;
    • Wet = a * 256;
    • Feedback = a * 32768。

每个通道的框图: -----------------> Dry -----------------> | --> (-Feedback*Allpass) --> | | | | | Input --------> Delay --> Inverse ------> Wet -----> Output | | <------- Feedback <--------

失真

此模块为声音添加各种类型的失真。

控制器:

  • 音量;
  • 失真类型:
  • 功率 - 上方选定类型失真的程度;
  • 位深 - 改变它以降低输入声音的分辨率;默认值16表示位深保持不变;
  • 频率(Hz)- 改变它以降低输入声音的采样率;默认值44100表示采样率保持不变;
  • 噪声 - 噪声的程度。

回声

立体声回声。
最大延迟长度:4秒。

控制器:

  • 干声 - 原始信号的量;
  • 湿声 - 处理后信号的量;
  • 反馈;
  • 延迟长度;
  • 立体声:0 - 单声道;1 - 立体声;
  • 右声道偏移(开/关);
  • 延迟单位:
    • 秒/256;
    • 毫秒;
    • 赫兹;
    • 节拍;
    • 行;
    • 行/2;
    • 行/3;
  • 右声道偏移(单位 = 延迟长度 / 32768);仅在“05.右声道偏移”控制器开启时影响声音;
  • 滤波器:
    • 关闭;
    • 低通滤波器 6dB;
    • 高通滤波器 6dB;
  • 滤波器截止频率(Hz)。

均衡器

三段均衡器。

控制器:

  • 低频;
  • 中频;
  • 高频;
  • 单声道:0 - 立体声;1 - 单声道。

FFT

基于FFT的频率变换器。

控制器:

  • 采样率;如果CPU负载过高,可以降低此值;
  • 声道:0 - 单声道;1 - 立体声;
  • 缓冲区(样本)- 缓冲区越大,模块工作越精确,延迟越高;
  • 缓冲区重叠:重叠越少,CPU负载越小;重叠越多,声音越柔和;
  • 反馈 - 将被混入模块输入的输出信号量;
  • 降噪;
  • 相位增益(正常值 = 16384);
  • 全通滤波器;
  • 频率扩散;
  • 随机相位;
  • 轻量级随机相位;
  • 频率偏移:负值 - 向下;正值 - 向上;4096 = 采样率 / 2;
  • 变形1 - 变形算法1;
  • 变形2 - 变形算法2;
  • HP截止 - 高通滤波器截止频率(32768 = 采样率 / 2);
  • LP截止 - 低通滤波器截止频率(32768 = 采样率 / 2);
  • 音量。

滤波器

IIR 滤波器,可以去除一些不需要的频率范围。

在HQ模式下,滤波器采用双倍采样。在LQ模式下,滤波器速度快两倍,但有以下后果:

  • 频率范围减半(最高为7000 Hz);因此,如果你想设置截止频率为2000 Hz,则应将其设置为4000;
  • LQ算法非常快(特别适合慢速设备),但这种速度的代价是在某些情况下不稳定(LQ模式下的滤波器在高频分量占主导地位的输入信号上不稳定)。

控制器:
  • 音量;
  • 频率(Hz);
  • 共振;
  • 类型:
    • 0 - 低通;
    • 1 - 高通;
    • 2 - 带通;
    • 3 - 带阻(陷波);
  • 响应 - 频率、共振和音量的变化速率;
  • 模式:
    • 0 - 双倍采样立体声;
    • 1 - 双倍采样单声道;
    • 2 - 低质量立体声;
    • 3 - 低质量单声道;
  • 脉冲 - 更改它以生成频率脉冲(爆发):从脉冲值...到之前的频率值;脉冲速度 = 响应;
  • 混合 - 输入(最小)和输出(最大)信号之间的混合;
  • LFO频率;
  • LFO幅度;
  • 设置LFO相位 - 初始相位(模块复位或接收到音符(Note ON)之后)或立即设置相位到新值的命令;
  • 指数频率;
  • 滚降(每八度dB数);
  • LFO频率单位;
  • LFO波形。

视频:
高级滤波器

高质量的64位IIR 滤波器,可以放大、通过或衰减某些频率范围。此模块在现代CPU上比普通滤波器更快,在旧CPU上(无FPU;例如,某些Windows CE设备)则较慢。

控制器:

  • 音量;
  • 类型:
    • 低通;
    • 高通;
    • 带通;
    • 带通(恒定峰值增益);
    • 带阻(陷波);
    • 全通;
    • 峰值(使用“增益”控制器来放大或衰减指定频率处的峰值);
    • 低架(使用“增益”控制器来放大或衰减指定频率以下的频率);
    • 高架(使用“增益”控制器来放大或衰减指定频率以上的频率);
    • 低通6dB;
    • 高通6dB;
  • 频率(Hz);
  • 频率微调(Hz/1000);
  • 频率缩放(%);
  • 指数频率 - 如果想使用指数频率刻度,请启用它;
  • Q值 - 品质因数(共振);
  • 增益 - 滤波器类型6-8的附加参数;
  • 滚降(每八度dB数):影响所有类型,除了“峰值”和“低/高架”;自版本2.1.2起影响“全通”类型;
  • 响应 - 音量、频率、Q值、增益和混合的变化速率;
  • 模式:
    • 立体声;
    • 单声道;
    • 立体声+平滑(用于额外参数平滑);
    • 单声道+平滑;
  • 混合 - 输入(最小)和输出(最大)信号之间的混合;
  • LFO频率;
  • LFO幅度;
  • LFO波形;
  • 设置LFO相位 - 初始相位(模块复位或接收到音符(Note ON)之后)或立即设置相位到新值的命令;
  • LFO频率单位。

镶边效果

镶边效果.

控制器:

  • 干声 - 原始信号的量;
  • 湿声 - 处理后信号的量;
  • 反馈;
  • 延迟 - 延迟长度;最大值 = 1/64秒;
  • 响应 - 延迟长度的变化速率;
  • LFO频率;
  • LFO幅度;
  • LFO波形:0 - 正弦波的一半;1 - 正弦波;
  • 设置LFO相位 - 初始相位(模块复位或接收到音符(Note ON)之后)或立即设置相位到新值的命令;
  • LFO频率单位。

LFO

LFO - 低频振荡器。

这里有三种使用此模块的方法。

  1. 发生器=关;某些信号被发送到输入端;在输出端我们得到相同的信号,但其音量会根据内置振荡器的振荡而变化。
  2. 发生器=开启;输入为空;在输出端我们得到内置振荡器的波形;此输出信号可以用于其他用途,例如通过调制器来调制音量或频率。
  3. 发生器=开启;输入为空;输出连接到Sound2Ctl;因此,低频振荡器(LFO)可以改变其他模块控制器的值。

控制器:
  • 音量;
  • 类型:0 - 幅度调制(颤音);1 - 立体声平衡调制;
  • 幅度;
  • 频率;
  • 波形:
  • 设置相位 - 初始相位(模块复位后或接收到音符(Note ON)后),或者立即设置相位为新值的命令;
  • 通道:0 - 立体声;1 - 单声道;
  • 频率单位;
  • 占空比(仅适用于方波波形);
  • 生成器:
    • 0(关闭)- LFO 作为调制器(改变输入信号的音量);
    • 1(开启)- LFO 作为生成器,产生与输入信号无关的振荡;
  • 频率缩放(%)- 用于减慢或加速振荡;
  • 平滑过渡 - 禁用它以获得波形内的硬过渡;
  • 正弦波质量:
    • 自动;
    • 低(无插值的波表);
    • 中(带插值的波表);
    • 高(完美正弦波)。
    循环模块

    该模块将重复输入声音的指定片段一定次数。
    要重新启动循环:更改“重复”控制器,或向此模块发送一些音符。
    默认情况下,模块处于待机状态,直到输入信号出现才开始工作。

    控制器:
    • 音量;
    • 长度 - 重复长度;
    • 立体声:0 - 单声道;1 - 立体声;
    • 重复 - 在继续捕获下一个片段之前重复多少次;128 = 无限重复;
    • 模式:0 - 正常;1 - 反复回放(乒乓循环);
    • 长度单位:
      • 行/128;
      • 行;
      • 行/2;
      • 行/3;
      • 滴答;
      • 毫秒;
      • 赫兹;
    • 最大缓冲区大小(以秒为单位),以防止分配过多内存;
    • 在 NoteON 时:
      • 从零迭代过渡重新开始(录制);
      • 重新启动当前迭代。
    视频:循环模块
    调制器模块

    幅度或相位调制器。第一个输入 = 载波。其他输入 = 调制器(将混合成单一信号)。

    在相位调制模式下,此模块是一个由调制信号幅度控制的可变延迟。

    控制器:

    • 音量;
    • 调制类型:
      • 0 - 幅度调制;
      • 1 - 相位调制;
        默认信号延迟(当调制输入静默时)= 20毫秒;
        延迟范围:40毫秒(mod.amp >= 1)... 20毫秒(mod.amp = 0)... 0毫秒(mod.amp <= -1);
      • 2 - 绝对相位调制(使用绝对幅度值);
        默认信号延迟(当调制输入静默时)= 0毫秒;
        延迟范围:40毫秒(mod.amp >= 1)... 0毫秒(mod.amp = 0)... 40毫秒(mod.amp <= -1);
    • 通道:0 - 立体声;1 - 单声道;
    • 最大相位调制延迟。

    变调器

    变调器是一个实时改变任何声音音高的模块。
    模块输出的信号总是略微延迟。延迟长度与“颗粒大小”成正比。只有满足以下条件时,模块才能无延迟工作:

    • 音高 = 0;
    • 反馈 = 0;
    • 如果音高=0则旁路 = 1 或 2(慢过渡或快过渡);
    • 输入信号为静音。

    控制器:
    • 音量;
    • 音高 - 音高降低或升高的程度(半音 = 10;八度 = 120);若为0,则模块不会改变信号;传入的音符(相对于C5)会改变此控制器的值;
    • 音高缩放:若小于100%,音高变化将减少;若大于100%,音高变化将增加;
    • 反馈 - 将被混入模块输入的输出信号量;
    • 颗粒大小:如果原信号以节奏为主,使用较小值;如果原信号较为单调,使用较大值;最大值 = 1/4 秒;
    • 模式;
    • 如果音高=0则旁路(关闭 / 慢过渡 / 快过渡)- 当模块不改变音高时播放原始信号;仅在零反馈下有效;

    视频:变调器

    混响

    混响是一个模拟混响效果(带有众多反射的回声,使声音更自然)的模块。

    控制器:

    • Dry - 原始信号量;
    • Wet - 处理后的信号量;
    • 反馈;
    • 衰减 - 通过低通滤波器进行信号衰减;
    • 宽度;
    • 冻结:0 - 无;1 - 冻结模式;
    • 模式;
    • 全通滤波器:
      • 0 - 关闭;
      • 1 - 启用:不同信号频率的相位随机偏移;
      • 2 - 改进算法,与前一种相比,几乎不影响原始信号频率的增益;
    • 房间大小;
    • 随机种子 - 房间内分区的随机组合。

    平滑器

    平滑器模块尝试跟随输入信号的波形,根据上升和下降参数平滑尖锐的变化。

    控制器:

    • 上升:
      • 对于模式0:输出值增加的速度 = 上升/采样率;
      • 对于模式1:信号上升部分的滤波器频率(以Hz为单位);
    • 下降:
      • 对于模式0:输出值减少的速度 = 下降/采样率;
      • 对于模式1:信号下降部分的滤波器频率(以Hz为单位);
    • 下降 = 上升(关闭/开启);
    • 缩放:低于100%的值将减少上升/下降速度;
    • 模式:0 - 线性;1 - 一阶低通滤波器;
    • 通道:0 - 立体声;1 - 单声道。

    声码器滤波器

    共振峰滤波器 - 旨在模拟人类声带。

    控制器:

    • 音量;
    • 共振峰宽度(Hz);
    • 强度;
    • 共振峰数量(越高越好);
    • 元音:A...E...I...O...U;
    • 声音类型:
      • 女高音;
      • 女中音;
      • 男高音;
      • 男低音;
    • 通道:0 - 立体声;1 - 单声道。
    • 随机频率;
    • 随机种子 - 伪随机数生成器的变化;
    • 元音1:A...E...I...O...U(用于重新排序元音控制器中的元音);
    • 元音2:A...E...I...O...U;
    • 元音3:A...E...I...O...U;
    • 元音4:A...E...I...O...U;
    • 元音5:A...E...I...O...U。

    视频:如何制作美丽的合成合唱团

    颤音

    颤音效果.

    控制器:

    • 音量;
    • 幅度;
    • 频率;
    • 通道:0 - 立体声;1 - 单声道;
    • 设置相位 - 初始相位(模块复位后或接收到音符(Note ON)后),或者立即设置相位为新值的命令;
    • 频率单位;
    • 指数幅度(关闭/开启)。

    波形整形器

    简单来说,波形整形器允许你改变输入信号的形状。默认形状是线性的(无变化;播放原始信号)。

    从数学角度讲,波形整形器是表达式 y = f( x );其中 y - 输出;x - 输入;f - 函数,其图形可以在波形整形器界面中看到。图形的水平轴是输入,垂直轴是输出。

    控制器:

    • 输入音量;
    • 混合:最小值 - 输出=输入;最大值 - 输出=过滤后的输入;
    • 输出音量;
    • 对称;
    • 模式;
    • 直流滤波器(DC Blocking Filter)。

    其他

    ADSR

    ADSR包络发生器。模块可以通过输入音符(响应音符ON/OFF)启动,也可以通过将“状态”控制器设置为“开始”值来启动。

    控制器:

    • 音量;
    • Attack(毫秒)- 包络从起点(零幅度)到最大幅度的时间;
    • Decay(毫秒)- 从最大幅度点到持续电平的时间;
    • 持续电平;
    • Release(毫秒)- 从持续电平到包络终点(零幅度)的时间;
    • Attack曲线 - Attack曲线类型(线性、更平滑、更尖锐等);
    • Decay曲线 - Decay曲线类型;
    • Release曲线 - Release曲线类型;
    • Sustain - 持续点(直到Note OFF)在包络上:
      • 关闭;
      • 开启;
      • 重复包络直到模块停止;
    • Sustain踏板(关闭/开启);
    • 状态(停止/开始);
    • 在NoteON时:
      • 什么都不做;
      • 在第一个音符上启动;
      • 启动;
    • 在NoteOFF时:
      • 什么都不做;
      • 在最后一个音符上停止;
      • 停止;
    • 模式:
      • 生成器 - 包络曲线作为音频信号出现在模块输出;使用Sound2Ctl将此信号转换为控制命令(控制器自动化);
      • 单声道幅度调制器 - 模块作为调制器工作:输入信号和包络的幅度相乘;
      • 立体声幅度调制器 - 与前一种模式相同,但为立体声;
    • 平滑过渡:
      • 关闭;
      • 重启和音量变化 - 在前一个包络仍在播放时,新包络已经运行的情况下,软重启包络(无咔哒声),并在更改“音量”控制器时实现平滑音量过渡;
      • 重启(更平滑)和音量变化 - 与前一种模式相同,但包络重启更加平滑;
      • 音量变化 - 音量将平滑变化,但包络启动未平滑;

    Ctl2Note

    Ctl2Note将“音高”控制器的值转换为音符(输出上的Note ON/OFF命令)。

    控制器:

    • 音高(范围:0...32768);
    • 第一个音符 - 对应于音高零值的音符编号;
    • 范围(半音数)- 音高范围被划分为这个数量的半音;
    • 转调;
    • 微调;
    • 力度;
    • 状态(关闭/开启);
    • NoteON:
      • 永不;
      • 在音高变化时;
    • NoteOFF:
      • 永不;
      • 在最低音高时;
      • 在最高音高时;
    • 记录音符(关闭/开启):如果启用此选项并且正在录制(REC按钮处于活动状态),则此模块的所有输出音符将被记录到新模式中。

    反馈

    通常SunVox不允许反馈:你不能在模块之间创建无限循环。但是你可以通过在循环中放置两个反馈模块来实现这一点(见截图)。

    内部反馈延迟 = 20 毫秒。

    Glide

    Glide 与 MultiSynth(将输入事件发送到连接的输出模块)类似,但还添加了音符之间的平滑过渡命令。

    控制器:
    • 响应:1000 - 立即改变音高;0...1000 - 平滑改变音高;
    • 采样率:最佳值为 150Hz,请避免在没有紧急需求的情况下使用更高的值;
    • 第一个音符重置(关闭/开启):如果启用,并且所有之前的音符都已释放(Glide 未激活),那么下一个接收到的音符将以其自身的频率立即发声,而不会进行平滑过渡;
    • 复音(关闭/开启);
    • 音高偏移(半音 = 10);
    • 音高缩放(%);
    • 重置:如果您向此控制器发送 1(开启),所有音符将被关闭,并且平滑过渡将被重置;
    • 八度偏移;
    • 频率倍增;
    • 频率除法。
    GPIO

    通过此模块,您可以使用设备板上的通用输入/输出(GPIO)引脚。例如,您可以向 LED 发送一些信号,或者从按钮接收 ON/OFF(1/0)消息。

    要求:启用了 GPIO Sysfs 接口的 Linux 系统。使用平台依赖的 GPIO 编号(而非物理编号)来访问 GPIO 引脚。这里可以阅读有关 Raspberry Pi 上的 GPIO 编号的信息。控制器:
    • 输出 - 如果启用,模块将向输出引脚发送 0 或 1;
    • 输出引脚 - 输出引脚编号;
    • 输出阈值 - 如果模块输入处的信号电平超过此值,输出引脚将切换为 1;
    • 输入 - 如果启用,模块将从输入引脚接收 0 或 1;
    • 输入引脚 - 输入引脚编号;
    • 输入音符 - 如果从输入引脚读取到 1,则会将指定编号的音符(非零)发送到所有接收模块(连接到 GPIO 模块的输出端);
    • 输入幅度 - 如果从输入引脚读取到 1,则会在模块输出端设置指定的幅度(信号电平)。
    简单示例文件夹中的示例:raspberry_pi_gpio。视频:点击查看
    MetaModule

    MetaModule 是 SunVox 的一个完整功能模块版本,相当于将一个 SunVox 项目嵌套到另一个 SunVox 项目中。因此,您可以递归地将一个 SunVox 项目嵌入到另一个项目中。一些复杂的合成器或效果器(包含大量模块)可以隐藏在 MetaModule 中。然后,该模块可以保存为 .sunsynth 文件,成为一个跨平台的 SunVox 乐器以供分享。

    有两种方法可以在 MetaModule 中播放某个生成器:

    1. 设置 Input Module 控制器来播放 MetaModule 内部选定的模块;这种方式支持复音,因为复音可以直接由选定的模块处理;
    2. 设置 Play Patterns 控制器并播放 MetaModule 内部的整个 SunVox 项目(包括模式)。这种方式不支持复音,因为我们需要为每个复音通道准备一个单独的 MetaModule 副本,但此限制可能会在未来 SunVox 更新中移除。

    控制器:

    • 音量;
    • Input module(在 MetaModule 内部)- 接收来自外部的声音和事件;
    • Play patterns(在 MetaModule 内部):
      • 关闭;
      • 开启(循环):接收到第一个音符后,MetaModule 将开始循环播放其内部项目;接收到最后一个音符释放后,MetaModule 将停止播放;
      • 开启(不循环):与上述模式相同,但项目只会播放一次;
      • 开启(循环,无尽):与“开启(循环)”相同,但播放不会停止;
      • 开启(不循环,无尽):与“开启(不循环)”相同,但播放不会停止;
    • BPM;
    • TPL;
    • + 用户自定义控制器(最多 96 个)...

    要打开用户自定义控制器编辑器,请点击“Controllers”按钮。可以通过在名称前添加 "@X" 来更改用户自定义控制器的颜色,其中 X 是从 0 到 F 的组号。组颜色(c_cgp0、c_cgp1 等)可以在 sunvox_config.ini 中进行调整。

    选项:

    • 7F - 琶音器(基准音 - C5):输入的音符将改变项目(在 MetaModule 内部)的音高;
    • 7E - 应用速度到项目(在 MetaModule 内部);
    • 7D - 事件输出:发送到 0.Output(在 MetaModule 内部)的事件将在 MetaModule 的输出端口上可用;
    • 7C - 从键盘接收音符;
    • 7B - 不从键盘接收音符;
    • 7A - 自动 BPM/TPL:将模块的 BPM 和 TPL 同步到父项目的 BPM 和 TPL;
    • 79 - 在最后一个 Note OFF 后忽略效果 31(跳转到行 XXYY);仅在“Play patterns” >= 3 时生效;
    • 78 - 在最后一个 Note OFF 后跳转到“RL”模式;仅在“Play patterns” >= 3 时生效。
    READ MORE...

    视频: 五种使用 MetaModule 的方法

    MultiCtl

    通过此模块,您可以同时更改多个控制器(在不同模块中)的值。最多可连接 16 个控制器。

    控制器:

    • 值 - 输入值;
    • 增益(正常值 = 256);
    • 量化 - 输出电平的最大数量;
    • OUT 偏移量;
    • 响应:1000 - 立即变化;0...1000 - 平滑变化;
    • 采样率;最佳值 = 150Hz,请避免在没有紧急需求的情况下使用更高的值。

    量化控制器 (Q) 将整个数值范围划分为 (Q-1) 部分。每一部分对应一个特定的电平。因此,几乎整个范围只包含 (Q-1) 个电平。将 "值" 设置为 32768 可获得最后一个(最大)电平。
    量化控制器的特殊值:
    • 小于 2 = 两个电平;
    • 32768 = 32769 个电平。

    公式:输出值 = quantization( curve( 输入值 ) ) + 偏移量;
    (这是一个粗略描述,实际代码更为复杂)

    视频: MultiCtl 模块

    MultiSynth

    此模块将传入事件(音符、音高变化、相位变化)发送到任意数量的已连接模块(接收器)。因此,只需按下一个音符即可同时播放大量合成器。MultiSynth 还可以根据以下描述的参数修改传入事件。

    控制器:

    • 移调(向上或向下移动的半音数);
    • 随机音高(一个半音 = 256);
    • 力度;
    • 微调(+256 = +1 半音;-256 = -1 半音);
    • 随机相位;
    • 随机力度;
    • 相位 - 样本的初始位置或某些生成器的初始相位;
    • Curve2 影响 - 线性(默认值)和用户绘制的 Curve2 之间的混合(输出力度 = Curve2(输入力度))。

    选项:
    • 7F - 使用静态音符 C5 - 用 C5 替换传入音符;
    • 7E - 忽略零力度的音符;
    • 7C - 触发:忽略 Note OFF 命令;新音符会关闭相同音高的旧音符;
    • 7B - 生成缺失的 Note OFF 命令:如果在同一轨道上连续出现两个音符之间没有 Note OFF 命令(一个音符简单地替换另一个音符),有时我们需要插入这些缺失的命令以避免音符悬空;READ MORE
    • 7A - 将音符 X(Curve3 的 X 轴)四舍五入到最近的整数(去除微音);
    • 79 - 将音高 Y(Curve3 的 Y 轴)四舍五入到最接近的值;
    • 78 - 将音符记录到音阶(Curve3)并自动复制 10 个八度音阶;参见示例“动态音阶”;
    • 76 - 输出音符 = 输出音符 - 输入音符 + C5;(输出与输入音高之间的差值,可以在 Pitch Shifter 中使用);
    • 75 - 输出端口编号 = 音符 % 已连接输出的数量;(% 是模运算(余数)操作);参见示例“鼓组 3(multisynth)”;
    • 74 - 输出端口编号 = 复音通道 % 已连接输出的数量;
    • 73 - 输出端口编号 = 循环轮询(循环):算法循环遍历所有空闲输出(未发送任何内容或已发送 NoteOFF 命令的输出);如果没有找到输出,则循环遍历所有占用的输出;
    • 72 - 输出端口编号 = 随机1;
    • 71 - 输出端口编号 = 随机2;
    • 70 - 输出端口编号 = 随机3(无重复);
    • 7D - 显示 Curve1: 输出力度 = Curve1(输入音符)
    • 7D - 显示 Curve2: 输出力度 = Curve2(输入力度)
    • 7D - 显示 Curve3: 输出音高 = Curve3(输入音高)

    如何使用选项 78 动态更改音阶(Curve3)从任何模式:
    1. 将 0001(ON)写入 MultiSynth 的控制器 78;
    2. 向 MultiSynth 发送一些音符 - 新的音阶将从这些音符创建;
    3. 将 0000(OFF)写入控制器 78,停止记录音符。
    力度公式:output_vel = curve2( input_vel * velocity * random * curve1( pitch ) );
    (这是一个粗略描述,实际代码更为复杂)

    视频:

    Pitch2Ctl

    此模块将传入音符转换为控制器值(在某些其他已连接模块中)。

    控制器:

    • 模式:
      • 频率 - 使用传入音符的频率(以 Hz 为单位);
      • 音高 - 使用传入音符的线性音高(第一个音符 ... 第一个音符 + 半音数);
    • 音符 OFF 操作 - 音符释放后执行的操作:
      • 什么都不做;
      • 音高下降(到 OUT min);
      • 音高上升(到 OUT max);
    • 第一个音符(仅适用于模式 音高);对应于控制器的 OUT min 值;
    • 半音数(仅适用于模式 音高)在 OUT minOUT max 之间;
    • OUT min;
    • OUT max;
    • OUT 控制器。

    Pitch Detector

    Pitch Detector 尝试检测传入音频信号的音高。频率和音符将会显示。音符将被发送到模块输出 - 连接到 Pitch Detector 输出的合成器将与原始声音同步播放。

    控制器:

    • 算法(根据原始信号的特性选择):
      • 0 - 快速(过零法):适用于基本周期波形(正弦、三角形、锯齿波、方波);最快且延迟最低;
      • 1 - 自相关:适用于具有复杂频谱的声音;
      • 2 - 逆谱:适用于具有复杂频谱的声音;与自相关相比,在低频表现较差,但在高频表现较好;
    • 阈值 - 检测器只会接受幅度大于该值的信号;
    • 增益 - 输出音符增益;
    • 微音:0(关闭)- 仅检测完整半音(锁定到 12 音平均律 (12-TET) 网格);1(开启):检测微音(音符可能不完全符合 12-TET 网格);
    • 检测器微调 - 检测器基础频率的精细调整:-256(降低半音)... 0 ... 256(升高半音);
    • LP 滤波器频率(Hz)- 模块输入处的低通滤波器截止频率;高于该值的频率将被抑制 - 这可以帮助去除干扰检测器的噪声;0 - 滤波器关闭;
    • LP 滤波器滚降(每八度 dB);
    • Alg1-2 采样率(Hz)- 算法 1 和 2 的采样率:较低的值会减少 CPU 负载,但也会降低检测质量;
    • Alg1-2 缓冲区(ms)- 算法 1 和 2 的缓冲区大小:较小的缓冲区 = 较小的延迟;较大的缓冲区 = 更好的检测质量;
    • Alg1-2 缓冲区重叠(%):较少的重叠 = 较少的 CPU 负载;较高的重叠可以更详细地检测音量和频率的变化;
    • Alg1 灵敏度(绝对阈值)- 算法 1 的结果受邻近谐波的影响;确切的值根据原始信号的特性实验确定;典型值为 10;
    • 记录音符(关/开):如果启用此选项并且正在录音(REC 按钮处于活动状态),则来自此模块输出的所有音符都将记录到新图案中。

    示例(sunvox/examples/simple_examples):音高校正(自动调音)

    视频: 音高校正(自动调音)

    Sound2Ctl

    此模块将音频信号转换为任何选定控制器的数值。

    Sound2Ctl 的输入端口用于接收音频信号。Sound2Ctl 的输出端口用于传输类似“将控制器 X 设置为值 Y”的命令。

    如果想禁用此模块:只需将其静音,或将 OUT Controller 设置为 0。

    视频: Sound2Ctl 模块

    Velocity2Ctl

    此模块将传入音符的速度参数转换为控制器值(在某些其他已连接模块中)。

    配置文件

    在大多数情况下,您无需手动更改此文件,因为设置可以在 SunVox 主菜单 -> 偏好设置中找到。但如果您想使用某些特定选项,可以基于 这个文件(所有选项的描述) 创建自己的配置文件。

    常见问题解答 (FAQ)

    界面

    界面有延迟
    尝试禁用一些模块可视化选项:主菜单 -> 偏好设置 -> 模块。

    图案编辑器中没有 CCEE XXYY 列
    这些列可能默认隐藏。进入图案编辑器菜单并选择“显示附加列”。

    模块、采样、效果

    如何将一个模块连接到另一个模块?
    请参阅 此处 的答案。

    滤波器效果的脉冲值没有变化
    这是正常行为。不需要记住“脉冲”值。以下是算法的描述:
    1. 频率 = 1000(例如)。
    2. 您将“脉冲”设置为 3000。
    3. 滤波器将其内部频率设置为 3000。
    4. 滤波器将“脉冲”重置为 0。(0 = 用户不再发送命令)。
    5. 频率从 3000 平滑变化到 1000。速度取决于“响应”值。

    采样需要特定的比特率/采样率/#声道才能工作吗?
    请参阅 此处 的答案。

    如何打开采样编辑器?
    请观看此 视频教程

    对于多采样,我如何设置采样的根音符?
    使用“rel.note”(相对音符)参数。

    如何调整多采样乐器?我在编辑器中看到多个采样的插槽和区域管理部分,但我一次只能加载一个采样。
    1. 创建一个新的 Sampler 并打开其编辑器:

    2. 加载采样 0:

    3. 采样 0 已加载:

    4. 加载采样 1:

    5. 采样 1 已加载:

    6. 将采样 1 设置为可在第 5 和第 6 八度播放:

    声音

    声音断断续续并卡顿。如何修复?
    一般提示:
    1. 确保您的项目中CPU负载不过高。检查一些轻量级项目(例如,NightRadio - Tiny Tune)。
    2. 打开SunVox主菜单 -> 设置 -> 音频,并更改采样率为您声卡的原生频率(如果已知)。
    Windows: 打开SunVox主菜单 -> 设置 -> 音频,将驱动程序设置为ASIO;如果没有适用于您声卡的ASIO驱动程序,请安装通用驱动程序(例如ASIO4ALL)。Android: 打开SunVox主菜单 -> 设置 -> 音频,并尝试将采样率更改为44100(如果默认值是48000)。Linux:
    1. 转到SunVox设置 -> 音频并检查输出字段。如果设置为“自动”,请从下拉列表中选择一个实际的音频输出设备。
    2. 如果这没有帮助,尝试使用以下命令启动SunVox:pasuspender -- ./sunvox。这将为SunVox提供对声卡的独占访问。
    Windows CE: 转到SunVox设置 -> 音频,并将缓冲区更改为1024到4096之间的某个值;例如,对于iPAQ设备,1536是一个最佳值。
    MIDI

    如何按通道拆分MIDI音符,并将不同通道的音符发送到不同的模块?
    转到模块属性并将MIDI IN设置为“始终”,如果该模块应始终播放(即使未被选中)。接下来,更改MIDI IN右侧的通道值。
    其他

    SunVox是否可以用作插件(VST、AU等)?SunVox与其它音频应用程序通信的方法有哪些?
    Windows:
    计划推出VST版本。
    可以将音频流从一个应用程序重定向到另一个应用程序。例如,从SunVox到另一个DAW。为此,请使用虚拟音频电缆VB-CABLE
    使用loopMIDI创建虚拟MIDI端口,以连接SunVox与其他应用程序:在SunVox中,这些端口可以用作MIDI输入(主菜单 -> 设置 -> MIDI)或MIDI输出(模块属性 -> MIDI OUT)。Linux:
    启动JACK服务器(例如带有GUI的qjackctl),在SunVox设置中将驱动程序切换为JACK。然后SunVox可以与其它JACK兼容的应用程序链接(音频+MIDI)。macOS:
    类似于Windows,有一个程序用于重定向音频流:Soundflower
    MIDI相对简单,因为大多数应用程序(包括SunVox)都有可见于其他程序的MIDI IN端口。
    具有M1处理器的Mac现在能够运行iOS应用程序。这意味着可以从App Store获取AU版本(类似VST)的SunVox。iOS:
    独立版本的SunVox(如macOS上一样)可以接收和发送MIDI命令到其他应用程序。
    有两种发送/接收音频信号的方法:
    使用Audiobus——允许SunVox与许多其他程序通信的主机;
    使用AU版本的SunVox;许多主机支持此格式,允许您在项目中添加无限数量的SunVox副本(作为乐器或效果器);安装App Store中的SunVox后,AU版本将立即出现在您的系统中。Android:
    暂无更多信息...

    SunVox无缘无故崩溃
    尝试清理SunVox的设置。从控制台启动它,并使用以下命令:sunvox clearall。如果您是Windows用户,只需运行reset_sunvox.bat脚本。
    iOS

    如何从SunVox内部存储导入/导出文件?
    有几种不同的方法:
    • 使用文件应用程序。
    • 使用iTunes文件共享访问SunVox文件。在计算机上启动iTunes,将其与iOS设备同步。然后在设备的应用程序列表中找到SunVox。选择它,您将看到SunVox内部存储的内容。
    • 在某些其他应用程序(例如邮件)中点击音频文件并选择在...中打开 -> SunVox(此功能可能隐藏在某些菜单中)。
    • 使用SunVox -> 主菜单 -> 导入/导出中提供的多种功能:
      • Wi-Fi导入/导出(即使没有Wi-Fi也可以本地工作,以便从同一设备上的浏览器访问文件);
      • 复制WAV文件到系统剪贴板;
      • 从系统剪贴板粘贴WAV文件;
      • 在其他应用程序中打开SunVox文件;
      • 系统导出(将文件从SunVox复制到设备上的其他位置);
      • 系统导入(从设备上的其他位置获取与SunVox兼容的文件)。
    使用AUv3版本的SunVox时无法找到独立应用程序中的文件
    AU和独立应用程序将文件存储在不同的位置。您可以使用以下文件传输方法。方法1
    1. 打开SunVox AU。
    2. 最大化SunVox窗口。
    3. 转到SunVox主菜单 -> 导入/导出 -> 系统导入 -> iOS文档选择器将打开。
    4. 找到独立版本的SunVox文件夹 -> 选择某个文件 -> 选定的文件将在AU中打开。
    方法2
    1. 打开SunVox AU。
    2. 转到SunVox主菜单 -> 导入/导出 -> Wi-Fi导入/导出。
    3. 在同一设备上打开Web浏览器并输入以下地址:localhost:8080。
    4. 您将看到AU版本的SunVox文件存储。
    5. 点击页面顶部的文件选择按钮 -> iOS文档选择器将打开。
    6. 找到独立版本的SunVox文件夹。
    7. 选择某个文件。
    8. 按下SEND。
    9. 文件将发送到AU的文件夹。
    10. 返回AU并关闭Wi-Fi窗口。
    Android

    麦克风没有信号
    打开Android设置 -> 应用程序 -> SunVox -> 启用“录音”权限。
    其他问题的已知解决方案
    macOS

    复制/粘贴功能不起作用,之前的会话未保存

x1.00
>
<
>>
<<
O
x1.00