openvpi / makediffsinger Goto Github PK
View Code? Open in Web Editor NEWPipelines and tools to build your own DiffSinger dataset.
License: BSD 3-Clause "New" or "Revised" License
Pipelines and tools to build your own DiffSinger dataset.
License: BSD 3-Clause "New" or "Revised" License
Hi!
I use a modded version of Win11 (Ghost Spectre) and, by default, my user is an Admin.
Could the warning on MinLabel and SlurCutter be changed so they don't kill the application when hitting "OK"?
When I run mfa align ../../sample/ ../../opencpop-extension.txt ../../mfa-opencpop-extension.zip ../../textgrids/result --beam 100 --clean --overwrite
command, I get the error below:
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/Users/advance/miniconda3/envs/mfa/bin/mfa", line 10, in
sys.exit(mfa_cli())
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/rich_click/rich_command.py", line 126, in main
rv = self.invoke(ctx)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/montreal_forced_aligner/command_line/align.py", line 122, in align_corpus_cli
aligner.align()
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/montreal_forced_aligner/alignment/pretrained.py", line 327, in align
self.initialize_database()
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/montreal_forced_aligner/abc.py", line 288, in initialize_database
MfaSqlBase.metadata.create_all(self.db_engine)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/montreal_forced_aligner/abc.py", line 294, in db_engine
self._db_engine = self.construct_engine()
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/montreal_forced_aligner/abc.py", line 387, in construct_engine
e = sqlalchemy.create_engine(
File "", line 2, in create_engine
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 375, in warned
return fn(*args, **kwargs)
File "/Users/advance/miniconda3/envs/mfa/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 636, in create_engine
raise TypeError(
TypeError: Invalid argument(s) 'pool_size','max_overflow' sent to create_engine(), using configuration SQLiteDialect_pysqlite/NullPool/Engine. Please check that the keyword arguments are appropriate for this combination of components.
Then I try to change montreal_forced_aligner/abc.py:
kwargs["pool_size"] = 5
kwargs["max_overflow"] = 10
But it still have same problem. How can i resolve it?
教程中
运行
python convert_ds.py csv2ds path/to/your/transcriptions.csv path/to/your/wavs --overwrite
这将生成与同一目录中的 *.wav 文件匹配的 *.ds 文件
部分貌似并不可行
path/to/your/wavs并不能有用
测试后发现应将convert_ds.py文件122行改为 wavs_folder = ds_folder
即将
def csv2ds(transcription_file, ds_folder, overwrite, tolerance, hop_size, sample_rate):
"""Convert a transcription file to DS file"""
wavs_folder = transcription_file.parent / "wavs"
assert wavs_folder.is_dir(), "wavs folder not found."
修改为
def csv2ds(transcription_file, ds_folder, overwrite, tolerance, hop_size, sample_rate):
"""Convert a transcription file to DS file"""
wavs_folder = ds_folder
assert wavs_folder.is_dir(), "wavs folder not found."
I have seen many manual dataset creation steps inside the workflow, any way to do that automatically?
And could we connect by mail? I also have several questions.
The current MakeDiffSinger repository only supports automatic ph_num
inference for monosyllabic phoneme systems. The reason is that we cannot judge the onset phones from a sequence of phones of a polysyllabic system, where one word can have multiple vowels, and not all vowels are onset phones.
However, the onset phones can still be inferred provided with proper extra information. Some useful information may be:
Also, with a graceful implementation of this idea, we may unify the algorithm to all universal dictionaries, despite their languages and phoneme system categories.
Run:
python build_dataset.py --wav path/to/your/segments/ --tg path/to/final/textgrids/ --dataset path/to/your/dataset/
According to this line, the argument should be wavs
instead of wav
. The correct command should be python build_dataset.py --wavs path/to/your/segments/ --tg path/to/final/textgrids/ --dataset path/to/your/dataset/
.
(diff) PS E:\DiffSinger\data> python .\estimate_midi.py .\liuchan_23.06.25\raw\transcriptions.csv .\liuchan_23.06.25\raw\wavs
0%| | 0/1689 [00:00<?, ?it/s]E:\DiffSinger\data\get_pitch.py:6: RuntimeWarning: divide by zero encountered in log2
f0 = np.log2(f0)
0%| | 1/1689 [00:00<07:19, 3.84it/s]E:\anaconda\envs\diff\lib\site-packages\librosa\core\convert.py:740: RuntimeWarning: divide by zero encountered in log2
return 12 * (np.log2(np.asanyarray(frequencies)) - np.log2(440.0)) + 69
52%|████████████████████████████████████████▎ | 872/1689 [00:07<00:05, 142.78it/s].\estimate_midi.py:66: RuntimeWarning: invalid value encountered in cast
counts = np.bincount(np.round(word_pitch).astype(np.int64))
52%|████████████████████████████████████████▊ | 884/1689 [00:07<00:06, 123.33it/s]
Traceback (most recent call last):
File ".\estimate_midi.py", line 84, in
estimate_midi()
File "E:\anaconda\envs\diff\lib\site-packages\click\core.py", line 1130, in call
return self.main(*args, **kwargs)
File "E:\anaconda\envs\diff\lib\site-packages\click\core.py", line 1055, in main
rv = self.invoke(ctx)
File "E:\anaconda\envs\diff\lib\site-packages\click\core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "E:\anaconda\envs\diff\lib\site-packages\click\core.py", line 760, in invoke
return __callback(*args, **kwargs)
File ".\estimate_midi.py", line 66, in estimate_midi
counts = np.bincount(np.round(word_pitch).astype(np.int64))
File "<array_function internals>", line 200, in bincount
ValueError: 'list' argument must have no negative elements
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.