Skip to main content

dvfile-python

介绍

操作deepvocal dv文件的python库。

本python库依赖numpy

由于dv文件为二进制文件,且没有官方文档或解析器,本项目无法保证与deepvocal完美兼容,如遇到文件解析错误欢迎在issue中提出。

安装

pip install dvfile

功能

dv文件

  • 解析与保存dv文件

    目前可以解析的内容:

    • 曲速标记:位置、曲速
    • 节拍标记:位置、每小节拍数、音符分数
    • 音轨属性:音轨名、音轨音量、独奏、静音、双声道平衡
    • 区段属性:区段名、区段音源名、起点、长度
    • 音符属性:起点、长度、音高、歌词汉字、歌词拼音、滑音(弯曲深度、弯曲长度、头部滑音长度、尾部滑音长度)、颤音(颤音长度、颤音幅度、颤音速度、渲染出的颤音曲线)
    • 伴奏音轨:音轨名、音轨音量、独奏、静音、文件名、起点
    • 区段参数:音量、音调、气声、声线

    目前不能解析的内容(保存时将还原默认值):

    • 音符属性:音素
  • 导入、导出ust、nn文件(需要utaufile)

  • 导入、导出mid文件(需要mido)

  • 导入、导出music21对象(需要music21、utaufile)

  • 导出五线谱(需要music21、utaufile和musescore(独立软件))

  • 批量获取歌词

  • 量化(将音符对齐到节拍线)

  • 移调(音符与pit批量上下移动)

  • 自动修复工程(删除区段两端的无效音符和无效参数,音符按开始时间排序,修复音符重叠)

示例

import dvfile as df

#打开dv文件
d=df.opendv("myproject.dv")

#导出mid文件(需要mido)
d.to_midi_file().save("myproject.mid")

#每个音轨单独导出ust文件
for (i,t) in enumerate(d.track):
    t.to_ust_file().save('myproject{}.ust'.format(i))

#每个音轨单独导出nn文件(需要utaufile)
for (i,t) in enumerate(d.track):
    t.to_nn_file().save('myproject{}.nn'.format(i))

#导出五线谱(需要music21和musescore)
d.to_music21_score().show()

#获取第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)]

#工程整体降低3key
d.transpose(-3)

#保存dv文件
d.save("myproject2.dv")

#打开dvtb文件
dt=df.opendvtb("myvoicebank.dvtb")

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

相关链接

deepvocal官网

sharpkey(deepvocal前身)视频教程

deepvocal toolbox 文档

Release files for dvfile 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dvfile 0.2.0
File Size Uploaded
dvfile-0.2.0.tar.gz 24.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dvfile 0.2.0
File Interpreter ABI Platform
dvfile-0.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 50.6 kB

Release files / dvfile-0.2.0.tar.gz

Download URL dvfile-0.2.0.tar.gz
Size 24.3 kB
Tags Source
SHA-256 checksum
How to use checksums
ad6e949cc0463e45f99263d071efe53f63600d0cdae5c0ed664033188558bf37
BLAKE2b-256 checksum
How to use checksums
c0c67a7f5400e90871a05101b8946c875cfa8c8a0394fe2cb5f50c6e87cbadc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release files / dvfile-0.2.0-py2.py3-none-any.whl

Download URL dvfile-0.2.0-py2.py3-none-any.whl
Size 26.3 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
0512286536a03b92b18e452ea9dec94c883101968203aedd7bd22b192f439133
BLAKE2b-256 checksum
How to use checksums
4ef20088f9facfd1438b0cfe410fa69517a6b75c1673a26e0583554371c679db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page