-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
requirements.txt依赖冲突 #14
Comments
要不先安装spleeter再安装paddlespeech吧,用librosa==0.8.1的版本,这两个官方发布的包用的librosa版本冲突也没办法,但是应该不会影响使用 |
今天又试了一下,我发现这个安装有两个独立的错误, 先说第二点:google了一下说这个是windows的bug,尝试多种解决方法未果(包括提到好像换numpy版本可以,但是我试了依然报错),后来发现单独安装dtaidistance不会报错,猜测可能只有某个版本的dtaidistance会有问题。最后把requirements.txt里面改为了paddlespeech==0.2.0 dtaidistance>2.3.1解决了这个报错。安装可以正常安装,不过安装完之后pip提示一些jupyter的东西依赖冲突。。希望之后没事。 然后是第一点,由于spleeter的release就两个版本,另一个太老了,都不支持librosa0.8.1。所以试图找到共用的版本失败。尝试先安装spleeter再安装paddlespeech。最后用的是librosa0.8.1.事实证明这个方法不行,命令行调用spleeter会直接报错终止。 坑太多实在不想去debug了,最后决定彻底放弃命令行版的spleeter,直接用spleeterGUI,gui版本是支持同时拖进去多个文件的,算是比较完美解决去背景音这一步了,也不需要搞两个环境切来切去,就去背景这步手动用gui搞一下就可以了。 |
PaddlePaddle/PaddleSpeech#1617 |
看了一下,应该是paddleaudio那一部分没有安装,按照issue里面的方法去试了,结果发现就是paddleaudio依赖dtaidistance这个包,回到了前面dtaidistance==2.3.1安装不了的问题上,报错如下: × Building wheel for dtaidistance (pyproject.toml) did not run successfully. note: This error originates from a subprocess, and is likely not a problem with pip. |
试着直接编辑了一下paddleaudio的setup.py,把对dtaidistance版本的依赖给删了,然后成功安装并进行2.4的文本生成了 |
步骤2.6 data_filter.py 运行时首先报错gbk编码打不开txt文件,修改代码后报错如下:
进程冲突,检查代码后将process这个函数改成了这样,最后成功运行
原来版本是在withopen里面直接调用move函数引起了报错 |
data_filter的作用是把上一步生成的txt里过长和过短的给删除,这样修改的话只能判断txt里最后一行的长度了 |
emm, 因为这个filter是直接在split的目录里面找的txt文件,是还没整合过的,每个txt文件本来就只有一行,所以应该是没问题的 |
哦对对对,太久没用了我都忘了,确实是应该只有一行的,我修改一下,应该先close文件再移动的。 |
步骤2.10中,提取features过程中使用单人speedyspeech,发现运行speedyspeech下的preprocess.py报错,
这句找不到对应的module
然后正常运行 |
已修复 |
额额好快,发现speedyspeech里面还有一些问题, 首先上面同样的引入错误也出现在am_batch_fn.py中
文件路径应该是
另外normalize过程在首页的命令里面少了--speaker-dict=dump/speaker_id_map.txt这个参数,在sh文件里是正常的 |
speaker_id_map这个好像是多人才需要,但是单人不加这个会报错,sh文件中即使是单人也加上了 |
wav_temp这个地方我应该是忘记写了,在mfa之后加一个第8步,把wav_temp/speaker/split的内容复制到wav/speaker中。之后run_train.sh里用的都是wav,wav_temp在制作数据集完成之后就可以删了。想了一下应该还是要在mfa之前做,毕竟制作数据集目前只能做处理单人的,如果要处理多人的数据集就还要再运行一遍脚本。 |
好的谢谢,看了一下程序里好像也判断了要是有split文件夹就用里面的wav文件,所以我之前直接改了倒是也没出问题。 |
我把文档里单人的删了吧,paddlespeech可能之后改过,如果都需要speaker-dict的话单人的应该和多人的一样?
目前按照#7 我说的方法,finetune的话我觉得起码一个人需要300句,每句长1s-3s,大概3-50个字左右都行,fastspeech batch size设置为8的情况下跑20万步以上吧,反正差不多大概收敛了就行,hifigan vocoder得finetune一下,如果从头开始训练起码40万步以上。 |
目前官方没有speedyspeech的多人模型,所以建议结合一下aishell3的数据集一起训练,可以先训练一个纯aishell3的多人模型,然后再把制作好的数据集替换掉某个SSB****文件夹,wav和TextGrid文件夹都要替换,然后重新run_train.sh,在normalize这步之前停一下,把phone-dict.txt替换为之前训练好的字典,而不是用刚刚生成的字典。 |
好的,我再翻翻paddle仓库教程研究研究,谢谢了 |
paddlespeech==0.2.0
spleeter==2.3.0
这两条会产生如下的冲突报错
The text was updated successfully, but these errors were encountered: