From 762f965cf774bb7b9e33520d6cf700fda05ed114 Mon Sep 17 00:00:00 2001 From: Wei Kang Date: Wed, 18 Jun 2025 18:38:46 +0800 Subject: [PATCH] [zipvoice] Add requirements.txt and pinyin.txt, remove k2 from pretrained model inference. (#1965) * Add requirements.txt and pinyin.txt needed by zipvoice * simplify the requirements for pretrained model inference --- egs/zipvoice/README.md | 21 +- egs/zipvoice/local/compute_fbank.py | 7 +- egs/zipvoice/local/pinyin.txt | 1550 +++++++++++++++++++++++ egs/zipvoice/local/preprocess_emilia.py | 5 +- egs/zipvoice/requirements.txt | 17 + egs/zipvoice/zipvoice/scaling.py | 28 +- egs/zipvoice/zipvoice/tokenizer.py | 8 +- 7 files changed, 1612 insertions(+), 24 deletions(-) create mode 100644 egs/zipvoice/local/pinyin.txt create mode 100644 egs/zipvoice/requirements.txt diff --git a/egs/zipvoice/README.md b/egs/zipvoice/README.md index 4bca60301..0c97d7ed8 100644 --- a/egs/zipvoice/README.md +++ b/egs/zipvoice/README.md @@ -39,15 +39,6 @@ source venv/bin/activate * Install the required packages: ```bash -# Install pytorch and k2. -# If you want to use different versions, please refer to https://k2-fsa.org/get-started/k2/ for details. -# For users in China mainland, please refer to https://k2-fsa.org/zh-CN/get-started/k2/ - -pip install torch==2.5.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121 -pip install k2==1.24.4.dev20250208+cuda12.1.torch2.5.1 -f https://k2-fsa.github.io/k2/cuda.html - -# Install other dependencies. -pip install piper_phonemize -f https://k2-fsa.github.io/icefall/piper_phonemize.html pip install -r requirements.txt ``` @@ -97,6 +88,16 @@ The following steps show how to train a model from scratch on Emilia and LibriTT ### 0. Install dependencies for training ```bash +# Install pytorch and k2. +# If you want to use different versions, please refer to https://k2-fsa.org/get-started/k2/ for details. +# For users in China mainland, please refer to https://k2-fsa.org/zh-CN/get-started/k2/ + +# Note: Make sure you have installed the correct version of PyTorch and k2 that matches your CUDA version. +# For example, if want to use pytorch 2.5.1 and you are using CUDA 12.1, you can install PyTorch and k2 as follows: + +pip install torch==2.5.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu121 +pip install k2==1.24.4.dev20250208+cuda12.1.torch2.5.1 -f https://k2-fsa.github.io/k2/cuda.html + pip install -r ../../requirements.txt ``` @@ -403,7 +404,7 @@ on three test sets, i.e., LibriSpeech-PC test-clean, Seed-TTS test-en and Seed-T ```bibtex @article{zhu-2025-zipvoice, - title={ZipVoice: Fast and High-Quality Zero-Shot Text-to-Speech with Flow Matching}, + title={ZipVoice: Fast and High-Quality Zero-Shot Text-to-Speech with Flow Matching}, author={Han Zhu and Wei Kang and Zengwei Yao and Liyong Guo and Fangjun Kuang and Zhaoqing Li and Weiji Zhuang and Long Lin and Daniel Povey} journal={arXiv preprint arXiv:2506.13053}, year={2025}, diff --git a/egs/zipvoice/local/compute_fbank.py b/egs/zipvoice/local/compute_fbank.py index 09a154229..0c440b995 100644 --- a/egs/zipvoice/local/compute_fbank.py +++ b/egs/zipvoice/local/compute_fbank.py @@ -19,11 +19,13 @@ import argparse import logging import os +from concurrent.futures import ProcessPoolExecutor as Pool from pathlib import Path from typing import Optional -from concurrent.futures import ProcessPoolExecutor as Pool +import lhotse import torch +from feature import TorchAudioFbank, TorchAudioFbankConfig from lhotse import ( CutSet, LilcomChunkyWriter, @@ -31,9 +33,6 @@ from lhotse import ( set_audio_duration_mismatch_tolerance, ) -from feature import TorchAudioFbank, TorchAudioFbankConfig -import lhotse - # Torch's multithreaded behavior needs to be disabled or # it wastes a lot of CPU and slow things down. # Do this outside of main() in case it needs to take effect diff --git a/egs/zipvoice/local/pinyin.txt b/egs/zipvoice/local/pinyin.txt new file mode 100644 index 000000000..cd8d14dc3 --- /dev/null +++ b/egs/zipvoice/local/pinyin.txt @@ -0,0 +1,1550 @@ +a +a1 +a2 +a3 +a4 +ai1 +ai2 +ai3 +ai4 +an1 +an2 +an3 +an4 +ang1 +ang2 +ang3 +ang4 +ao1 +ao2 +ao3 +ao4 +ba +ba1 +ba2 +ba3 +ba4 +bai +bai1 +bai2 +bai3 +bai4 +ban +ban1 +ban3 +ban4 +bang1 +bang3 +bang4 +bao1 +bao2 +bao3 +bao4 +bei +bei1 +bei3 +bei4 +ben1 +ben3 +ben4 +beng +beng1 +beng2 +beng3 +beng4 +bi1 +bi2 +bi3 +bi4 +bian +bian1 +bian3 +bian4 +biang2 +biao1 +biao3 +biao4 +bie1 +bie2 +bie3 +bie4 +bin +bin1 +bin3 +bin4 +bing1 +bing3 +bing4 +bo +bo1 +bo2 +bo3 +bo4 +bu1 +bu2 +bu3 +bu4 +ca1 +ca3 +ca4 +cai1 +cai2 +cai3 +cai4 +can1 +can2 +can3 +can4 +cang1 +cang2 +cang3 +cang4 +cao1 +cao2 +cao3 +cao4 +ce4 +cei4 +cen1 +cen2 +ceng1 +ceng2 +ceng4 +cha1 +cha2 +cha3 +cha4 +chai1 +chai2 +chai3 +chai4 +chan1 +chan2 +chan3 +chan4 +chang +chang1 +chang2 +chang3 +chang4 +chao1 +chao2 +chao3 +chao4 +che1 +che2 +che3 +che4 +chen +chen1 +chen2 +chen3 +chen4 +cheng1 +cheng2 +cheng3 +cheng4 +chi +chi1 +chi2 +chi3 +chi4 +chong1 +chong2 +chong3 +chong4 +chou1 +chou2 +chou3 +chou4 +chu +chu1 +chu2 +chu3 +chu4 +chua1 +chua3 +chua4 +chuai1 +chuai2 +chuai3 +chuai4 +chuan1 +chuan2 +chuan3 +chuan4 +chuang1 +chuang2 +chuang3 +chuang4 +chui1 +chui2 +chui3 +chui4 +chun1 +chun2 +chun3 +chuo1 +chuo4 +ci1 +ci2 +ci3 +ci4 +cong1 +cong2 +cong3 +cong4 +cou1 +cou2 +cou3 +cou4 +cu1 +cu2 +cu3 +cu4 +cuan1 +cuan2 +cuan4 +cui +cui1 +cui3 +cui4 +cun1 +cun2 +cun3 +cun4 +cuo1 +cuo2 +cuo3 +cuo4 +da +da1 +da2 +da3 +da4 +dai +dai1 +dai3 +dai4 +dan1 +dan3 +dan4 +dang +dang1 +dang3 +dang4 +dao1 +dao2 +dao3 +dao4 +de +de1 +de2 +dei1 +dei3 +den4 +deng1 +deng3 +deng4 +di1 +di2 +di3 +di4 +dia3 +dian1 +dian2 +dian3 +dian4 +diao1 +diao3 +diao4 +die1 +die2 +die3 +die4 +din4 +ding1 +ding3 +ding4 +diu1 +dong1 +dong3 +dong4 +dou1 +dou3 +dou4 +du1 +du2 +du3 +du4 +duan1 +duan3 +duan4 +dui1 +dui3 +dui4 +dun1 +dun3 +dun4 +duo +duo1 +duo2 +duo3 +duo4 +e +e1 +e2 +e3 +e4 +ei1 +ei2 +ei3 +ei4 +en1 +en3 +en4 +eng1 +er +er2 +er3 +er4 +fa +fa1 +fa2 +fa3 +fa4 +fan1 +fan2 +fan3 +fan4 +fang +fang1 +fang2 +fang3 +fang4 +fei1 +fei2 +fei3 +fei4 +fen1 +fen2 +fen3 +fen4 +feng1 +feng2 +feng3 +feng4 +fiao4 +fo2 +fou1 +fou2 +fou3 +fu +fu1 +fu2 +fu3 +fu4 +ga1 +ga2 +ga3 +ga4 +gai1 +gai3 +gai4 +gan1 +gan3 +gan4 +gang1 +gang3 +gang4 +gao1 +gao3 +gao4 +ge1 +ge2 +ge3 +ge4 +gei3 +gen1 +gen2 +gen3 +gen4 +geng1 +geng3 +geng4 +gong +gong1 +gong3 +gong4 +gou1 +gou3 +gou4 +gu +gu1 +gu2 +gu3 +gu4 +gua1 +gua2 +gua3 +gua4 +guai1 +guai3 +guai4 +guan1 +guan3 +guan4 +guang +guang1 +guang3 +guang4 +gui1 +gui3 +gui4 +gun3 +gun4 +guo +guo1 +guo2 +guo3 +guo4 +ha1 +ha2 +ha3 +ha4 +hai +hai1 +hai2 +hai3 +hai4 +han +han1 +han2 +han3 +han4 +hang1 +hang2 +hang3 +hang4 +hao1 +hao2 +hao3 +hao4 +he1 +he2 +he3 +he4 +hei1 +hen1 +hen2 +hen3 +hen4 +heng1 +heng2 +heng4 +hm +hng +hong1 +hong2 +hong3 +hong4 +hou1 +hou2 +hou3 +hou4 +hu +hu1 +hu2 +hu3 +hu4 +hua1 +hua2 +hua4 +huai +huai2 +huai4 +huan1 +huan2 +huan3 +huan4 +huang +huang1 +huang2 +huang3 +huang4 +hui +hui1 +hui2 +hui3 +hui4 +hun1 +hun2 +hun3 +hun4 +huo +huo1 +huo2 +huo3 +huo4 +ji1 +ji2 +ji3 +ji4 +jia +jia1 +jia2 +jia3 +jia4 +jian +jian1 +jian3 +jian4 +jiang +jiang1 +jiang3 +jiang4 +jiao +jiao1 +jiao2 +jiao3 +jiao4 +jie +jie1 +jie2 +jie3 +jie4 +jin1 +jin3 +jin4 +jing +jing1 +jing3 +jing4 +jiong1 +jiong3 +jiong4 +jiu +jiu1 +jiu2 +jiu3 +jiu4 +ju +ju1 +ju2 +ju3 +ju4 +juan1 +juan3 +juan4 +jue1 +jue2 +jue3 +jue4 +jun1 +jun3 +jun4 +ka1 +ka3 +kai1 +kai3 +kai4 +kan1 +kan3 +kan4 +kang1 +kang2 +kang3 +kang4 +kao1 +kao3 +kao4 +ke +ke1 +ke2 +ke3 +ke4 +kei1 +ken1 +ken3 +ken4 +keng1 +keng3 +kong1 +kong3 +kong4 +kou1 +kou3 +kou4 +ku1 +ku2 +ku3 +ku4 +kua1 +kua3 +kua4 +kuai3 +kuai4 +kuan1 +kuan3 +kuang1 +kuang2 +kuang3 +kuang4 +kui1 +kui2 +kui3 +kui4 +kun +kun1 +kun3 +kun4 +kuo4 +la +la1 +la2 +la3 +la4 +lai2 +lai3 +lai4 +lan2 +lan3 +lan4 +lang +lang1 +lang2 +lang3 +lang4 +lao +lao1 +lao2 +lao3 +lao4 +le +le1 +le4 +lei +lei1 +lei2 +lei3 +lei4 +len4 +leng1 +leng2 +leng3 +leng4 +li +li1 +li2 +li3 +li4 +lia3 +lian2 +lian3 +lian4 +liang +liang2 +liang3 +liang4 +liao1 +liao2 +liao3 +liao4 +lie +lie1 +lie2 +lie3 +lie4 +lin1 +lin2 +lin3 +lin4 +ling +ling1 +ling2 +ling3 +ling4 +liu1 +liu2 +liu3 +liu4 +lo +long1 +long2 +long3 +long4 +lou +lou1 +lou2 +lou3 +lou4 +lu +lu1 +lu2 +lu3 +lu4 +luan2 +luan3 +luan4 +lun1 +lun2 +lun3 +lun4 +luo +luo1 +luo2 +luo3 +luo4 +lv2 +lv3 +lv4 +lve3 +lve4 +m1 +m2 +m4 +ma +ma1 +ma2 +ma3 +ma4 +mai2 +mai3 +mai4 +man1 +man2 +man3 +man4 +mang1 +mang2 +mang3 +mang4 +mao1 +mao2 +mao3 +mao4 +me +me1 +mei2 +mei3 +mei4 +men +men1 +men2 +men4 +meng +meng1 +meng2 +meng3 +meng4 +mi1 +mi2 +mi3 +mi4 +mian2 +mian3 +mian4 +miao1 +miao2 +miao3 +miao4 +mie +mie1 +mie2 +mie4 +min +min2 +min3 +ming +ming2 +ming3 +ming4 +miu3 +miu4 +mo +mo1 +mo2 +mo3 +mo4 +mou1 +mou2 +mou3 +mou4 +mu2 +mu3 +mu4 +n +n2 +n3 +n4 +na +na1 +na2 +na3 +na4 +nai2 +nai3 +nai4 +nan1 +nan2 +nan3 +nan4 +nang +nang1 +nang2 +nang3 +nang4 +nao1 +nao2 +nao3 +nao4 +ne +ne2 +ne4 +nei2 +nei3 +nei4 +nen4 +neng2 +neng3 +neng4 +ng +ng2 +ng3 +ng4 +ni1 +ni2 +ni3 +ni4 +nia1 +nian1 +nian2 +nian3 +nian4 +niang2 +niang3 +niang4 +niao3 +niao4 +nie1 +nie2 +nie3 +nie4 +nin +nin2 +nin3 +ning2 +ning3 +ning4 +niu1 +niu2 +niu3 +niu4 +nong2 +nong3 +nong4 +nou2 +nou3 +nou4 +nu2 +nu3 +nu4 +nuan2 +nuan3 +nuan4 +nun2 +nun4 +nuo2 +nuo3 +nuo4 +nv2 +nv3 +nv4 +nve4 +o +o1 +o2 +o3 +o4 +ou +ou1 +ou2 +ou3 +ou4 +pa1 +pa2 +pa3 +pa4 +pai1 +pai2 +pai3 +pai4 +pan1 +pan2 +pan3 +pan4 +pang1 +pang2 +pang3 +pang4 +pao1 +pao2 +pao3 +pao4 +pei1 +pei2 +pei3 +pei4 +pen1 +pen2 +pen3 +pen4 +peng1 +peng2 +peng3 +peng4 +pi1 +pi2 +pi3 +pi4 +pian1 +pian2 +pian3 +pian4 +piao1 +piao2 +piao3 +piao4 +pie1 +pie3 +pie4 +pin1 +pin2 +pin3 +pin4 +ping1 +ping2 +ping3 +ping4 +po +po1 +po2 +po3 +po4 +pou1 +pou2 +pou3 +pou4 +pu +pu1 +pu2 +pu3 +pu4 +qi +qi1 +qi2 +qi3 +qi4 +qia1 +qia2 +qia3 +qia4 +qian +qian1 +qian2 +qian3 +qian4 +qiang1 +qiang2 +qiang3 +qiang4 +qiao1 +qiao2 +qiao3 +qiao4 +qie1 +qie2 +qie3 +qie4 +qin1 +qin2 +qin3 +qin4 +qing +qing1 +qing2 +qing3 +qing4 +qiong1 +qiong2 +qiong4 +qiu1 +qiu2 +qiu3 +qiu4 +qu +qu1 +qu2 +qu3 +qu4 +quan +quan1 +quan2 +quan3 +quan4 +que1 +que2 +que4 +qun1 +qun2 +qun3 +ran2 +ran3 +ran4 +rang1 +rang2 +rang3 +rang4 +rao2 +rao3 +rao4 +re2 +re3 +re4 +ren2 +ren3 +ren4 +reng1 +reng2 +reng4 +ri4 +rong +rong1 +rong2 +rong3 +rong4 +rou2 +rou3 +rou4 +ru +ru2 +ru3 +ru4 +rua2 +ruan2 +ruan3 +ruan4 +rui2 +rui3 +rui4 +run2 +run3 +run4 +ruo2 +ruo4 +sa +sa1 +sa3 +sa4 +sai1 +sai3 +sai4 +san +san1 +san3 +san4 +sang1 +sang3 +sang4 +sao1 +sao3 +sao4 +se1 +se4 +sen1 +sen3 +seng1 +seng4 +sha +sha1 +sha2 +sha3 +sha4 +shai1 +shai3 +shai4 +shan1 +shan2 +shan3 +shan4 +shang +shang1 +shang3 +shang4 +shao1 +shao2 +shao3 +shao4 +she1 +she2 +she3 +she4 +shei2 +shen1 +shen2 +shen3 +shen4 +sheng1 +sheng2 +sheng3 +sheng4 +shi +shi1 +shi2 +shi3 +shi4 +shou +shou1 +shou2 +shou3 +shou4 +shu1 +shu2 +shu3 +shu4 +shua1 +shua3 +shua4 +shuai1 +shuai3 +shuai4 +shuan1 +shuan4 +shuang1 +shuang3 +shuang4 +shui +shui2 +shui3 +shui4 +shun3 +shun4 +shuo1 +shuo2 +shuo4 +si +si1 +si2 +si3 +si4 +song1 +song2 +song3 +song4 +sou1 +sou3 +sou4 +su1 +su2 +su3 +su4 +suan1 +suan3 +suan4 +sui1 +sui2 +sui3 +sui4 +sun1 +sun3 +sun4 +suo +suo1 +suo2 +suo3 +suo4 +ta +ta1 +ta2 +ta3 +ta4 +tai +tai1 +tai2 +tai3 +tai4 +tan1 +tan2 +tan3 +tan4 +tang1 +tang2 +tang3 +tang4 +tao1 +tao2 +tao3 +tao4 +te +te4 +tei1 +teng1 +teng2 +teng4 +ti +ti1 +ti2 +ti3 +ti4 +tian1 +tian2 +tian3 +tian4 +tiao +tiao1 +tiao2 +tiao3 +tiao4 +tie1 +tie2 +tie3 +tie4 +ting1 +ting2 +ting3 +ting4 +tong1 +tong2 +tong3 +tong4 +tou +tou1 +tou2 +tou3 +tou4 +tu +tu1 +tu2 +tu3 +tu4 +tuan1 +tuan2 +tuan3 +tuan4 +tui1 +tui2 +tui3 +tui4 +tun1 +tun2 +tun3 +tun4 +tuo1 +tuo2 +tuo3 +tuo4 +wa +wa1 +wa2 +wa3 +wa4 +wai +wai1 +wai3 +wai4 +wan1 +wan2 +wan3 +wan4 +wang1 +wang2 +wang3 +wang4 +wei +wei1 +wei2 +wei3 +wei4 +wen +wen1 +wen2 +wen3 +wen4 +weng1 +weng3 +weng4 +wo1 +wo3 +wo4 +wong4 +wu +wu1 +wu2 +wu3 +wu4 +xi1 +xi2 +xi3 +xi4 +xia1 +xia2 +xia3 +xia4 +xian +xian1 +xian2 +xian3 +xian4 +xiang1 +xiang2 +xiang3 +xiang4 +xiao +xiao1 +xiao2 +xiao3 +xiao4 +xie1 +xie2 +xie3 +xie4 +xin +xin1 +xin2 +xin3 +xin4 +xing +xing1 +xing2 +xing3 +xing4 +xiong1 +xiong2 +xiong3 +xiong4 +xiu1 +xiu2 +xiu3 +xiu4 +xu +xu1 +xu2 +xu3 +xu4 +xuan1 +xuan2 +xuan3 +xuan4 +xue1 +xue2 +xue3 +xue4 +xun1 +xun2 +xun4 +ya +ya1 +ya2 +ya3 +ya4 +yan1 +yan2 +yan3 +yan4 +yang +yang1 +yang2 +yang3 +yang4 +yao1 +yao2 +yao3 +yao4 +ye +ye1 +ye2 +ye3 +ye4 +yi +yi1 +yi2 +yi3 +yi4 +yin +yin1 +yin2 +yin3 +yin4 +ying1 +ying2 +ying3 +ying4 +yo +yo1 +yong1 +yong2 +yong3 +yong4 +you +you1 +you2 +you3 +you4 +yu +yu1 +yu2 +yu3 +yu4 +yuan1 +yuan2 +yuan3 +yuan4 +yue1 +yue2 +yue3 +yue4 +yun +yun1 +yun2 +yun3 +yun4 +za1 +za2 +za3 +za4 +zai1 +zai3 +zai4 +zan +zan1 +zan2 +zan3 +zan4 +zang1 +zang3 +zang4 +zao1 +zao2 +zao3 +zao4 +ze +ze2 +ze4 +zei2 +zen +zen1 +zen3 +zen4 +zeng1 +zeng3 +zeng4 +zha +zha1 +zha2 +zha3 +zha4 +zhai1 +zhai2 +zhai3 +zhai4 +zhan1 +zhan2 +zhan3 +zhan4 +zhang +zhang1 +zhang3 +zhang4 +zhao +zhao1 +zhao2 +zhao3 +zhao4 +zhe +zhe1 +zhe2 +zhe3 +zhe4 +zhei4 +zhen1 +zhen2 +zhen3 +zhen4 +zheng1 +zheng3 +zheng4 +zhi +zhi1 +zhi2 +zhi3 +zhi4 +zhong1 +zhong3 +zhong4 +zhou1 +zhou2 +zhou3 +zhou4 +zhu1 +zhu2 +zhu3 +zhu4 +zhua1 +zhua3 +zhuai1 +zhuai3 +zhuai4 +zhuan1 +zhuan2 +zhuan3 +zhuan4 +zhuang1 +zhuang3 +zhuang4 +zhui1 +zhui3 +zhui4 +zhun1 +zhun3 +zhun4 +zhuo +zhuo1 +zhuo2 +zhuo4 +zi +zi1 +zi2 +zi3 +zi4 +zong +zong1 +zong3 +zong4 +zou1 +zou3 +zou4 +zu1 +zu2 +zu3 +zu4 +zuan1 +zuan3 +zuan4 +zui +zui1 +zui2 +zui3 +zui4 +zun1 +zun2 +zun3 +zun4 +zuo +zuo1 +zuo2 +zuo3 +zuo4 +ê1 +ê2 +ê3 +ê4 diff --git a/egs/zipvoice/local/preprocess_emilia.py b/egs/zipvoice/local/preprocess_emilia.py index bd76446aa..96a7ff228 100644 --- a/egs/zipvoice/local/preprocess_emilia.py +++ b/egs/zipvoice/local/preprocess_emilia.py @@ -24,15 +24,14 @@ This file reads the texts in given manifest and save the cleaned new cuts. """ import argparse -import logging import glob +import logging import os +from concurrent.futures import ProcessPoolExecutor as Pool from pathlib import Path from typing import List from lhotse import CutSet, load_manifest_lazy -from concurrent.futures import ProcessPoolExecutor as Pool - from tokenizer import ( is_alphabet, is_chinese, diff --git a/egs/zipvoice/requirements.txt b/egs/zipvoice/requirements.txt new file mode 100644 index 000000000..cbbe860a5 --- /dev/null +++ b/egs/zipvoice/requirements.txt @@ -0,0 +1,17 @@ +--find-links https://k2-fsa.github.io/icefall/piper_phonemize.html + +torch +torchaudio +huggingface_hub +lhotse +safetensors +vocos + +# Normalization +cn2an +inflect + +# Tokenization +jieba +piper_phonemize +pypinyin diff --git a/egs/zipvoice/zipvoice/scaling.py b/egs/zipvoice/zipvoice/scaling.py index 5211e3a76..afe9ad468 100644 --- a/egs/zipvoice/zipvoice/scaling.py +++ b/egs/zipvoice/zipvoice/scaling.py @@ -18,9 +18,17 @@ import logging import math import random +import sys from typing import Optional, Tuple, Union -import k2 +try: + import k2 +except Exception as ex: + logging.warning( + "k2 is not installed correctly. Swoosh functions will fallback to " + "pytorch implementation." + ) + import torch import torch.nn as nn from torch import Tensor @@ -1398,7 +1406,11 @@ class SwooshLFunction(torch.autograd.Function): class SwooshL(torch.nn.Module): def forward(self, x: Tensor) -> Tensor: """Return Swoosh-L activation.""" - if torch.jit.is_scripting() or torch.jit.is_tracing(): + if ( + torch.jit.is_scripting() + or torch.jit.is_tracing() + or "k2" not in sys.modules + ): zero = torch.tensor(0.0, dtype=x.dtype, device=x.device) return logaddexp(zero, x - 4.0) - 0.08 * x - 0.035 if not x.requires_grad: @@ -1472,7 +1484,11 @@ class SwooshRFunction(torch.autograd.Function): class SwooshR(torch.nn.Module): def forward(self, x: Tensor) -> Tensor: """Return Swoosh-R activation.""" - if torch.jit.is_scripting() or torch.jit.is_tracing(): + if ( + torch.jit.is_scripting() + or torch.jit.is_tracing() + or "k2" not in sys.modules + ): zero = torch.tensor(0.0, dtype=x.dtype, device=x.device) return logaddexp(zero, x - 1.0) - 0.08 * x - 0.313261687 if not x.requires_grad: @@ -1636,7 +1652,11 @@ class ActivationDropoutAndLinear(torch.nn.Module): self.dropout_shared_dim = dropout_shared_dim def forward(self, x: Tensor): - if torch.jit.is_scripting() or torch.jit.is_tracing(): + if ( + torch.jit.is_scripting() + or torch.jit.is_tracing() + or "k2" not in sys.modules + ): if self.activation == "SwooshL": x = SwooshLForward(x) elif self.activation == "SwooshR": diff --git a/egs/zipvoice/zipvoice/tokenizer.py b/egs/zipvoice/zipvoice/tokenizer.py index 87af061e6..ea25d3498 100644 --- a/egs/zipvoice/zipvoice/tokenizer.py +++ b/egs/zipvoice/zipvoice/tokenizer.py @@ -321,7 +321,8 @@ def tokenize_ZH(text: str) -> List[str]: if final != "": phones.append(final) return phones - except: + except Exception as ex: + logging.warning(f"Tokenize ZH failed: {ex}") return [] @@ -332,7 +333,8 @@ def tokenize_EN(text: str) -> List[str]: tokens = phonemize_espeak(text, "en-us") tokens = reduce(lambda x, y: x + y, tokens) return tokens - except: + except Exception as ex: + logging.warning(f"Tokenize EN failed: {ex}") return [] @@ -561,7 +563,7 @@ class TokenizerLibriTTS(object): if __name__ == "__main__": text = "我们是5年小米人,是吗? Yes I think so! mr king, 5 years, from 2019 to 2024. 霍...啦啦啦超过90%的人咯...?!9204" - tokenizer = Tokenizer() + tokenizer = TokenizerEmilia() tokens = tokenizer.texts_to_tokens([text]) print(f"tokens : {tokens}") tokens2 = "|".join(tokens[0])