慢性胃炎吃什么中成药| 输卵管堵塞有什么样症状| us什么意思| 胆囊炎的症状是什么| 腺样体肥大有什么症状| 左眼皮老是跳是什么原因| 耿直什么意思| 左心房增大是什么原因| 在什么情况下最容易怀孕| 胆结石是什么原因造成的| 中老年人喝什么奶粉好| 红绿蓝混合是什么颜色| 小孩阑尾炎是由什么原因引起的| 两个叉念什么| 有什么| 资产负债率高说明什么| 支气管炎咳嗽吃什么药| 心脏有问题挂什么科| 为什么心细的男人危险| 梦到男朋友出轨了预示什么意思| 入睡困难吃什么药效果最好| 神机妙算是什么意思| 人见人爱是什么意思| 吃洋葱对身体有什么好处| 我用什么才能留住你| 娘是什么意思| 2004年出生属什么| 把握时机是指什么生肖| 阴山是今天的什么地方| 为什么月经每个月提前| 尿频尿多吃什么药好| 血热吃什么药好得快| 维生素h的作用及功能主治是什么| 龙配什么生肖最好| 维生素c是什么| 白球比例偏高说明什么| 补肾虚吃什么药最好| 怀男孩和女孩有什么区别| 祈祷是什么意思| 6.19什么星座| 加尿素起什么作用| 肚子痛吃什么药| 什么导航好用又准确| 小龙女叫什么名字| 舌头臭是什么原因| 脂肪最终消化成什么| 梦见剪头发是什么意思| 1981年是什么年| 鳕鱼不能和什么一起吃| 偶尔什么意思| 什么植物驱蚊| 龙和什么属相最配| 真菌怕什么| 什么是屈光不正| 吃什么能升血压| honey什么意思| 县教育局局长是什么级别| 为什么会突然得荨麻疹| 收尾是什么意思| 什么的东风填词语| 结缔组织病是什么病| 就绪是什么意思| 肾在什么位置| 每次睡觉都做梦为什么| 近水楼台先得月是什么生肖| 桃子又什么又什么| 哈喇味是什么味道| 为什么射出的精子里有淡红色| 手麻脚麻是什么病| 吃什么药能减肥| 妇科彩超主要检查什么| 什么的苹果| 窦性心律不齐有什么危害| 有头皮屑用什么洗发水| 血尿是什么原因| 蚂蚁吃什么| 老子叫什么名字| black什么颜色| 柠檬水苦是什么原因| 地中海贫血是什么意思| 沧海遗珠是什么意思| 两点是什么时辰| 甲钴胺片治疗什么病| 夜晚尿频尿多是什么原因| 支气管炎不能吃什么| 波立维是什么药| lotus是什么车| 胎儿左侧侧脑室增宽的原因是什么| 十二指肠溃疡是什么症状| 乙基麦芽酚是什么| 柴鸡是什么鸡| 儿童缺铁吃什么补得快| 月亮是什么生肖| 蔡司是什么| 啼笑皆非的意思是什么| 玛奇朵是什么意思| 卵泡是什么意思| 9是什么生肖| 毛囊是什么| resp是什么意思| 崖柏手串有什么功效| 切除扁桃体有什么好处和坏处| 上水是什么意思| 浮萍是什么| 女频是什么| 孩子睡觉出汗多是什么原因| 龟头上抹什么可以延时| 脚气吃什么药| 什么牌子的氨基酸洗面奶好| 浪迹天涯是什么生肖| 98年是什么年| 细胞角蛋白19片段是什么意思| 肺气肿是什么| 眼睛突然出血是什么原因导致| 不骄不躁是什么意思| 奇异果和猕猴桃有什么区别| 甲状腺是什么引起的原因| 什么是芝士| 眼睛长麦粒肿用什么药| 中医把脉能看出什么| but什么意思| mickey是什么牌子| 为什么脸上长痣越来越多| 小孩尿味道很重是什么原因| 炒菜用什么锅好| 人工流产和无痛人流有什么区别| 白带有血是什么原因| 头晕有点恶心是什么原因| 剖腹产第四天可以吃什么| 淡菜是什么| 月经下不来是什么原因| 尿道炎用什么药| 石榴红是什么颜色| 身体湿热吃什么中成药| 6月5日是什么日| 2011属什么生肖| 完美落幕是什么意思| 为什么喝水血糖也会高| 阴灵是什么意思| 绝对值是什么| 十二指肠憩室是什么意思| as是什么材质| 医院属于什么单位| 脾胃挂什么科| 诚字属于五行属什么| 什么的散步| 晒伤用什么药| 日记可以写什么| 寄居蟹用什么水养| 什么叫酮症酸中毒| coa是什么意思| 吃什么对神经恢复快速| 血药浓度是什么意思| 胡萝卜吃多了有什么坏处| 喉咙发炎不能吃什么| 胆囊切除对身体有什么影响| 7.1是什么星座| 半身不遂是什么意思| 上颌窦炎症是什么病| 体力不支是什么意思| 食管裂孔疝是什么原因造成的| 力不从心什么意思| 蛐蛐进屋有什么预兆| 忠心不二是什么生肖| 指甲黑线是什么原因| 暇步士属于什么档次| 什么是前列腺炎| 7月13号是什么星座| 射精无力吃什么药好| 林俊杰的粉丝叫什么| 冤家是什么意思| 三月14号是什么星座| 社保卡是干什么用的| 炖什么汤对肺部最好| 腰间盘突出压迫神经什么症状| 甲醛中毒挂什么科| 属猪的幸运颜色是什么| 甲状腺结节有什么症状| sorona是什么面料| 动则气喘是什么原因| 清明节的习俗是什么| 菊花是什么季节| 制动是什么| 苦口婆心是什么意思| 佯装是什么意思| 青海湖里面有什么鱼| 肆虐是什么意思| 营养过剩是什么意思| 黄疸高对婴儿有什么影响| 每天都做梦是什么原因| 勋章是什么意思| 身上泡疹是什么引起的| 梦见孩子结婚什么预兆| 男性泌尿道感染吃什么药| 梅雨季节是什么时候| v1是什么意思| 吃什么减肥效果最快| 女生小便带血是什么原因| 异想天开什么意思| 淡奶油能做什么| 来大姨妈能喝什么饮料| 猫的胡子有什么作用| 乌龟能吃什么| 漫谈是什么意思| 什么是脑白质病变| 发烧吃什么药| 发烧拉肚子是什么原因| 记忆力减退是什么原因造成的| 两鬓斑白是什么意思| 梦到老房子是什么意思| 直肠下垂有什么症状| 血糖高的人早餐吃什么好| 孕妇吃葡萄对胎儿有什么好处| 1994年出生属什么| 划扣是什么意思| 喉咙痒是什么原因引起的| 子宫颈肥大有什么危害| 牛肉和什么不能一起吃| 屎壳郎为什么要推粪球| 属蛇的贵人是什么属相| 自欺欺人是什么生肖| 强直是什么意思| 飞蚊症是什么原因| 束手无策是什么意思| 热痱子是什么原因引起的| 努力的意义是什么| 身体缺镁会有什么症状| 南瓜什么人不能吃| 智是什么意思| 手术后不能吃什么| 沉默不是代表我的错是什么歌| MECT是什么| 脾胃不好可以吃什么水果| 什么主皮毛| 健康证都查什么传染病| 什么品牌的帽子好| 竹笋不能和什么一起吃| bid医学上是什么意思| 村支部书记是什么级别| 眼皮红肿是什么原因| 破壁机什么牌子的最好| 1972年属鼠的是什么命| 秋黄瓜什么时候种| 六月十二号是什么星座| 鼻子流黄水是什么原因| 肾脏挂什么科| 鸡内金有什么功效| 吃什么排肝毒最快| 母亲吃什么退婴儿黄疸| 梦见别人家盖房子是什么意思| 脂肪肝挂什么科室| 诺什么意思| 腋毛什么时候开始生长| 朋友过生日送什么好| 熬夜头疼是什么原因| 吃什么排毒最快| 寿司醋可以用什么代替| 奥美拉唑有什么副作用| 风平浪静是什么生肖| image是什么意思| 雪藏是什么意思| 压床娃娃有什么讲究吗| 用牙膏洗脸有什么好处和坏处| 诞辰什么意思| 百度
Skip to content

PyTorch Implementation of TCSinger(EMNLP 2024): Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control

License

Notifications You must be signed in to change notification settings

AaronZ345/TCSinger

Repository files navigation

TCSinger: Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control

Yu Zhang, Ziyue Jiang, Ruiqi Li, Changhao Pan, Jinzheng He, Rongjie Huang, Chuxin Wang, Zhou Zhao | Zhejiang University

PyTorch Implementation of TCSinger (EMNLP 2024): Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control.

arXiv zhihu Hugging Face GitHub Stars

We provide our implementation and pre-trained models in this repository.

Visit our demo page for audio samples.

News

  • 2024.12: We released the checkpoints of TCSinger!
  • 2024.11: We released the code of TCSinger!
  • 2024.09: We released the full dataset of GTSinger!
  • 2024.09: TCSinger is accepted by EMNLP 2024!

Key Features

  • We present TCSinger, the first zero-shot SVS model for style transfer across cross-lingual speech and singing styles, along with multi-level style control. TCSinger excels in personalized and controllable SVS tasks.
  • We introduce the clustering style encoder to extract styles, and the Style and Duration Language Model (S&D-LM) to predict both style information and phoneme duration, addressing style modeling, transfer, and control.
  • We propose the style adaptive decoder to generate intricately detailed songs using a novel mel-style adaptive normalization method.
  • Experimental results show that TCSinger surpasses baseline models in synthesis quality, singer similarity, and style controllability across various tasks: zero-shot style transfer, multi-level style control, cross-lingual style transfer, and speech-to-singing style transfer.

Quick Start

We provide an example of how you can generate high-fidelity samples using TCSinger.

To try on your own dataset or GTSinger, simply clone this repo on your local machine provided with NVIDIA GPU + CUDA cuDNN and follow the below instructions.

Pre-trained Models

You can use all pre-trained models we provide on HuggingFace or Google Drive. Notably, this TCSinger checkpoint only supports Chinese and English! You should train your own model based on GTSinger for multilingual style transfer and control! Details of each folder are as follows:

Model Description
TCSinger Acousitic model (config)
SAD Decoder model (config)
SDLM LM model (config)
HIFI-GAN Neural Vocoder

Dependencies

A suitable conda environment named tcsinger can be created and activated with:

conda create -n tcsinger python=3.10
conda install --yes --file requirements.txt
conda activate tcsinger

Multi-GPU

By default, this implementation uses as many GPUs in parallel as returned by torch.cuda.device_count(). You can specify which GPUs to use by setting the CUDA_DEVICES_AVAILABLE environment variable before running the training module.

Inference for bilingual singing voices

Here we provide a speech synthesis pipeline using TCSinger.

  1. Prepare TCSinger, SAD, SDLM: Download and put checkpoint at checkpoints/TCSinger, checkpoints/SAD, checkpoints/SDLM.
  2. Prepare HIFI-GAN: Download and put checkpoint at checkpoints/hifigan.
  3. Prepare prompt information: Provide a prompt_audio (48k) and input target ph, target note for each ph, target note_dur for each ph, target note_type for each ph (rest: 1, lyric: 2, slur: 3), and prompt audio path, prompt ph, prompt note, note_dur, note_type. Input these information in Inference/style_transfer.py. Notably, if you want to use Chinese and English data in GTSinger to infer this checkpoint, refer to phone_set, you have to delete _zh or _en in each ph of GTSinger!
  4. Infer with tcsinger with style transfer:
CUDA_VISIBLE_DEVICES=$GPU python inference/style_transfer.py --config egs/sdlm.yaml  --exp_name checkpoints/SDLM

or

  1. Prepare prompt information: Provide a prompt_audio (48k) and input target ph, target note for each ph, target note_dur for each ph, target note_type for each ph (rest: 1, lyric: 2, slur: 3), and style information. Input these information in Inference/style_control.py. Notably, if you want to use Chinese and English data in GTSinger to infer this checkpoint, refer to phone_set, you have to delete _zh or _en in each ph of GTSinger!
  2. Infer with tcsinger with style control (the effectiveness of the style_control feature is suboptimal for certain timbres due to the inclusion of speech and unannotated data. I recommend using GTSinger or other datasets for fine-tuning before style control inference.):
CUDA_VISIBLE_DEVICES=$GPU python inference/style_control.py --config egs/sdlm.yaml  --exp_name checkpoints/SDLM

Generated wav files are saved in infer_out by default.

Train your own model based on GTSinger

Data Preparation

  1. Prepare your own singing dataset or download GTSinger.
  2. Put metadata.json (including ph, word, item_name, ph_durs, wav_fn, singer, ep_pitches, ep_notedurs, ep_types for each singing voice) and phone_set.json (all phonemes of your dictionary) in data/processed/tc (Note: we provide metadata.json and phone_set.json in GTSinger, but you need to change the wav_fn of each wav in metadata.json to your own absolute path).
  3. Set processed_data_dir (data/processed/tc), binary_data_dir,valid_prefixes (list of parts of item names, like ["Chinese#ZH-Alto-1#Mixed_Voice_and_Falsetto#一次就好"]), test_prefixes in the config.
  4. Preprocess Dataset:
export PYTHONPATH=.
CUDA_VISIBLE_DEVICES=$GPU python data_gen/tts/runs/binarize.py --config egs/TCSinger.yaml

Training TCSinger

  1. Train Main Model:
CUDA_VISIBLE_DEVICES=$GPU python tasks/run.py --config egs/tcsinger.yaml  --exp_name TCSinger --reset
  1. Train SAD:
CUDA_VISIBLE_DEVICES=$GPU python tasks/run.py --config egs/sad.yaml  --exp_name SAD --reset
  1. Train SDLM:
CUDA_VISIBLE_DEVICES=$GPU python tasks/run.py --config egs/sdlm.yaml  --exp_name SDLM --reset

Inference with TCSinger

CUDA_VISIBLE_DEVICES=$GPU python tasks/run.py --config egs/sdlm.yaml  --exp_name SDLM --infer

Acknowledgements

This implementation uses parts of the code from the following Github repos: NATSpeech, StyleSinger as described in our code.

Citations

If you find this code useful in your research, please cite our work:

@inproceedings{zhang2024tcsinger,
  title={TCSinger: Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control},
  author={Zhang, Yu and Jiang, Ziyue and Li, Ruiqi and Pan, Changhao and He, Jinzheng and Huang, Rongjie and Wang, Chuxin and Zhao, Zhou},
  booktitle={EMNLP},
  year={2024}
}

Disclaimer

Any organization or individual is prohibited from using any technology mentioned in this paper to generate someone's singing without his/her consent, including but not limited to government leaders, political figures, and celebrities. If you do not comply with this item, you could be in violation of copyright laws.

visitors

About

PyTorch Implementation of TCSinger(EMNLP 2024): Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

镍是什么金属 手老是出汗是什么原因 甲减长期服用优甲乐有什么危害 乳腺结节吃什么好 健胃消食片什么时候吃最好
避重就轻是什么意思 呛是什么意思 mdz0.2是什么药 理发师代表什么生肖 儿童枕头用什么枕芯好
滴虫性阴道炎是什么原因引起的 广东夏天煲什么汤最好 同型半胱氨酸是什么 双肺微结节是什么意思 鸡属于什么科
为什么牙齿会松动 巨婴是什么意思 1977属什么生肖 补办身份证要带什么 结肠炎吃什么中成药
比卡丘什么意思xjhesheng.com 什么是阴吹aiwuzhiyu.com 大肠在人体什么位置图hcv8jop7ns0r.cn 什么叫滑精hcv8jop4ns5r.cn 属牛的本命佛是什么佛hcv8jop0ns3r.cn
眼白发红是什么原因hlguo.com 神奇是什么意思hcv8jop5ns0r.cn 腰痛吃什么好hcv9jop6ns2r.cn 人参不能和什么一起吃beikeqingting.com 腿上长水泡是什么原因hcv8jop4ns2r.cn
肠胃炎适合吃什么食物hcv9jop0ns8r.cn 1935年是什么生肖huizhijixie.com 经常流眼泪是什么原因hcv8jop5ns4r.cn p波增宽什么意思bfb118.com 什么是海市蜃楼hcv8jop8ns6r.cn
葡萄上的白霜是什么hcv9jop3ns3r.cn 副处长是什么级别hcv8jop3ns5r.cn 再生纤维是什么面料1949doufunao.com 中国梦是什么hcv8jop4ns8r.cn 栋梁之材是什么意思hcv9jop2ns8r.cn
百度