Metadata-Version: 2.4
Name: libresvip
Version: 1.8.0
Summary: Universal Converter for Singing Voice Projects
Project-URL: repository, https://github.com/SoulMelody/LibreSVIP
Project-URL: documentation, https://soulmelody.github.io/LibreSVIP
Author-email: SoulMelody <yjxrtzyx@gmail.com>
License: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Framework :: Pydantic :: 2
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows :: Windows 10
Classifier: Operating System :: Microsoft :: Windows :: Windows 11
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: File Formats
Classifier: Topic :: Multimedia :: Sound/Audio :: Sound Synthesis
Classifier: Typing :: Typed
Requires-Python: <3.14,>=3.9
Requires-Dist: bidict<0.23.2,>=0.23.1
Requires-Dist: charset-normalizer<4.0.0,>=3.4.1
Requires-Dist: construct-typing<1.0.0,>=0.6.2
Requires-Dist: drawsvg<3.0.0,>=2.4.0
Requires-Dist: importlib-resources<7.0.0,>=6.5.2; python_version < '3.11'
Requires-Dist: jinja2<4.0.0,>=3.1.5
Requires-Dist: loguru<1.0.0,>=0.7.3
Requires-Dist: mido-fix
Requires-Dist: more-itertools<11.0.0,>=10.6.0
Requires-Dist: packaging<24.3,>=24.2
Requires-Dist: parsimonious<0.11.0,>=0.10.0
Requires-Dist: platformdirs<5.0.0,>=4.3.6
Requires-Dist: portion<3.0.0,>=2.6.0
Requires-Dist: proto-plus<2.0.0,>=1.25.0
Requires-Dist: pydantic-extra-types<3.0.0,>=2.10.2
Requires-Dist: pydantic-settings[yaml]<3.0.0,>=2.7.1
Requires-Dist: pydantic<3.0.0,>=2.10.6
Requires-Dist: pymediainfo<7.0.0,>=6.1.0; sys_platform != 'emscripten'
Requires-Dist: pypinyin<1.0.0,>=0.53.0
Requires-Dist: pysubs2<2.0.0,>=1.8.0
Requires-Dist: pyzstd<1.0.0,>=0.16.2; platform_python_implementation == 'PyPy'
Requires-Dist: repro-zipfile<1.0.0,>=0.3.1; python_version < '3.11'
Requires-Dist: retrie<1.0.0,>=0.3.1
Requires-Dist: rich<14.0.0,>=13.9.4
Requires-Dist: typer-slim<1.0.0,>=0.15.1
Requires-Dist: wanakana-python
Requires-Dist: xsdata-pydantic<24.6,>=24.5
Requires-Dist: zhon<3.0.0,>=2.1.1
Requires-Dist: zstandard<0.23.1,>=0.23.0; platform_python_implementation == 'CPython'
Provides-Extra: crypto
Requires-Dist: cffi>=1.17.1; (sys_platform != 'win32' or python_version <= '3.11') and extra == 'crypto'
Requires-Dist: pyzipper>=0.3.6; extra == 'crypto'
Provides-Extra: desktop
Requires-Dist: desktop-notifier>=6.0.0; (platform_python_implementation == 'CPython') and extra == 'desktop'
Requires-Dist: fonticon-materialdesignicons7>=7.2.96; extra == 'desktop'
Requires-Dist: httpx>=0.28.1; extra == 'desktop'
Requires-Dist: pyside6<6.8.2,>=6.8.1.1; extra == 'desktop'
Requires-Dist: universal-pathlib<1.0.0,>=0.2.6; extra == 'desktop'
Provides-Extra: lxml
Requires-Dist: lxml>=5.3.0; extra == 'lxml'
Provides-Extra: mobile
Requires-Dist: flet[cli,desktop]>=0.25.2; extra == 'mobile'
Requires-Dist: universal-pathlib<1.0.0,>=0.2.6; extra == 'mobile'
Provides-Extra: ruamel-yaml
Requires-Dist: ruamel-yaml-clib>=0.2.12; (platform_python_implementation == 'CPython' and python_version == '3.13') and extra == 'ruamel-yaml'
Requires-Dist: ruamel-yaml>=0.18.10; extra == 'ruamel-yaml'
Provides-Extra: tui
Requires-Dist: textual-fspicker>=0.1.1; extra == 'tui'
Requires-Dist: universal-pathlib<1.0.0,>=0.2.6; extra == 'tui'
Provides-Extra: ujson
Requires-Dist: ujson>=5.10.0; extra == 'ujson'
Provides-Extra: upath
Requires-Dist: universal-pathlib<1.0.0,>=0.2.6; extra == 'upath'
Provides-Extra: webui
Requires-Dist: nicegui>=2.10.1; extra == 'webui'
Requires-Dist: universal-pathlib<1.0.0,>=0.2.6; extra == 'webui'
Description-Content-Type: text/markdown

# LibreSVIP
[![PyPi](https://img.shields.io/pypi/v/libresvip)](https://pypi.org/project/libresvip/)
[![Python Version](https://img.shields.io/pypi/pyversions/libresvip.svg)](https://pypi.org/project/libresvip/)
[![PyPI - Downloads](https://static.pepy.tech/badge/libresvip/month)](https://pypi.org/project/libresvip/)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/)
[![License](https://img.shields.io/pypi/l/libresvip?color=blue)](https://opensource.org/licenses/MIT)
[![GitHub Build](https://img.shields.io/github/actions/workflow/status/SoulMelody/LibreSVIP/package.yml?label=packaging)](https://github.com/SoulMelody/LibreSVIP/actions/workflows/package.yml?query=workflow%3APackaging)
[![lite-badge](https://jupyterlite.rtfd.io/en/latest/_static/badge.svg)](https://soulmelody.github.io/libresvip-pwa/lab/index.html)

LibreSVIP is a cross-platform and universal converter for many Singing Voice Synthesis (aka SVS) project formats.

## Installation

Download from github releases: [Releases](https://github.com/SoulMelody/LibreSVIP/releases)

Alternatively, you can install LibreSVIP with desktop support via pip (requires python 3.9+):

```bash
pip install libresvip[desktop]
```

## Translations

![zh-CN translation](https://img.shields.io/badge/dynamic/json?color=blue&label=zh-CN&style=flat&logo=crowdin&query=%24.progress[2].data.translationProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-16219268-645830.json)
![ja translation](https://img.shields.io/badge/dynamic/json?color=blue&label=ja&style=flat&logo=crowdin&query=%24.progress[1].data.translationProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-16219268-645830.json)
![de translation](https://img.shields.io/badge/dynamic/json?color=blue&label=de&style=flat&logo=crowdin&query=%24.progress[0].data.translationProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-16219268-645830.json)

If you also want to add or contribute to a translation, check [LibreSVIP's page on Crowdin](https://crowdin.com/project/libresvip). 

## References

This project is highly inspired by following projects:

- [OpenSVIP](https://github.com/yqzhishen/opensvip)
- [Utaformatix3](https://github.com/sdercolin/utaformatix3)

Other projects that are related to this project:

- [QNrbf](https://github.com/SineStriker/QNrbf)

The following article will give you a brief introduction about python libraries for text and binary parsing:

- [Parsing In Python: Tools And Libraries](https://tomassetti.me/parsing-in-python/)

## License
LibreSVIP is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).