Metadata-Version: 2.1
Name: voice100-runtime
Version: 1.6.0
Summary: Voice100 Runtime is a TTS/ASR sample app that uses ONNX Runtime, WORLD and Voice100 neural TTS/ASR models on Python. Inference of Voice100 is low cost as its models are tiny and only depend on CNN without recursion.
License: MIT
Author: Katsuya Iida
Author-email: katsuya.iida@gmail.com
Requires-Python: >=3.8.1,<4.0.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Provides-Extra: lang-en-phone
Requires-Dist: librosa (>=0)
Requires-Dist: numpy (>=1.23)
Requires-Dist: onnxruntime (>=1.14)
Requires-Dist: pyworld (>=0.3.2,<0.4.0)
Description-Content-Type: text/markdown

# Voice100 Runtime

Voice100 Android App is a TTS/ASR sample app that uses
[ONNX Runtime](https://github.com/microsoft/onnxruntime/),
[WORLD](https://github.com/mmorise/World)
and [Voice100](https://github.com/kaiidams/voice100) neural TTS/ASR models
on Python.
Inference of Voice100 is low cost as its models are tiny and only depend
on CNN without recursion.

- Beginnings are apt to be determinative and when reinforced 
by continuous applications of similar influence. [Sample audio](sample.wav)
- mata toojinoyoonigodaimyooootoyobarerushuyoonamyoooonochuuoonihaisarerukotomoooi
[Japanese sample audio](sample_ja.wav)

## Install

Use `pip` to install from GitHub.

```sh
pip install git+https://github.com/kaiidams/voice100-runtime.git
```

## List available models

```python
import voice100_runtime
print(voice100_runtime.list_models())
```

## Using TTS

This downloads ONNX files in `~/.cache/voice100_runtime/` if not
available.

```python
import soundfile as sf
import voice100_runtime
tts = voice100_runtime.load("tts_en")
waveform, sample_rate = tts("Hello, world!")
sf.write("output.wav", waveform, sample_rate, "PCM_16")
```

## Using ASR

This downloads an ONNX file in `~/.cache/voice100_runtime/` if not
available.

```python
import soundfile as sf
import voice100_runtime
asr = voice100_runtime.load("asr_en")
waveform, sample_rate = sf.read("output.wav")
text = asr(waveform, sample_rate)
print(text)
```

## Using multi-task TTS

This downloads ONNX files in `~/.cache/voice100_runtime/` if not
available.

```python
import soundfile as sf
import voice100_runtime
tts = voice100_runtime.load("tts_en_mt")
waveform, sample_rate, align = tts("Hello, world!", return_align=True)
print("/".join(align))
sf.write("output.wav", waveform, sample_rate, "PCM_16")
```

