Silero Text-to-Speech ์ ๊ฒฝ๋ง ์์ฑ ํฉ์ฑ ์์คํ ์ ์๋ก์ด ๊ณต๊ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ ํธ์ ์ฃผ์ ๋ชฉํ๋ ๊ธฐ์ ์ ์์ฉ ์๋ฃจ์ ๋ณด๋ค ์ด๋ฑํ์ง ์๊ณ ๊ฐ๋น์ผ ์๋ฒ ์ฅ๋น๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ๋๊ตฌ๋ ์ ๊ทผํ ์ ์๋ ํ๋์ ์ธ ๊ณ ํ์ง ์์ฑ ํฉ์ฑ ์์คํ ์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
๋ชจ๋ธ์ GNU AGPL ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋์ง๋ง ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๋ ํ์ฌ๋ ๋ชจ๋ธ ๊ต์ก ๋ฉ์ปค๋์ฆ์ ๊ณต๊ฐํ์ง ์์ต๋๋ค. ์คํํ๋ ค๋ฉด PyTorch์ ONNX ํ์์ ์ง์ํ๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Silero์ ์์ฑ ํฉ์ฑ์ ์ฌ์ธต์ ์ผ๋ก ์์ ๋ ์ต์ ์ ๊ฒฝ๋ง ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋์งํธ ์ ํธ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์์ฑ ํฉ์ฑ์ ์ํ ์ต์ ์ ๊ฒฝ๋ง ์๋ฃจ์ ์ ์ฃผ์ ๋ฌธ์ ์ ์ ์ ๋ฃ ํด๋ผ์ฐ๋ ์๋ฃจ์ ๋ด์์๋ง ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ ๊ณต์ฉ ์ ํ์ ํ๋์จ์ด ์๊ตฌ ์ฌํญ์ด ๋๊ฑฐ๋ ํ์ง์ด ๋ฎ๊ฑฐ๋ ์์ ํ์ง ์๊ณ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ด ์์ง ์๋ค๋ ๊ฒ์ ๋๋ค. ์ ํ. ์๋ฅผ ๋ค์ด, ๋๋ฆฌ ์ฌ์ฉ๋๋ ์๋ก์ด ์๋ํฌ์๋ ํฉ์ฑ ์ํคํ ์ฒ ์ค ํ๋์ธ VITS๋ฅผ ํฉ์ฑ ๋ชจ๋(์ฆ, ๋ชจ๋ธ ํธ๋ ์ด๋์ฉ์ด ์๋)์์ ์ํํ๊ฒ ์คํํ๋ ค๋ฉด 16GB ์ด์์ VRAM์ ๊ฐ์ถ ๋น๋์ค ์นด๋๊ฐ ํ์ํฉ๋๋ค.
ํ์ฌ ์ถ์ธ์๋ ๋ฌ๋ฆฌ Silero ์๋ฃจ์ ์ AVX1 ์ง์นจ์ด ์๋ Intel ํ๋ก์ธ์์ 86 x2 ์ค๋ ๋์์๋ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋ฉ๋๋ค. 4๊ฐ์ ํ๋ก์ธ์ ์ค๋ ๋์์ ํฉ์ฑ์ ์ฌ์ฉํ๋ฉด 30kHz ํฉ์ฑ ๋ชจ๋์์๋ ์ด๋น 60~8์ด, 24kHz ๋ชจ๋์์๋ 15~20์ด, 48kHz ๋ชจ๋์์๋ ์ฝ 10์ด ๋์ ํฉ์ฑํ ์ ์์ต๋๋ค.
์๋ก์ด Silero ๋ฆด๋ฆฌ์ค์ ์ฃผ์ ๊ธฐ๋ฅ:
- ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ 2MB๋ก 50๋ฐฐ ๊ฐ์ํ์ต๋๋ค.
- ๋ชจ๋ธ์ ์ผ์ ์ค์งํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค.
- 4๊ฐ์ ๊ณ ํ์ง ๋ฌ์์์ด ์์ฑ์ ์ฌ์ฉํ ์ ์์ต๋๋ค(๋ฐ ๋ฌดํํ ์์ ์์ ์์ฑ). ๋ฐ์ ์;
- ๋ชจ๋ธ์ 10๋ฐฐ ๋ ๋นจ๋ผ์ก์ผ๋ฉฐ, ์๋ฅผ ๋ค์ด 24kHz ๋ชจ๋์์๋ 20๊ฐ์ ํ๋ก์ธ์ ์ค๋ ๋์์ ์ด๋น ์ต๋ 4์ด์ ์ค๋์ค๋ฅผ ํฉ์ฑํ ์ ์์ต๋๋ค.
- ํ ์ธ์ด์ ๋ํ ๋ชจ๋ ์์ฑ ์ต์ ์ด ํ๋์ ๋ชจ๋ธ์ ํจํค์ง๋์ด ์์ต๋๋ค.
- ๋ชจ๋ธ์ ํ ์คํธ์ ์ ์ฒด ๋จ๋ฝ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์๋ค์ผ ์ ์์ผ๋ฉฐ SSML ํ๊ทธ๊ฐ ์ง์๋ฉ๋๋ค.
- ํฉ์ฑ์ 8, 24, 48kHz ์ค์์ ์ ํํ ์ ์๋ ์ธ ๊ฐ์ง ์ํ๋ง ์ฃผํ์์์ ๋์์ ์๋ํฉ๋๋ค.
- โ์์ด๋ค์ ๋ฌธ์ โ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๋ถ์์ ์ฑ๊ณผ ๋จ์ด ๋๋ฝ;
- ์ ์ผํธ ์๋ ๋ฐฐ์น ๋ฐ ๋ฌธ์ "ะต" ๋ฐฐ์น๋ฅผ ์ ์ดํ๋ โโํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
ํ์ฌ ์ต์ ๋ฒ์ ์ ํฉ์ฑ์๋ ๋ฌ์์์ด๋ก ๋ 4๊ฐ์ ์์ฑ์ด ๊ณต๊ฐ๋์ด ์์ง๋ง ๊ฐ๊น์ด ์์ผ ๋ด์ ๋ค์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋ ๋ค์ ๋ฒ์ ์ด ๊ฒ์๋ ์์ ์ ๋๋ค.
- ํฉ์ฑ ์๋๋ 2-4๋ฐฐ ๋ ์ฆ๊ฐํฉ๋๋ค.
- CIS ์ธ์ด์ ๋ํ ํฉ์ฑ ๋ชจ๋ธ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค: ์นผ๋ฏธํฌ์ด, ํํ๋ฅด์ด, ์ฐ์ฆ๋ฒ ํฌ์ด ๋ฐ ์ฐํฌ๋ผ์ด๋์ด;
- ์ ๋ฝ โโ์ธ์ด์ฉ ๋ชจ๋ธ์ด ์ถ๊ฐ๋ฉ๋๋ค.
- ์ธ๋์ด ๋ชจ๋ธ์ด ์ถ๊ฐ๋ฉ๋๋ค.
- ์์ด ๋ชจ๋ธ์ด ์ถ๊ฐ๋ฉ๋๋ค.
Silero ํฉ์ฑ์ ๋ด์ฌ๋ ์์คํ ๊ณ ์ฅ ์ค ์ผ๋ถ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- RHVoice์ ๊ฐ์ ๊ธฐ์กด ํฉ์ฑ ์๋ฃจ์ ๊ณผ ๋ฌ๋ฆฌ Silero ํฉ์ฑ์๋ SAPI ํตํฉ, ์ค์น๊ฐ ์ฌ์ด ํด๋ผ์ด์ธํธ ๋๋ Windows ๋ฐ Android์ฉ ํตํฉ์ด ์์ต๋๋ค.
- ์ด๋ฌํ ์๋ฃจ์ ์ ์๋๋ ์ ๋ก์์ด ๋์ง๋ง ๊ณ ํ์ง์ ์ฝํ ํ๋ก์ธ์์์ ์ฆ์ ํฉ์ฑ์๋ ์ถฉ๋ถํ์ง ์์ ์ ์์ต๋๋ค.
- ์๋ ์ ์ผํธ ์๋ฃจ์ ์ ๋ํ์ด์์ด(์ฑ ๋ฐ ์ฑ ๊ฐ์ ๋จ์ด)๋ฅผ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉฐ ์ฌ์ ํ ์ค์๋ฅผ ๋ฒํ์ง๋ง ์ด๋ ํฅํ ๋ฆด๋ฆฌ์ค์์ ์์ ๋ ์์ ์ ๋๋ค.
- ํ์ฌ ๋ฒ์ ์ ํฉ์ฑ์ ๋ชจ๋ธ ๋ด๋ถ ๋ชจ๋ ์ค ํ๋๊ฐ ์์ํ๋์ด ์๊ธฐ ๋๋ฌธ์ AVX2 ๋ช ๋ น์ด ์๋ ํ๋ก์ธ์์์๋ ์๋ํ์ง ์์ต๋๋ค(๋๋ ํน๋ณํ PyTorch ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํจ).
- ํ์ฌ ๋ฒ์ ์ ํฉ์ฑ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋จ์ผ PyTorch ์ข ์์ฑ์ด ์์ผ๋ฉฐ, ๋ชจ๋ ๋ด์ฉ์ ๋ชจ๋ธ๊ณผ JIT ํจํค์ง ๋ด์ "ํ๋์์ด์ด"๋์ด ์์ต๋๋ค. ๋ชจ๋ธ์ ์์ค ์ฝ๋๋ ๊ฒ์๋์ง ์์ผ๋ฉฐ, ๋ค๋ฅธ ์ธ์ด์ฉ PyTorch ํด๋ผ์ด์ธํธ์์ ๋ชจ๋ธ์ ์คํํ๊ธฐ ์ํ ์ฝ๋๋ ๊ณต๊ฐ๋์ง ์์ต๋๋ค.
- ๋ชจ๋ฐ์ผ ํ๋ซํผ์์ ์ฌ์ฉํ ์ ์๋ Libtorch๋ ONNX ๋ฐํ์๋ณด๋ค ํจ์ฌ ๋ ๋ถํผ๊ฐ ํฌ์ง๋ง ๋ชจ๋ธ์ ONNX ๋ฒ์ ์ ์์ง ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru