You can enable custom models by editing the models.json configuration file and restarting the application.
Configuration File Locations:
- Standard Linux:
~/.local/share/net.mkiol/dsnote/models.json - Flatpak:
~/.var/app/net.mkiol.SpeechNote/data/net.mkiol/dsnote/models.json - Sailfish OS:
~/.local/share/org.mkiol/dsnote/models.json
Model JSON Schema:
{
"name": "<model name>",
"model_id": "<model unique id>",
"engine": "<engine type>",
"lang_id": "<lang id>",
"checksum": "<md5 checksum>",
"checksum_quick": "<partial md5 checksum>",
"comp": "<compression type",
"urls": [
<model URLs>
],
"size": "<download size of all files>"
}
Allowed Values:
- engine:
stt_ds, stt_vosk, stt_april, stt_whisper, stt_fasterwhisper, tts_piper, tts_rhvoice, tts_espeak, tts_coqui, tts_mimic3, tts_whisperspeech, tts_sam, tts_parler, tts_f5, tts_kokoro, mnt_bergamot - comp:
none, gz, xz, tarxz, targz, zip, zipall, dir, dirgz - urls: Supports
http, https, file
Generating Checksums:
If you are adding a new model, set checksum and checksum_quick to empty strings in the JSON file, then run Speech Note with the --gen-checksums flag to find the correct values.
flatpak run net.mkiol.SpeechNote --verbose --gen-checksums
{
"name": "New Piper Voice",
"model_id": "en_piper_new",
"engine": "tts_piper",
"lang_id": "en",
"checksum": "",
"checksum_quick": "",
"size": ""
"comp": "dir",
"urls": [
"file:///home/me/models/new-model-medium.onnx",
"file:///home/me/models/new-model-medium.onnx.json"
]
}