Fragment Editor 片段编辑器

The Fragment Editor is a full-featured piano-roll editor that opens when you double-click a fragment. It supports notes, lyrics, pitch curves, volume/pan envelopes, and phoneme-level editing.

片段编辑器是一个功能完整的钢琴卷帘编辑器,双击片段即可打开。它支持音符、歌词、音高曲线、音量/声像包络以及音素级编辑。

Opening the Fragment Editor 打开片段编辑器

Auto-Sync to Main Window 自动同步到主窗口

ℹ️

Edits in the Fragment Editor are automatically synced to the main window — there is no Save button. After any edit (MIDI notes, lyrics, pitch curve, envelopes, phoneme parameters), a 500ms debounced auto-save fires and pushes the updated fragment data to the main window.

片段编辑器中的编辑会自动同步到主窗口——没有保存按钮。任何编辑(MIDI 音符、歌词、音高曲线、包络、音素参数)后都会触发 500ms 防抖自动保存,将更新后的片段数据推送到主窗口。

Window Layout 窗口布局

ℹ️

Synthesis Cancellation — a cancel button appears during synthesis. Cancellation is cooperative: it exits GPU inference at safe checkpoints between diffusion steps, preventing the D3D device-hung crash that occurred with the old force-terminate approach.

取消合成——合成过程中会出现取消按钮。取消为协作式:在扩散步之间的安全检查点退出 GPU 推理,避免了旧的强制终止方式导致的 D3D 设备挂起崩溃。

ℹ️

Viewport-sized canvas — the timeline canvas now uses a viewport-sized backing store with scroll transform, fixing the Chromium canvas size limit that caused rendering issues on long MIDI projects. This allows smooth scrolling and rendering regardless of project length.

视口尺寸画布——时间线画布现在使用视口尺寸的后备存储加滚动变换,修复了 Chromium 画布尺寸限制导致长 MIDI 项目渲染异常的问题。无论项目长度如何,都能流畅滚动和渲染。

MIDI Editing MIDI 编辑

Adding Notes 添加音符

Selecting Notes 选择音符

Moving and Resizing 移动与调整长度

Deleting and Duplicating 删除与复制

Lyrics and Phonemes 歌词与音素

Editing Lyrics 编辑歌词

Lyric Input Rules 歌词输入规则

Language语言 Input输入 Processing处理方式
Chinese中文 Chinese characters (e.g., 你好世界); optional tone digit 15 after a character forces that tone (e.g., 你2 好3)汉字(如 你好世界);可在汉字后加数字 15 强制指定声调(如 你2 好3 Uses pinyin-pro to convert characters to Pinyin (with the forced tone if a digit is present), then to zh_* phonemes使用 pinyin-pro 将汉字转为拼音(如有数字则用其覆盖声调),再转为 zh_* 音素
English英语 English words (e.g., hello, love)英文单词(如 hellolove Built-in CMU pronunciation dictionary (126,000 words). Unknown words fall back to letter-by-letter estimation.内置 CMU 发音词典(12.6 万词)。未知单词回退到逐字母音素估算。
Special特殊 Empty lyric空歌词 Treated as <SP> (short pause/silence)作为 <SP>(短停顿/静音)

Slur (Continuation) Notes 连音(延续)音符

A slur note continues the previous note's sound without re-attacking. To create a slur, add a note with an empty lyric (or a dash -). It will be treated as a continuation of the previous note's phoneme.

连音音符延续前一个音符的发音而不重新起音。双击后续音符并输入半角连字符 -,编辑器会把它保存为内部连音状态;音符上仍显示 -,但该字符不会作为歌词送入模型。不要用空歌词表示连音,空歌词表示休止。

Kanji / Kana Auto-Grouping 汉字 / 假名自动分组

When a fragment already contains Japanese kana (hiragana or katakana) in any note's lyric, every single-character kanji note in the same fragment is automatically treated as Japanese and split into an ordered group of kana notes. This avoids the ambiguity of using the same CJK ideographs for both Chinese and Japanese within one fragment.

当分片中任一音符的歌词已包含日语假名(平假名或片假名)时,同一分片内的所有单字汉字音符会被自动识别为日语,并按顺序切分为一组假名音符。这避免了在同一分片中用同一套 CJK 汉字同时表示中文和日语的歧义。

Pitch Curves 音高曲线

Pitch curves add pitch slides and other expressive effects on top of the base MIDI pitch. The final pitch is: MIDI note pitch + pitch curve offset. For per-note vibrato, see Note Effects: Vibrato & Fade.

音高曲线在基础 MIDI 音高之上添加滑音等表现性效果。最终音高为:MIDI 音符音高 + 音高曲线偏移。逐音符颤音请见音符效果:颤音与渐强渐弱

Switch to Pitch mode by pressing 2 or clicking the Pitch button in the toolbar.

2 或点击工具栏的 Pitch 按钮切换到音高模式。

Anchor Points 锚点

Brush Mode & Smoothing 画笔模式与平滑

Reset 重置

Click ↺ Reset to clear all pitch curve modifications and return to the auto-generated curve based on MIDI notes.

点击 ↺ Reset 可清除所有音高曲线修改,回到基于 MIDI 音符的自动生成曲线。

Note Effects: Vibrato & Fade 音符效果:颤音与渐强渐弱

Right-click a note (in MIDI or Pitch mode) to open the Note Context Menu, where you can fine-tune per-note vibrato and fade in/out. The menu acts on the right-clicked note, or on the entire selection if the right-clicked note is already part of a multi-note selection — making it easy to apply the same effect to a group of notes at once.

右键点击音符(MIDI 或 Pitch 模式下)可打开音符右键菜单,在其中可逐音符微调颤音与渐入/渐出。菜单作用于被右键的音符;若该音符已在多选集合中,则作用于全部选中音符——便于一次给一组音符套用相同效果。

Vibrato 颤音

Vibrato adds a sinusoidal pitch modulation on top of the note's base pitch. It is layered over any existing pitch curve (anchor points / brush strokes), so slides and manual pitch edits are preserved — the vibrato simply oscillates around the curve's current value.

颤音在音符基础音高之上叠加正弦调制。它会叠加在任何已有的音高曲线(锚点 / 画笔笔触)之上,因此滑音与手动音高编辑都会保留——颤音只是围绕曲线当前值上下振荡。

Toggle the switch at the top of the menu to enable/disable vibrato, then fine-tune the following parameters:

在菜单顶部切换开关以启用 / 关闭颤音,然后微调以下参数:

Parameter参数 Range范围 Description说明
Depth幅度 0–200¢ Modulation amplitude in cents. 100¢ = one semitone.调制幅度,单位为音分。100¢ = 一个半音。
Rate频率 2.0–10.0 Hz Oscillation frequency. Typical vocal vibrato is around 5–6 Hz.振荡频率。典型人声颤音约 5–6 Hz。
Start起始点 0–80% Where vibrato begins within the note (0% = from the very start, 80% = near the end).颤音在音符内开始的相对位置(0% = 从音符最开头,80% = 接近末尾)。
Length长度 20–100% How long the vibrato lasts, as a fraction of the remaining note after the start point.颤音持续的长度,占起始点之后音符剩余时长的比例。
Fade In渐入 0–100% Vibrato amplitude fade-in ramp (0% = full depth immediately, 100% = linear ramp across the whole vibrato region). Prevents abrupt pitch jumps at the vibrato onset.颤音幅度的渐入比例(0% = 一开始即满幅度,100% = 整个颤音区间线性渐入)。避免颤音起始处出现突兀的音高跳变。

Fade In / Fade Out 渐强 / 渐弱

Fade applies a per-note volume envelope: Fade In ramps the note's volume from 0 → 1 over the given duration at the note's start; Fade Out ramps 1 → 0 at the note's end. This is applied as a post-processing gain on top of the synthesized audio, in both real-time preview and WAV export.

渐入渐出对单个音符施加音量包络:渐强在音符起始处将音量从 0 → 1 渐变;渐弱在音符末尾将音量从 1 → 0 渐变。该效果作为后处理增益叠加在合成音频之上,实时预览与 WAV 导出均生效。

Parameter参数 Range范围 Description说明
Fade In渐强 0–500 ms Fade-in duration at the note's start. 0 = no fade-in.音符起始处的渐入时长。0 = 无渐入。
Fade Out渐弱 0–500 ms Fade-out duration at the note's end. 0 = no fade-out.音符末尾的渐出时长。0 = 无渐出。

Other Menu Actions 其他菜单操作

ℹ️

Compatibility with pitch curves — vibrato is an additive pitch modulation layered on top of the pitch curve, so it works alongside anchor points and brush strokes. If a note has no custom pitch curve, vibrato modulates around the note's base MIDI pitch (and the note will be treated as having a customized pitch curve so that F0 data is generated for synthesis). Enabling, disabling, or changing vibrato on a note automatically invalidates the synthesis cache for that fragment, so the next preview reflects the new vibrato.

与音高曲线的兼容性——颤音是叠加在音高曲线之上的音高调制,因此可与锚点、画笔笔触共存。若音符没有自定义音高曲线,颤音会围绕音符的基础 MIDI 音高振荡(该音符会被视为已自定义音高曲线,从而为其生成 F0 数据用于合成)。启用、关闭或修改音符颤音会自动使该分片的合成缓存失效,下一次预览将反映新的颤音。

Backward compatibility — old projects created before vibrato/fade support are automatically normalized on load. Any pre-existing pitch curve data is preserved; vibrato and fade parameters default to disabled (no effect) unless explicitly set.

向后兼容——在支持颤音/渐变之前创建的旧项目在加载时会自动归一化。已有的音高曲线数据会被保留;颤音和渐变参数默认为禁用(无效果),除非显式设置。

Volume and Pan Envelopes 音量与声像包络

Volume (VOL) 音量(VOL)

Press 3 or click the VOL tab (expands the parameter panel):

3 或点击 VOL 标签(展开参数面板):

Pan (PAN) 声像(PAN)

Press 4 or click the PAN tab (expands the parameter panel):

4 或点击 PAN 标签(展开参数面板):

Envelope Editing 包络编辑

Phoneme Editing 音素编辑

Switch to Phoneme mode by pressing 5 or clicking the Phoneme tab (expands the parameter panel). Each note is automatically split into its constituent phonemes.

5 或点击 Phoneme 标签(展开参数面板)切换到音素模式。每个音符会自动拆分为其组成音素。

Undo / Redo 撤销 / 重做

MIDI Import MIDI 导入

  1. Open a fragment in the Fragment Editor.在片段编辑器中打开片段。
  2. Click 🎵 Import MIDI in the toolbar.在工具栏点击 🎵 Import MIDI
  3. Select a .mid or .midi file.选择 .mid.midi 文件。
  4. The MIDI file's notes are loaded into the fragment, replacing existing notes.MIDI 文件的音符会加载到片段中,替换现有音符。
ℹ️

Auto Shift — the checkbox in the toolbar controls global pitch shifting per fragment. When enabled (and a reference audio is loaded for the fragment), SXSEditor analyzes the reference audio's F0 and shifts the synthesized pitch to better match it. This is useful when a song's melody exceeds the model's comfortable range and you want the output to follow the reference singer's actual pitch. Note: per-segment autoShift was removed to prevent pitch discontinuities across inference chunks — the toolbar checkbox now applies a consistent shift across the entire fragment. See Synthesis & Export for details.

Auto Shift——工具栏中的复选框控制每个分片的全局移调。启用后(且分片已加载参考音频),SXSEditor 会分析参考音频的 F0 并平移合成音高以更好地贴合参考歌手。当歌曲旋律超出模型舒适音域、希望输出跟随参考歌手实际音高时很有用。注意:已移除逐段 autoShift 以防止推理块间的音高不连续——工具栏复选框现在对整个分片施加一致的移调。详见合成与导出

Accompaniment Tracks 伴奏音轨

Accompaniment audio can be imported as tracks alongside vocal fragments in the main window. Supported formats: WAV, MP3, FLAC, OGG, M4A, AAC. Multi-channel audio is supported. Each accompaniment track has per-track volume control in the track manager. Clips can be dragged to reposition on the timeline. Accompaniment audio is mixed into the final WAV export.

伴奏音频可以在主窗口中作为音轨与人声片段一起导入。支持格式:WAV、MP3、FLAC、OGG、M4A、AAC。支持多声道音频。每个伴奏音轨在轨道管理器中有逐轨音量控制。片段可拖动以在时间线上重新定位。伴奏音频会混入最终 WAV 导出。

Keyboard Shortcuts 键盘快捷键

Press F1 in the Fragment Editor to see the full shortcuts overlay. Shortcuts below apply to the Fragment Editor window.

在片段编辑器中按 F1 可查看完整快捷键面板。以下快捷键适用于片段编辑器窗口。

General 通用

Shortcut快捷键 Action操作
Ctrl+ZUndo撤销
Ctrl+YRedo重做
Ctrl+SForce-sync fragment to main window (cancel 500ms debounce)强制同步片段到主窗口(取消 500ms 防抖)
SpacePlay / Stop播放 / 停止
1Switch to MIDI mode切换到 MIDI 模式
2Switch to Pitch mode切换到音高模式
3Switch to VOL mode (expands parameter panel)切换到 VOL 模式(展开参数面板)
4Switch to PAN mode (expands parameter panel)切换到 PAN 模式(展开参数面板)
5Switch to Phoneme mode (expands parameter panel)切换到音素模式(展开参数面板)
F1Show shortcuts help显示快捷键帮助

Selection 选择

Shortcut快捷键 Action操作
Middle-click drag中键拖动Box select notes/anchors框选音符/锚点
Shift+Middle-clickShift+中键Append box select追加框选
Ctrl+ClickCtrl+点击Toggle selection切换选中
Shift+ClickShift+点击Append to selection添加到选择
Ctrl+ASelect all全选
EscapeDeselect all取消全选

MIDI Editing MIDI 编辑

Shortcut快捷键 Action操作
Move selected notes (semitone)移动选中音符(半音)
Move selected notes (time unit)移动选中音符(时间单位)
Shift+/Move selected notes (octave)移动选中音符(八度)
Shift+/Move selected notes (beat)移动选中音符(节拍)
DeleteDelete selected notes删除选中音符
Ctrl+DDuplicate selected notes复制选中音符
Double-click双击Edit note lyric编辑音符歌词
Right-click note右键音符Open Note Context Menu (vibrato & fade in/out)打开音符右键菜单(颤音与渐入 / 渐出)
Right-click kanji group bracket / label右键汉字分组连接线 / 标签Open Kanji Settings menu (toggle Chinese / Japanese)打开汉字设置菜单(切换中文 / 日语)

Pitch Editing 音高编辑

Shortcut快捷键 Action操作
Click点击Add anchor point添加锚点
Drag anchor拖动锚点Move anchor point移动锚点
Shift+DragShift+拖动Brush mode (freehand draw)画笔模式(手绘)
Right-click右键Delete anchor point删除锚点
DeleteDelete selected anchors删除选中锚点
Move selected anchors移动选中锚点

Phoneme Editing 音素编辑

Shortcut快捷键 Action操作
Click phoneme + drag点击音素 + 拖动Adjust phoneme volume (up/down)调整音素音量(上下)
Drag boundary拖动边界Adjust adjacent phoneme duration ratio调整相邻音素时长比例
Right-click phoneme右键音素Toggle lock (L marker)切换锁定(L 标记)
5Switch to phoneme mode切换到音素模式

View 视图

Shortcut快捷键 Action操作
Ctrl+ScrollHorizontal zoom横向缩放
Shift+ScrollHorizontal scroll横向滚动
ScrollVertical scroll纵向滚动