Skip to content
forked from eunseo130/Retter

๐Ÿ’Œ ์ธ๊ณต์ง€๋Šฅ TTS๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”์„ธ์ง€ ์นด๋“œ ์„œ๋น„์Šค

Notifications You must be signed in to change notification settings

HyeIn-Kim/Retter

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Re:tter๐Ÿ’Œ (๋ ˆํ„ฐ)

์†Œ์ค‘ํ•œ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋งˆ์Œ์„ ์ „ํ•ด์š”.

์•„๋‚ ๋กœ๊ทธ(์Œ์„ฑ)์™€ ๋””์ง€ํ„ธ(์ธ๊ณต์ง€๋Šฅ)์„ ์ž‡๋Š” ์Œ์„ฑ ๋ฉ”์„ธ์ง€ ์นด๋“œ

  • ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2022.02.21 ~ 2022.04.08 (7์ฃผ)
  • ์‚ผ์„ฑ ์ฒญ๋…„ SW ์•„์นด๋ฐ๋ฏธ 6๊ธฐ ํŠนํ™”ํ”„๋กœ์ ํŠธ(์ธ๊ณต์ง€๋Šฅ-์Œ์„ฑ) ์šฐ์ˆ˜์ƒ (3์œ„) ๐Ÿฅ‰

์„œ๋น„์Šค ์†Œ๊ฐœ

  • ์ธ๊ณต์ง€๋Šฅ TTS ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”์„ธ์ง€ ์ „๋‹ฌ ์›น ์„œ๋น„์Šค

๊ฐœ๋ฐœ ๋ฐฐ๊ฒฝ

  • ํ…์ŠคํŠธ๋งŒ์œผ๋กœ๋Š” ์ž˜ ์ „ํ•ด์ง€์ง€ ์•Š๋Š” ๋งˆ์Œ, Re:tter๊ฐ€ ๋Œ€์‹  ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  • ์ฝ”๋กœ๋‚˜19๋กœ ์‚ฌํšŒ์  ๊ฑฐ๋ฆฌ๋‘๊ธฐ๊ฐ€ ์ผ๋ฐ˜ํ™”๋œ ์ง€๊ธˆ, ์ง์ ‘ ๋งŒ๋‚˜๊ธฐ๋ณด๋‹จ ์˜จ๋ผ์ธ์—์„œ ์•ˆ๋ถ€ ์ธ์‚ฌ๋ฅผ ์ „ํ•˜๋Š” ์ผ์ด ์žฆ์•„์กŒ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ƒ์ผ, ๊ธฐ๋…์ผ๊ณผ๋„ ๊ฐ™์€ ํŠน๋ณ„ํ•œ ๋‚ , ํ˜น์€ ํ‰์†Œ์— ์ „ํ•˜๊ณ  ์‹ถ์€ ์ด์•ผ๊ธฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”?
  • Re:tter๋Š” ํ…์ŠคํŠธ๋กœ๋งŒ ์ „ํ•˜๊ธฐ์—๋Š” ์˜๋„๊ฐ€ ์ž˜ ์ „๋‹ฌ๋˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์•„ ๋ถˆ์•ˆํ•˜๊ณ , ์ „ํ™”๋Š” ๋ถ„์œ„๊ธฐ๊ฐ€ ๋„ˆ๋ฌด ๋ฌด๊ฒ์ง€ ์•Š์„๊นŒ ๊ฑฑ์ •๋˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ์ธ๊ณต์ง€๋Šฅ TTS ์Œ์„ฑ ๋ฉ”์„ธ์ง€ ์นด๋“œ์ž…๋‹ˆ๋‹ค. ์ „ํ•˜๊ณ  ์‹ถ์€ ๋ฉ”์„ธ์ง€๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ง์ ‘ ๊ตฌํ˜„ํ•œ TTS๊ฐ€ ๋ฉ”์„ธ์ง€๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๊ณ , ์—๋””ํ„ฐ๋กœ ๋‚˜๋งŒ์˜ ์นด๋“œ๋ฅผ ๋งŒ๋“ค์–ด ์Œ์„ฑ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ SNS๋กœ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋กœ์ ํŠธ๋ช… Re:tter๋Š” Record(๋…น์Œ) + Letter(ํŽธ์ง€)์˜ ํ•ฉ์„ฑ์–ด๋กœ, ๋งˆ์Œ์— ๋‹ต๊ธ€(Re:)์„ ๋‹จ๋‹ค๋Š” ์˜๋ฏธ์—์„œ ์ง€์–ด์กŒ์Šต๋‹ˆ๋‹ค.

ํŒ€์› ์†Œ๊ฐœ

Team. ์‚ฌ์„œํ•จ 202ํ˜ธ (6๋ช…)

๊น€์€์„œ ๊น€ํ˜œ์ธ ๋…ธ๊ฑด์šฐ ์„œ์˜ˆ์ง„ ์„ฑ๋‹นํ˜„ ์œค์ง€์˜
๊น€์€์„œ
ํŒ€์žฅ
Back-end, AI, Infra
๊น€ํ˜œ์ธ(๋ณธ์ธ)
Front-end
์นด๋“œ ์—๋””ํ„ฐ ๊ฐœ๋ฐœ
TTS ํ•™์Šต์šฉ ๋ชฉ์†Œ๋ฆฌ ๋…น์Œ
๋…ธ๊ฑด์šฐ
Back-end, AI
์„œ์˜ˆ์ง„
Back-end, AI
์„ฑ๋‹นํ˜„
Front-end
์œค์ง€์˜
Back-end, AI, Infra

๊ธฐ์ˆ  ์Šคํƒ

Front-end

Back-end

AI

Infra

Editor

ํ˜‘์—… ํˆด

๊ธฐ๋Šฅ ์„ค๋ช…

๋ฉ”์ธ ํ™”๋ฉด

๋ฉ”์ธ ํ™”๋ฉด

  • ์ „์ฒด์ ์ธ ์„œ๋น„์Šค ์„ค๋ช… ๋ฐ ๊ฐ€์ด๋“œ ํ™•์ธ ๊ฐ€๋Šฅ
  • '์นด๋“œ ๋งŒ๋“ค๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ '๋ชฉ์†Œ๋ฆฌ ์„ ํƒ' ํŽ˜์ด์ง€๋กœ ์ด๋™

๋‚ด ๋ชฉ์†Œ๋ฆฌ๋กœ ์นด๋“œ ๋งŒ๋“ค๊ธฐ

๋‚ด ๋ชฉ์†Œ๋ฆฌ๋กœ ์นด๋“œ ๋งŒ๋“ค๊ธฐ

  • '๋…น์Œ ๋ฒ„ํŠผ'์„ ๋ˆŒ๋Ÿฌ ๋‚˜์˜ ๋ชฉ์†Œ๋ฆฌ๋ฅผ ๋…น์Œ (์ตœ๋Œ€ 20์ดˆ)

๋‹ค๋ฅธ ๋ชฉ์†Œ๋ฆฌ๋กœ ์นด๋“œ ๋งŒ๋“ค๊ธฐ

๋‹ค๋ฅธ ๋ชฉ์†Œ๋ฆฌ๋กœ ์นด๋“œ ๋งŒ๋“ค๊ธฐ

  • ํ…์ŠคํŠธ ๋ฐ•์Šค์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์€ ๋ฉ”์‹œ์ง€๋ฅผ ์ž…๋ ฅ
  • ์žฌ์ƒ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋ฏธ๋ฆฌ๋“ฃ๊ธฐ ์Œ์„ฑ์„ ๋“ฃ๊ณ  ๋งˆ์Œ์— ๋“œ๋Š” ๋ชฉ์†Œ๋ฆฌ ์„ ํƒ

์นด๋“œ ๋งŒ๋“ค๊ธฐ

์นด๋“œ ๋งŒ๋“ค๊ธฐ

  • ๋งˆ์Œ์— ๋“œ๋Š” ์Šคํ‹ฐ์ปค, ๋ฐฐ๊ฒฝ ๋“ฑ์„ ๊ณจ๋ผ ์นด๋“œ ๊พธ๋ฏธ๊ธฐ

  • tts๋กœ ์Œ์„ฑํ•ฉ์„ฑ ํ›„ ์นด๋“œ๋ฅผ ๋งŒ๋“ค ๋•Œ 'ํ…์ŠคํŠธ'๋ฅผ ๋ˆŒ๋Ÿฌ text ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

  • ์นด๋“œ ๊พธ๋ฏธ๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด '์ €์žฅ' ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์นด๋“œ ์™„์„ฑ

์™„์„ฑํ•œ ์นด๋“œ ํ™•์ธ ๋ฐ ๊ณต์œ 

์™„์„ฑํ•œ ์นด๋“œ ํ™•์ธ ๋ฐ ๊ณต์œ 

  • ์žฌ์ƒ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์˜์ƒ์„ ํ™•์ธ
  • 'URL ๋ณต์‚ฌ' ๋ฒ„ํŠผ์„ ํ†ตํ•ด url์„ ํด๋ฆฝ๋ณด๋“œ์— ์ €์žฅ
  • ์นด์นด์˜คํ†ก ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์นด์นด์˜คํ†ก์„ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ๊ณต์œ 
  • '์ฒ˜์Œ์œผ๋กœ' ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์„œ๋น„์Šค ๋ฉ”์ธํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ

์นด๋“œ ์—๋””ํ„ฐ ๊ตฌํ˜„

์ธ๊ณต์ง€๋Šฅ

TTS ๊ธฐ๋Šฅ ๊ตฌํ˜„

Text-to-Speech(TTS)

  • ์„œ๋น„์Šค์— ์‚ฌ์šฉ๋˜๋Š” TTS ๊ธฐ๋Šฅ์„ ์ง์ ‘ ๊ตฌํ˜„(์ด 2๊ฐœ์˜ ๋ชจ๋ธ)
  • Tacotron2: ํ…์ŠคํŠธ -> Mel-spectogram ๋ณ€ํ™˜
  • Waveglow: Mel-spectogram -> ์Œ์„ฑ ๋ณ€ํ™˜

๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ & ๋ฐ์ดํ„ฐ์…‹

Data processing

์•„ํ‚คํ…์ณ

์•„ํ‚คํ…์ณ

๋ฐฐํฌ

๋ฒ„์ „ ์ •๋ณด - Frontend

  • Visual Studio Code 1.66.0
  • React 17.0.2
  • Redux 4.1.2
  • styled-components 5.3.5
  • npm 8.1.2
# ๋กœ์ปฌ
cd frontend
npm install
npm start

๋ฒ„์ „ ์ •๋ณด - Backend

  • Visual Studio Code 1.66.0
  • Python 3.7.11
  • Django 3.2.12
  • Docker 20.10.14
  • Nginx nginx/1.18.0
# ๋กœ์ปฌ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰
cd docker-server/backend

# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ & ์„ค์น˜
conda create -n retter
conda activate retter
pip install -r requirements.txt

# Django ์„œ๋ฒ„ ์‹คํ–‰
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
# ์„œ๋ฒ„์— ์ตœ์ข… ๋นŒ๋“œ
docker-compose up --build

๋ฒ„์ „ ์ •๋ณด - AI

  • torch 1.7.1+cu110
  • cuda 11.2
  • cudatoolkit 11.3.1
  • cudnn 8.2.1 (11.3 ๋งํฌ๋ฅผ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ)

๋ฒ„์ „ ์ •๋ณด - DB

  • MySql 8.0.28-0

  • ubuntu 0.20.04.3

  • DB ์ด๋ฆ„: retter

  • ์„œ๋ฒ„์—์„œ DB ์ ‘์† ์‹œ : mysql -u root -p Enter password: retter

    • NAME: retter
    • USER: ssafy
    • PASSWORD: retter
  • DB ๋คํ”„ ํŒŒ์ผ: exec > Retter.sql

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

์‹œ์Šคํ…œ ๋ณ€์ˆ˜ > Path ์— ๋‹ค์Œ์˜ ๊ฒฝ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

- `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin`
- `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp`

About

๐Ÿ’Œ ์ธ๊ณต์ง€๋Šฅ TTS๋ฅผ ํ™œ์šฉํ•œ ๋ฉ”์„ธ์ง€ ์นด๋“œ ์„œ๋น„์Šค

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 58.5%
  • JavaScript 39.2%
  • HTML 1.6%
  • Other 0.7%