๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ—จ๏ธ Kokoro Web - Effortless TTS for Open WebUI

๊ฒฝ๊ณ 

์ด ํŠœํ† ๋ฆฌ์–ผ์€ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ์—ฌ๋กœ ์ž‘์„ฑ๋œ ๊ฒƒ์œผ๋กœ Open WebUI ํŒ€์—์„œ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠน์ • ์šฉ๋„์— ๋งž๊ฒŒ Open WebUI๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ์˜ˆ์ œ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”? ๊ธฐ์—ฌ ํŠœํ† ๋ฆฌ์–ผ์„ ํ™•์ธํ•˜์„ธ์š”.

Kokoro Web์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?โ€‹

Kokoro Web์€ OpenAI ํ˜ธํ™˜ API๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ Kokoro-82M ํ…์ŠคํŠธ-ํˆฌ-์Šคํ”ผ์น˜ ๋ชจ๋ธ๊ณผ ํ†ตํ•ฉํ•˜์—ฌ Open WebUI์—์„œ ์ž์—ฐ์Šค๋Ÿฌ์šด ์Œ์„ฑ์œผ๋กœ AI ๋Œ€ํ™”๋ฅผ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๐Ÿš€ ๋‘ ๋‹จ๊ณ„ ํ†ตํ•ฉโ€‹

1. Kokoro Web API ๋ฐฐํฌ (ํ•œ ์ค„ ๋ช…๋ น์œผ๋กœ ์‹คํ–‰)โ€‹

services:
kokoro-web:
image: ghcr.io/eduardolat/kokoro-web:latest
ports:
- "3000:3000"
environment:
# OpenAI ํ˜ธํ™˜ API ํ‚ค๋กœ ์‚ฌ์šฉํ•  ๋น„๋ฐ€ ํ‚ค๋กœ ๋ณ€๊ฒฝํ•˜์„ธ์š”
- KW_SECRET_API_KEY=your-api-key
volumes:
- ./kokoro-cache:/kokoro/cache
restart: unless-stopped

์‹คํ–‰ ๋ฐฉ๋ฒ•: docker compose up -d

2. OpenWebUI ์—ฐ๊ฒฐ (30์ดˆ ์†Œ์š”)โ€‹

  1. OpenWebUI์—์„œ ๊ด€๋ฆฌ ํŒจ๋„ โ†’ ์„ค์ • โ†’ ์˜ค๋””์˜ค๋กœ ์ด๋™ํ•˜์„ธ์š”.
  2. ๋‹ค์Œ์„ ์„ค์ •ํ•˜์„ธ์š”:
    • ํ…์ŠคํŠธ-ํˆฌ-์Šคํ”ผ์น˜ ์—”์ง„: OpenAI
    • API ๊ธฐ๋ณธ URL: http://localhost:3000/api/v1
      (๋„์ปค ์‚ฌ์šฉ ์‹œ: http://host.docker.internal:3000/api/v1)
    • API ํ‚ค: your-api-key (1๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ API ํ‚ค)
    • TTS ๋ชจ๋ธ: model_q8f16 (ํฌ๊ธฐ/ํ’ˆ์งˆ ๊ท ํ˜• ์ถ”์ฒœ)
    • TTS ์Œ์„ฑ: af_heart (๊ธฐ๋ณธ ๋”ฐ๋œปํ•˜๊ณ  ์ž์—ฐ์Šค๋Ÿฌ์šด ์˜์–ด ์Œ์„ฑ). ์ด๋ฅผ Kokoro Web Demo์—์„œ ์ œ๊ณต๋˜๋Š” ๋‹ค๋ฅธ ์Œ์„ฑ์ด๋‚˜ ๊ณต์‹์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ OpenWebUI๊ฐ€ AI ์Œ์„ฑ ๊ธฐ๋Šฅ์„ ๊ฐ–์ท„์Šต๋‹ˆ๋‹ค.

๐ŸŒ ์ง€์› ์–ธ์–ดโ€‹

Kokoro Web์€ ๊ฐ ์–ธ์–ด์— ์ตœ์ ํ™”๋œ ํŠน์ • ์Œ์„ฑ์œผ๋กœ ๋‹ค์Œ 8๊ฐ€์ง€ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

  • ์˜์–ด (๋ฏธ๊ตญ) - en-us
  • ์˜์–ด (์˜๊ตญ) - en-gb
  • ์ผ๋ณธ์–ด - ja
  • ์ค‘๊ตญ์–ด - cmn
  • ์ŠคํŽ˜์ธ์–ด - es-419
  • ํžŒ๋””์–ด - hi
  • ์ดํƒˆ๋ฆฌ์•„์–ด - it
  • ํฌ๋ฅดํˆฌ๊ฐˆ์–ด (๋ธŒ๋ผ์งˆ) - pt-br

๊ฐ ์–ธ์–ด๋Š” ์ตœ์ ์˜ ๋ฐœ์Œ๊ณผ ์ž์—ฐ์Šค๋Ÿฌ์šด ํ๋ฆ„์„ ์œ„ํ•ด ์ „์šฉ ์Œ์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์–ธ์–ด๋ณ„ ์Œ์„ฑ ๋ชฉ๋ก์€ GitHub ์ €์žฅ์†Œ๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ Kokoro Web Demo๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฆ‰์‹œ ์Œ์„ฑ์„ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’พ ํ•˜๋“œ์›จ์–ด์— ์ตœ์ ํ™”๋œ ๋ชจ๋ธโ€‹

ํ•˜๋“œ์›จ์–ด ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ๋ชจ๋ธ์„ ์„ ํƒํ•˜์„ธ์š”:

๋ชจ๋ธ ID์ตœ์ ํ™”ํฌ๊ธฐ์ถ”์ฒœ ์šฉ๋„
model_q8f16ํ˜ผํ•ฉ ์ •๋ฐ€๋„86 MB์ถ”์ฒœ - ํฌ๊ธฐ/ํ’ˆ์งˆ ๊ท ํ˜• ์ตœ์ 
model_quantized8๋น„ํŠธ92.4 MB์ข‹์€ CPU ์„ฑ๋Šฅ
model_uint8f16ํ˜ผํ•ฉ ์ •๋ฐ€๋„114 MB์ค‘๊ธ‰ CPU์—์„œ ๋” ๋‚˜์€ ํ’ˆ์งˆ
model_q4f164๋น„ํŠธ & fp16 ๊ฐ€์ค‘์น˜154 MB๋” ๋†’์€ ํ’ˆ์งˆ, ์—ฌ์ „ํžˆ ํšจ์œจ์ 
model_fp16fp16163 MBํ”„๋ฆฌ๋ฏธ์—„ ํ’ˆ์งˆ
model_uint88๋น„ํŠธ & ํ˜ผํ•ฉ177 MB๊ท ํ˜• ์žˆ๋Š” ์˜ต์…˜
model_q44๋น„ํŠธ matmul305 MB๊ณ ํ’ˆ์งˆ ์˜ต์…˜
modelfp32326 MB์ตœ๋Œ€ ํ’ˆ์งˆ (๋А๋ฆผ)

โœจ ์„ค์น˜ ์ „ ๋จผ์ € ์ฒดํ—˜ํ•ด๋ณด์„ธ์š”โ€‹

Kokoro Web Demo์— ๋ฐฉ๋ฌธํ•˜์—ฌ ๋ชจ๋“  ์Œ์„ฑ์„ ์ฆ‰์‹œ ๋ฏธ๋ฆฌ ๋ณด์„ธ์š”. ์ด ๋ฐ๋ชจ๋Š”:

  • ๋ธŒ๋ผ์šฐ์ €์—์„œ 100% ์‹คํ–‰ - ์„œ๋ฒ„ ํ•„์š” ์—†์Œ
  • ์˜์›ํžˆ ๋ฌด๋ฃŒ - ์‚ฌ์šฉ ์ œํ•œ ๋ฐ ๋“ฑ๋ก ํ•„์š” ์—†์Œ
  • ์„ค์น˜ ํ•„์š” ์—†์Œ - ์›น์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•˜์—ฌ ์ฆ‰์‹œ ์‹œ์ž‘
  • ๋ชจ๋“  ๊ธฐ๋Šฅ ํฌํ•จ - ๋ชจ๋“  ์Œ์„ฑ๊ณผ ์–ธ์–ด๋ฅผ ์ฆ‰์‹œ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ

์ถ”๊ฐ€ ๋„์›€์ด ํ•„์š”ํ•œ๊ฐ€์š”?โ€‹

์ถ”๊ฐ€ ์˜ต์…˜, ์Œ์„ฑ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€์ด๋“œ ๋ฐ ๊ณ ๊ธ‰ ์„ค์ •์€ GitHub ์ €์žฅ์†Œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

OpenWebUI ๋Œ€ํ™”์—์„œ ์ž์—ฐ์Šค๋Ÿฌ์šด AI ์Œ์„ฑ์„ ์ฆ๊ฒจ๋ณด์„ธ์š”!