Read deepvocal dv file
Project description
dvfile-python
介绍
解析deepvocal dv文件的python库。
由于dv文件为二进制文件,且没有官方文档或解析器,本项目无法保证与deepvocal完美兼容,如遇到文件解析错误欢迎在issue中提出。
安装
pip install dvfile
功能
- 解析dv文件
- 导出nn文件
- 导出mid文件(需要mido)
- 导出musicxml(需要music21)
- 导出五线谱(需要music21和musescore(独立软件))
- 批量获取歌词
- 量化(将音符对齐到节拍线)
目前可以解析的内容:
- 曲速标记:位置、曲速
- 节拍标记:位置、每小节拍数、音符分数
- 音轨属性:音轨名、音轨音量、独奏、静音
- 区段属性:区段名、区段音源名、起点、长度
- 音符属性:起点、长度、音高、歌词汉字、歌词拼音、滑音(弯曲深度、弯曲长度、头部滑音长度、尾部滑音长度)、颤音(颤音幅度、颤音速度、渲染出的颤音曲线)
- 伴奏音轨:音轨名、音轨音量、独奏、静音、文件名、起点
目前不能解析的内容:
- 音轨属性:双声道平衡
- 区段参数:音量、音调、气声、声线
- 音符属性:音素、颤音长度
示例
import dvfile as df
#打开dv文件
d=df.opendv("myproject.dv")
#导出为mid文件
d.to_midi_file().save("myproject.mid")
#每个音轨单独导出为ust文件
for (i,t) in enumerate(d.track):
t.to_ust_file().save('myproject{}.ust'.format(i))
#获取第0音轨第0区段的歌词(拼音与汉字)列表
tr=d.track[0]
seg=tr.segment[0]
pinyin=seg.getlyric()
hanzi=seg.getlyric(use_hanzi=True)
#将第0音轨的所有区段合并
tr.segment=[sum(tr.segment)]
参与贡献
- Fork 本仓库
- 新建 Feat_xxx 分支
- 提交代码
- 新建 Pull Request
相关链接
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dvfile-0.0.4.tar.gz
(8.5 kB
view hashes)
Built Distribution
dvfile-0.0.4-py2.py3-none-any.whl
(11.5 kB
view hashes)
Close
Hashes for dvfile-0.0.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7125c8b053df157998b3adc14f73e06add5a1ea7e03dfc4bd5141482c7b9ee51 |
|
MD5 | 78dd43b8392f8ea144158d591631b71e |
|
BLAKE2b-256 | 1d05f7f4bc5c25a6e4f5339ea8204906075f993043f83c98a6c08b31278ba5e6 |