Instructions to use jjiang4/acesinger_svs_train_visinger2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ESPnet
How to use jjiang4/acesinger_svs_train_visinger2 with ESPnet:
unknown model type (must be text-to-speech or automatic-speech-recognition)
- Notebooks
- Google Colab
- Kaggle
ESPnet3 gansvs model
Packed model bundle generated from egs3/acesinger/svs.
Model
- Repository:
jjiang4/acesinger_svs_train_visinger2 - Recipe:
egs3/acesinger/svs - Corpus:
acesinger - System:
gansvs - Creator:
jjiang4 - Created:
2026-09-13T20:30:01 - Branch:
acesinger - Git:
5fd502819d(dirty) - Origin: git@github.com:Ting-Justin-Jiang/espnet.git
Model summary
- Class:
ESPnetGANSVSModel - Total parameters:
107,319,495 - Learnable parameters:
107,319,495(100.0%) - Non-trainable parameters:
0 - Parameter size:
429.28 MB - Buffers:
4,591,030(18.36 MB) - Modules:
1,297total,916leaf - DType composition:
torch.float32(104.3%), torch.float64(0.0%)
Usage
from espnet3.publication import InferenceModel
model = InferenceModel.from_pretrained("jjiang4/acesinger_svs_train_visinger2", trust_user_code=True)
# `sample` is one item of the recipe dataset built with `inference: true`:
# the music score under "text" ({"label": (times, phones), "score": (tempo,
# notes)}) plus the singer id "sids". `result["wav"]` is the waveform.
result = model(sample)
Packaging
- Bundle:
model_pack - Exp dir:
./exp/train_visinger2 - Strategy:
copy experiment outputs; include extra recipe assets; apply exclude filters
Results
| dataset | log_f0_rmse | mcd | semitone_acc | vuv_err |
|---|---|---|---|---|
| test | 0.18274712676728574 | 6.103883153889555 | 0.5672507490139542 | 0.09170632745165584 |
Training config
expand
num_device: 4
num_nodes: 1
task: espnet2.tasks.gan_svs.GANSVSTask
recipe_dir: .
data_dir: ./data
exp_tag: train_visinger2
exp_dir: ./exp/train_visinger2
stats_dir: ./exp/train_visinger2/stats
inference_dir: ./exp/train_visinger2/inference
dataset:
_target_: espnet3.components.data.data_organizer.DataOrganizer
_recursive_: false
recipe_dir: .
train:
- data_src_args:
split: train
manifest_path: ./data/manifest_filtered/train.tsv
collect_feats_dir: ./exp/train_visinger2/stats/train/collect_feats
valid:
- data_src_args:
split: valid
manifest_path: ./data/manifest_filtered/valid.tsv
collect_feats_dir: ./exp/train_visinger2/stats/valid/collect_feats
test: null
preprocessor:
_target_: espnet2.train.preprocessor.SVSPreprocessor
train: true
token_type: phn
token_list: ./data/token_list/phn_none/tokens.txt
fs: 44100
hop_length: 512
_convert_: all
_convert_: all
model:
token_list: ./data/token_list/phn_none/tokens.txt
feats_extract: fbank
feats_extract_conf:
fs: 44100
n_fft: 2048
hop_length: 512
win_length: 2048
fmin: 80
fmax: 22050
n_mels: 80
normalize: global_mvn
normalize_conf:
stats_file: ./exp/train_visinger2/stats/train/feats_stats.npz
score_feats_extract: syllable_score_feats
score_feats_extract_conf:
fs: 44100
n_fft: 2048
win_length: 2048
hop_length: 512
pitch_extract: dio
pitch_extract_conf:
fs: 44100
n_fft: 2048
hop_length: 512
f0max: 810
f0min: 80
use_token_averaged_f0: false
use_log_f0: false
pitch_normalize: null
svs: vits
svs_conf:
generator_type: visinger2
vocoder_generator_type: visinger2
generator_params:
hidden_channels: 192
spks: 31
global_channels: 256
segment_size: 20
text_encoder_attention_heads: 2
text_encoder_ffn_expand: 4
text_encoder_blocks: 6
text_encoder_positionwise_layer_type: conv1d
text_encoder_positionwise_conv_kernel_size: 3
text_encoder_positional_encoding_layer_type: rel_pos
text_encoder_self_attention_layer_type: rel_selfattn
text_encoder_activation_type: swish
text_encoder_normalize_before: true
text_encoder_dropout_rate: 0.1
text_encoder_positional_dropout_rate: 0.0
text_encoder_attention_dropout_rate: 0.1
use_macaron_style_in_text_encoder: true
use_conformer_conv_in_text_encoder: false
text_encoder_conformer_kernel_size: -1
decoder_kernel_size: 7
decoder_channels: 256
decoder_upsample_scales:
- 8
- 8
- 4
- 2
decoder_upsample_kernel_sizes:
- 16
- 16
- 8
- 4
n_harmonic: 64
decoder_resblock_kernel_sizes:
- 3
- 7
- 11
decoder_resblock_dilations:
- - 1
- 3
- 5
- - 1
- 3
- 5
- - 1
- 3
- 5
use_weight_norm_in_decoder: true
posterior_encoder_kernel_size: 3
posterior_encoder_layers: 8
posterior_encoder_stacks: 1
posterior_encoder_base_dilation: 1
posterior_encoder_dropout_rate: 0.0
use_weight_norm_in_posterior_encoder: true
flow_flows: -1
flow_kernel_size: 5
flow_base_dilation: 1
flow_layers: 4
flow_dropout_rate: 0.0
use_weight_norm_in_flow: true
use_only_mean_in_flow: true
use_phoneme_predictor: false
discriminator_type: visinger2
discriminator_params:
scales: 1
scale_downsample_pooling: AvgPool1d
scale_downsample_pooling_params:
kernel_size: 4
stride: 2
padding: 2
scale_discriminator_params:
in_channels: 1
out_channels: 1
kernel_sizes:
- 15
- 41
- 5
- 3
channels: 128
max_downsample_channels: 1024
max_groups: 256
bias: true
downsample_scales:
- 4
- 4
- 4
- 4
nonlinear_activation: LeakyReLU
nonlinear_activation_params:
negative_slope: 0.1
use_weight_norm: true
use_spectral_norm: false
follow_official_norm: false
periods:
- 2
- 3
- 5
- 7
- 11
period_discriminator_params:
in_channels: 1
out_channels: 1
kernel_sizes:
- 5
- 3
channels: 32
downsample_scales:
- 3
- 3
- 3
- 3
- 1
max_downsample_channels: 1024
bias: true
nonlinear_activation: LeakyReLU
nonlinear_activation_params:
negative_slope: 0.1
use_weight_norm: true
use_spectral_norm: false
multi_freq_disc_params:
hop_length_factors:
- 2.5
- 5
- 7.5
- 10
- 12.5
- 15
hidden_channels:
- 256
- 256
- 256
- 256
- 256
domain: double
mel_scale: true
divisors:
- 32
- 16
- 8
- 4
- 2
- 1
- 1
strides:
- 1
- 2
- 1
- 2
- 1
- 2
- 1
generator_adv_loss_params:
average_by_discriminators: false
loss_type: mse
discriminator_adv_loss_params:
average_by_discriminators: false
loss_type: mse
feat_match_loss_params:
average_by_discriminators: false
average_by_layers: false
include_final_outputs: true
mel_loss_params:
fs: 44100
n_fft: 2048
hop_length: 512
win_length: 2048
window: hann
n_mels: 80
fmin: 0
fmax: 22050
log_base: null
lambda_adv: 1.0
lambda_mel: 45.0
lambda_feat_match: 2.0
lambda_dur: 0.1
lambda_pitch: 10.0
lambda_phoneme: 1.0
lambda_kl: 1.0
sampling_rate: 44100
cache_generator_outputs: true
optimizer: null
scheduler: null
scheduler_interval: null
scheduler_monitor: null
optimizers:
generator:
optimizer:
_target_: torch.optim.AdamW
lr: 0.0002
betas:
- 0.8
- 0.99
eps: 1.0e-09
weight_decay: 0.0
_convert_: all
params: generator
discriminator:
optimizer:
_target_: torch.optim.AdamW
lr: 0.0002
betas:
- 0.8
- 0.99
eps: 1.0e-09
weight_decay: 0.0
_convert_: all
params: discriminator
schedulers:
generator:
scheduler:
_target_: torch.optim.lr_scheduler.ExponentialLR
gamma: 0.998
_convert_: all
interval: epoch
discriminator:
scheduler:
_target_: torch.optim.lr_scheduler.ExponentialLR
gamma: 0.998
_convert_: all
interval: epoch
best_model_criterion:
- - valid/generator/loss
- 5
- min
seed: 777
generator_first: true
write_collected_feats: true
init: null
parallel:
env: local
n_workers: 1
dataloader:
collate_fn:
_target_: espnet2.train.collate_fn.CommonCollateFn
int_pad_value: 0
float_pad_value: 0.0
not_sequence:
- spembs
- sids
- lids
_convert_: all
train:
iter_factory:
_target_: espnet2.iterators.sequence_iter_factory.SequenceIterFactory
shuffle: true
num_workers: 4
collate_fn:
_target_: espnet2.train.collate_fn.CommonCollateFn
int_pad_value: 0
float_pad_value: 0.0
not_sequence:
- spembs
- sids
- lids
_convert_: all
batches:
type: sorted
batch_size: 8
batch_bins: 0
sort_batch: descending
shape_files:
- ./exp/train_visinger2/stats/train/feats_shape
_convert_: all
valid:
iter_factory:
_target_: espnet2.iterators.sequence_iter_factory.SequenceIterFactory
shuffle: false
num_workers: 4
collate_fn:
_target_: espnet2.train.collate_fn.CommonCollateFn
int_pad_value: 0
float_pad_value: 0.0
not_sequence:
- spembs
- sids
- lids
_convert_: all
batches:
type: sorted
batch_size: 8
batch_bins: 0
sort_batch: descending
shape_files:
- ./exp/train_visinger2/stats/valid/feats_shape
_convert_: all
trainer:
accelerator: auto
devices: 4
num_nodes: 1
strategy: ddp_find_unused_parameters_true
max_epochs: 500
limit_train_batches: 1000
check_val_every_n_epoch: 1
log_every_n_steps: 50
logger:
- _target_: lightning.pytorch.loggers.TensorBoardLogger
save_dir: ./exp/train_visinger2/tensorboard
name: tb_logger
_convert_: all
fit:
ckpt_path: last
create_dataset:
recipe_dir: .
remove_long_short:
min_wav_duration: 0.1
max_wav_duration: 20.0
splits:
- train
- valid
manifest_paths:
train: ./data/manifest/train.tsv
valid: ./data/manifest/valid.tsv
save_path: ./data/manifest_filtered
create_token_list:
manifest_path: ./data/manifest_filtered/train.tsv
save_path: ./data/token_list/phn_none
filename: tokens.txt
token_type: phn
cleaner: null
g2p: null
add_symbol:
- <blank>:0
- <unk>:1
- <sos/eos>:-1
Citing ESPnet
@inproceedings{watanabe2018espnet,
author={Shinji Watanabe and Takaaki Hori and Shigeki Karita and Tomoki Hayashi and
Jiro Nishitoba and Yuya Unno and Nelson Yalta and Jahn Heymann and Matthew Wiesner
and Nanxin Chen and Adithya Renduchintala and Tsubasa Ochiai},
title={{ESPnet}: End-to-End Speech Processing Toolkit},
year={2018},
booktitle={Proceedings of Interspeech},
pages={2207--2211},
doi={10.21437/Interspeech.2018-1456}
}
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support