Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. 원하는 감정으로 합성하기

1. 합성 문장을 적은 스크립트 생성 => test_text.txt

아래와 같이 스크립트를 작성한다. 첫번째, 3번째 컬럼은 플레이스홀더이다. 두번째 컬럼: 말할 내용을 적는다. 소리나는대로 써도 되고, 맞춤법대로 써도 된다. 네, 다섯번째 컬럼: 원하는 감정으로 적는다.

-|있잖아요, 오늘은 일월 오일 화요일이거든요.|-|3|3
-|있잖아요, 오늘은 일월 오일 화요일이거든요.|-|0|0
...
No. 감정
0 Neutral
1 Happy
2 Sad
3 Angry

2. 경로 설정

화자, 스크립트, 설정파일, checkpoint, output 음원의 경로를 설정한다. inference_from_guide.py를 열어 checkpoint_path, waveglow_path, test_text_path, path를 설정한다. 화자는 nes로 하드코딩되어있는데 WaveGlow가 single speaker라서 모든 화자에 대해서 음질이 균등하지 않아 nes 화자를 추천한다. 화자에 대한 정보를 담은 excel파일은 pitchtron에 있다.

3. run

python inference_from_guide.py

2. 텍스트에서 감정 인식해서 합성하기

1. 스크립트 생성

위와 동일하지만 네, 다섯번째 컬럼에 감정 코드를 적어도 사용되지 않는다. 내재된 BERT에서 예측된 감정대로 합성된다. 이 감정 인식기의 정확도는 훈련 데이터와 동일한 도메인의 경우 90%이다. 심한 인터넷 말투에는 60%밖에 나오지 않는다. 바르고 고운 표현일수록 accuracy가 잘 나온다.

2. 경로 설정

  1. TTS 관련 위와 동일한데 'inference_from_text.py'에서 설정해야 함.
  2. NLP 관련 Tacotron2.inference()에서 self.emotion_distil_bert를 initialize하고 있다. 여기에 이 글의 맨 위에 배포한 감정인식기의 경로를 적는다. 물론 inference()에서 language model을 로드하는건 좋은 생각이 아니지만, 현재로는 속도 측면에서 최적화할 계획이 없다.

3. run

python inference_from_text.py

3. Emotion classification results

Confusion matrix

Embedding space for in-distribution test set and out-of-distribution testset

About

No description, website, or topics provided.

Resources

Stars

10 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages