Skip to content

0.5.2

Choose a tag to compare

@fukuyori fukuyori released this 12 Jul 13:03
· 14 commits to main since this release

[0.5.2] - 2026-07-12

Added

  • Audio-file export (章を音声ファイルへ書き出し). The 読み上げ menu can
    render the current chapter to a single audio file using the same voices and
    原文/訳文 rule as playback, with a progress dialog and cancel. Blocks
    synthesized by different engines/sample rates (VOICEVOX 24 kHz, Piper
    22.05 kHz, OS voices) are resampled into one stream with a 300 ms pause
    between paragraphs. OS voices are used via QTextToSpeech's synthesize
    capability where the engine supports it; VOICEVOX and Piper always support
    export. WAV (16-bit mono) is written directly; MP3 / M4A are encoded
    through ffmpeg (auto-detected on PATH, or set 読み上げ > 音声設定 >
    ffmpeg) — MP3 at ~130 kbps VBR (-q:a 4), M4A as 96 kbps AAC.

[0.5.1] - 2026-07-12

Added

  • Local AI voices for read-aloud: VOICEVOX and Piper. Besides the OS
    voices, the voice pickers list the speakers of a running
    VOICEVOX server (VOICEVOX: 四国めたん (ノーマル), Japanese) and the .onnx voice models of a local
    Piper install (Piper: en_US-lessac-medium, multi-language). Picking a prefixed voice routes that
    language to that engine — so e.g. Japanese can be spoken by VOICEVOX while
    English in the same book falls back to an OS voice. The VOICEVOX endpoint
    (default http://localhost:50021) and the Piper executable / voices folder
    are set in 読み上げ > 音声設定. Speech rate maps to VOICEVOX speedScale /
    Piper --length_scale; synthesized audio plays through Qt Multimedia (the
    engines are built only when that module is present).

[0.5.0] - 2026-07-12

Added

  • Read-aloud (読み上げ). The current chapter can be spoken block by block
    with the OS speech voices (Qt TextToSpeech; WinRT/SAPI on Windows,
    AVSpeechSynthesizer on macOS, speech-dispatcher on Linux). Reading follows
    the translation display mode — 原文 and 対訳 read the source text, 訳文
    reads the translation (falling back to the source where none is cached
    yet) — with the voice matched to the spoken language. The spoken paragraph
    is tinted and auto-scrolled into view,
    <ruby> text is spoken as its <rt> reading instead of base + furigana
    concatenated, reading starts from the paragraph currently on screen, and the
    chapter end can auto-advance into the next chapter (読み上げ menu toggle).
    Speech rate and a per-language voice are configurable in 読み上げ > 音声設定;
    play/pause/stop live on the toolbar and in the new 読み上げ menu
    (Ctrl+Shift+S toggles). Builds without Qt TextToSpeech still compile, with
    the actions reporting that no speech engine is available.