On this page
Voices and phrases
Once your announcement text is configured, you need to generate matching audio before it can play. This page covers the four sources of voices and how to manage the Phrase Library.
| Method | Preparation | Result | Best for |
|---|---|---|---|
| Preset voice | None | Standard, stable | Everyone, works out of the box |
| Cloned voice | A 5–10 second clean vocal clip | Close to the reference audio | Anyone who wants a particular character's voice |
| Fine-tuned voice | 10–30 minutes of speech + GPU training | Highest fidelity | Experienced, advanced users |
| Imported audio | Existing audio files | Exactly the original audio | Sound effects, recordings, or not wanting TTS |
Before generating audio, install the voice model in Model & Voices. Importing audio does not require the model.
Method 1: Preset voice
In , choose Preset voice (selected by default), tick the phrases and click Start generating. Clicking Generate missing voices in the announcement overview also uses the preset voice by default.
- The preset voice is chosen automatically from the current UI language (简体中文 / English / 日本語), regardless of what language the phrase itself is written in.
- If you switch the UI language and generate again, the preset voice for the new language is used automatically.
Method 2: Cloned voice
All you need is one reference clip; no training required.
- In Batch generate, choose Cloned voice.
- Choose Use existing voice, or Create new voice: fill in New voice name and click Select reference audio (WAV). You can tick Keep the reference audio file.
- Tick the phrases to generate (you can use Select all) and click Start generating.
Saved voices appear in , so next time you can simply select them.
Method 3: Fine-tuned voice (advanced)Advanced setup
Cloning relies on only a few seconds of reference audio, so its similarity and stability are limited. For higher fidelity, you can fine-tune a dedicated model on the target character's speech data, export it, and reference it in the app.
Rough pipeline:
- Get source material: Bilibili videos can be downloaded with bilibilidownloadtool.
- Extract audio: convert to lossless PCM WAV with FFmpeg, keeping the original sample rate. Don't compress to MP3 first.
- Separate vocals: use Ultimate Vocal Remover to remove background sound, export the
Vocalsdry track, and listen through the whole thing to check it. - Build the dataset: split on silence, resample to 24kHz, transcribe with ASR, then proofread the text by hand.
- Train: generate discrete audio codes and a speaker embedding, then fine-tune Qwen3-TTS 0.6B CustomVoice. Running it in Docker is recommended; the prebuilt image is
ghcr.io/mozi1924/qwen3-tts-easyfinetuning. - Export: export a GGUF deployment folder, then click Import in . After that, choose Fine-tuned voice in batch generation.
Data and environment requirements:
- Only use voice data that you own or are authorized to use, and keep each dataset to a single speaker.
- Aim for 10–30 minutes of clean, usable speech. Training works with less data, but similarity and stability will be worse.
- Training is best done on an NVIDIA GPU with ≥ 16GB of VRAM; on Windows, WSL2 + Docker Desktop is recommended.
Fine-tuning results (Japanese voice):
- Tina CD finished reminder: ja_01_tina_cd.wav
- N20 healing reminder: ja_02_n20_healbot.wav
If the deployment folder is moved or its files change, the fine-tuned voice shows Path missing or File modified. Use Relink to point it to the new location, and Check integrity to confirm it is complete. Remove reference only removes the reference; it does not delete the external files.
Method 4: Import existing audio
If you don't want to use TTS, or want to use a sound effect, you can import audio files directly:
- In Phrase Library, fill in Phrase name and click Import audio.
- Choose a wav / mp3 / flac / ogg / m4a file no larger than 50 MiB and 0.2–30 seconds long.
- For an existing phrase, you can also click Import audio on its row to replace its current audio with a file.
Imported audio is converted to mono 24kHz, shows the status Imported, and is excluded from voice generation. Choose Phrase library reference on a feature page to use it.
Managing the phrase library
Each phrase in the Phrase Library has a status:
| Status | Meaning |
|---|---|
| Generated | Ready to play |
| Needs regeneration | The voice or text was changed, so the old audio is out of date |
| Not generated | No audio yet |
| Imported | Comes from an imported file |
You can also Add phrase by hand to write frequently used lines, then reuse them on several feature pages by referencing them from the phrase library.
Auto-generated phrases are told apart by their text: if one announcement uses different text in different loadouts, each text keeps its own audio, and announcements with the same text share one. After you change the text, the announcement keeps playing its previous audio until audio for the new text is generated.
Deleting announcements, un-monitoring their targets or changing their text turns the old auto-generated phrases into unreferenced phrases. They are not deleted automatically: if you set up an announcement with the same text again before cleaning up, it reuses the audio that was already generated. Click Clean up unreferenced phrases to delete them all at once; the confirmation lists the phrases that will be deleted. The cleanup checks every loadout (not just the current one) and never deletes:
- phrases still used by any loadout, including events that are switched off;
- phrases picked with Phrase library reference on a feature page;
- old phrases still playing in place of new text whose audio is not generated yet;
- phrases with imported audio (delete those one by one in the list);
- phrases you created by hand, and the bundled prompts.
Examples
Example Warn about a Boss's big attack with your own sound effectScenario: your group has agreed that when the Boss uses a certain big attack, everyone hears an alarm rather than a TTS line. You have a 2-second alarm sound effect, alarm.mp3, and want it to play at the highest priority while the big attack is being cast.
Step 1: Import the sound effect
- Open .
- Enter "Big attack alarm" in Phrase name.
- Click Import audio and choose
alarm.mp3. - "Big attack alarm" appears in the list with the status Imported. Click Preview to check that it sounds right.
Importing audio does not require installing the voice model.
Step 2: Reference it in Boss DBM
- Open .
- In Voice Broadcast, add this skill and choose the event Broadcast on trigger.
- For the text source, choose Phrase library reference, click Select phrase and pick "Big attack alarm".
- Set Priority to Urgent.
Step 3: Allow interruption
In , turn on Higher priority interrupts current playback. That way the alarm sounds immediately even if something else is being announced.
Sharing with teammates
When you export the loadout to teammates, the announcement bindings go with it, but the audio files do not. Have your teammates import the same
alarm.mp3 into their phrase library too: an imported phrase's ID is determined by the audio content, so the same file gets the same ID and the binding matches up automatically.