Releases: OHF-Voice/piper1-gpl
Releases Β· OHF-Voice/piper1-gpl
Release list
v1.7.0
- Add Japanese phonemizer using OpenJTalk (
pyopenjtalk-plus) in the newjaextra--data.phoneme_type japanesefor training;"phoneme_type": "japanese"in a voice config for synthesis- espeak-ng has no kanji coverage (it reads out Unicode character names) and no pitch accent
- Full-context labels are parsed for pitch accent and mapped to IPA, so Japanese voices stay compatible with the IPA-based (espeak) warmstart
- Add
script/setup --ja, and install thejaextra in CI so the Japanese tests run libpiper: addpiper_create_optionsandpiper_create_with_options(), withpiper_create()kept as a wrapper for ABI compatibility
v1.6.1
- Run the g2pW model through
piper.g2pw_onnxinstead ofg2pw.api, droppingtorch(~750 MB installed) andrequestsfrom thezhextrag2pw.apiimports torch only to build padded tensors and iterate batches; the model itself already ran under onnxruntime- Also 1.5-2x faster, since it no longer forks DataLoader worker processes on every call
g2pWis still required, for its pinyin/bopomofo lookup tables
v1.6.0
- Add Hebrew phonemizer using Nakdimon
v1.5.0
- Add
libpiperC++ CLI executable ported from the legacy Piper repository, plus a C++ test suite - Fix
libpiperbuilds on Windows (MSVC, MSYS2-GCC) and Windows CI - Bump embedded espeak-ng version
- Add default speaker id for multi-speaker voices
- Add vowel clustering support (
--data.vowel_clusters) - Add in-memory patching for alignments
- Training: add MRD (Multi-Resolution STFT) discriminator, loss/MOS tracking with UTMOS, silence-trim fixes, and dataloader performance improvements
- Pass custom phoneme id map when training
v1.4.2
v1.4.1
v1.4.0
- Add Chinese phonemizer based on g2pW
- Using a quantized version of the original model with
quantize_dynamic
- Using a quantized version of the original model with
- Add
--data.phoneme_type pinyinfor Chinese phonemization using g2pW - Add
--data.phoneme_type textfor using IPA phonemes directly (no espeak-ng) - Add
--model.vocoder_warmstart_ckpt <CHECKPOINT>to restore vocoder params only - Add
--data.dataset_type 'phoneme_ids'to train with pre-generated phoneme ids- Use
--data.num_symbols <N>to set number of phonemes - Use
--data.phonemes_path "/path/to/phonemes.json"for phoneme/id map
- Use
- Add
--output-dir-namingoption withtimestamp(default) andtext
v1.3.0
- Moved development to OHF-Voice org
- Removed C++ code for now to focus on Python development
- A C API
libpiperwritten in C++ is planned
- A C API
- Embed espeak-ng directly instead of using separate
piper-phonemizelibrary - Change license to GPLv3
- Use Python stable ABI (3.9+) so only a single wheel per platform is needed
- Change Python API:
PiperVoice.synthesizetakes aSynthesisConfigand generatesAudioChunkobjectsPiperVoice.synthesize_rawis removed
- Add seperate
piper.download_voicesutility for downloading voices from HuggingFace - Allow text as CLI argument:
piper ... -- "Text to speak" - Allow text from one or more files with
--input-file <FILE> - Excluding any file output arguments will play audio directly with
ffplay - Support for raw phonemes in text with
[[ <phonemes> ]] - Adjust output volume with
--volume <MULTIPLIER>(default is 1.0)