melotts-kr-onnx / README.md
gnyong's picture
docs: model card
d76d525 verified
|
Raw
History Blame
2.06 kB
metadata
license: mit
language:
  - ko
tags:
  - tts
  - melotts
  - onnx
  - korean
  - on-device
  - android
library_name: onnxruntime
pipeline_tag: text-to-speech
base_model: myshell-ai/MeloTTS-Korean

MeloTTS Korean โ€” ONNX

MeloTTS Korean ์ฒดํฌํฌ์ธํŠธ๋ฅผ ONNX ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ์–‘์žํ™”ํ•œ ๋ฐฐํฌ๋ณธ์ž…๋‹ˆ๋‹ค. Android/iOS/์„œ๋ฒ„ ONNX Runtime ํ™˜๊ฒฝ์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก FP32 / FP16 / INT8 ์„ธ ๊ฐ€์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ

ํŒŒ์ผ dtype ์šฉ๋„ ํฌ๊ธฐ (์ฐธ๊ณ )
melotts_kr_fp32.onnx FP32 ๊ธฐ์ค€ ์ •ํ™•๋„, ์„œ๋ฒ„ ~ 170 MB
melotts_kr_fp16.onnx FP16 GPU / NPU ~ 85 MB
melotts_kr_int8.onnx INT8 (dynamic) CPU / Android ์˜จ๋””๋ฐ”์ด์Šค ~ 45 MB

์ž…๋ ฅ ์ŠคํŽ™

์ด๋ฆ„ shape dtype ๋น„๊ณ 
x [1, T] int64 g2p ํ† ํฐ ์‹œํ€€์Šค
x_lengths [1] int64 ์‹ค์ œ ํ† ํฐ ๊ธธ์ด
sid [1] int64 ํ™”์ž ID (KR ๊ธฐ๋ณธ 0)
tone [1, T] int64 tone ID (KR ์€ 0)
language [1, T] int64 language ID
bert [1, 1024, T] float32 KR ์€ zero tensor
ja_bert [1, 768, T] float32 KR ์€ zero tensor
noise_scale scalar float32 ๊ธฐ๋ณธ 0.6
length_scale scalar float32 ๊ธฐ๋ณธ 1.0
noise_scale_w scalar float32 ๊ธฐ๋ณธ 0.8
sdp_ratio scalar float32 ๊ธฐ๋ณธ 0.2

์ถœ๋ ฅ

์ด๋ฆ„ shape dtype
audio [audio_length] float32 (waveform, sr=44100)

๋น ๋ฅธ ์‹œ์ž‘

import onnxruntime as ort
import numpy as np

sess = ort.InferenceSession("melotts_kr_int8.onnx", providers=["CPUExecutionProvider"])
# ์ „์ฒ˜๋ฆฌ (g2p) ๋Š” MeloTTS ์›๋ณธ ํŒŒ์ดํ”„๋ผ์ธ ์žฌ์‚ฌ์šฉ ํ•„์š”
audio = sess.run(None, {
    "x": x,
    "x_lengths": x_lengths,
    "sid": np.array([0], dtype=np.int64),
    ...
})[0]

๋ผ์ด์„ ์Šค

์›๋ณธ MeloTTS ๋ผ์ด์„ ์Šค(MIT) ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ์Šคํฌ๋ฆฝํŠธ

github.com/geunyong-dev/... (์—…๋กœ๋“œ ํ›„ ๋งํฌ ๊ต์ฒด)