- 오디오 데이터 수집 및 분류
- 라이브 방송 선정 후,
wav파일로 다운 slient-divide.py를 통해 파일 무음 기준으로 잘라서 편집(잡음이나 필요없는 음성 삭제 등)- 데이터 편집으로 인해 파일명이 1부터 시작하지만 중간에 빈 숫자가 있기 때문에
rename-file-name.py를 통해 파일명 재정의 get-wav-length.py를 통해 총 데이터의 시간 구할 수 있음
- 라이브 방송 선정 후,
- Google Speech-to-Text API
- 무료로 시작하기를 통해 API 사용 허가받기
- Google Cloud Platform
- 구글 클라우드 플랫폼을 통해 프로젝트 생성
- 메뉴에서 Cloud Storage 선택
- 버킷 만들기
- 버킷 안에 오디오 데이터 업로드
- 구글 API키 인증 받기
IAM 및 관리자-서비스 계정- 서비스 계정 만들기
- 서비스 계정 권한 -
소유자 - 서비스 계정 목록 - 작업 -
키 관리 - 키 추카 - 새 키 만들기 -
json파일 - json 파일이 자동으로 다운 되면, 해당 파일 경로 복사
generate-script.py가 있는 폴더에서 터미널 열기
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"- 키 인증이 제대로 되었는지 확인하기 위해
verify-auth.py실행
generate-script.py를 통해 스크립트 파일 생성- 스크립트 파일은 tacotron에서 요구하는 json 형태로 생성
- 생성된 스크립트 파일은 부정확할 수 있으니 확인 필요
Error: file does not start with RIFF id- 참고한 오류 해결법
유튜브 영상을 wav 파일로 다운받으면서 무언가 안 맞았는지, RIFF id 오류가 났다.
위의 오류 해결법을 사용하니 더 이상 에러가 나지 않았다.
하지만, 일일이 명령어를 칠 수 없었으니 이 또한RIFF-error.py를 만들어 자동화를 했다.
- 참고한 오류 해결법
ModuleNotFoundError: No module named 'pandas'- anaconda3로 python 3.7를 설치하고 했음에도 이 오류가 떴다.
pip3 install --upgrade pandas를 하면 재설치가 된다.
google.api_core.exceptions.InvalidArgument: 400 Request payload size exceeds the limit: 10485760 bytes.- 구글 STT API 사용할 때, 로컬 파일로 스크립트 작성 중에 마주한 오류
- 참고한 오류 해결법
- 로컬 파일을 Google Cloud Platform에 업로드 후, 해당 경로를 통해 스크립트 파일을 만들면 된다.
google.api_core.exceptions.InvalidArgument: 400 Sync input too long. For audio longer than 1 min use LongRunningRecognize with a 'uri' parameter.- chldkato/Tacotron-Korean-Tensorflow2 코드 실행 시,
librosa등의 라이브러리 오류- M1 맥북으로 할 때, 파이썬 3.7은 아키텍쳐로 인해 깔리지 않는다는 여러 구글링을 통해, 파이썬 3.8은 되나? 싶어서 도전했더니
pandas오류인지를 만났다. - 결국엔 윈도우 데스크탑에
anaconda3로 파이썬3.7으로 맞춰주니 정상적으로preprocess.py를 실행할 수 있었다.
- M1 맥북으로 할 때, 파이썬 3.7은 아키텍쳐로 인해 깔리지 않는다는 여러 구글링을 통해, 파이썬 3.8은 되나? 싶어서 도전했더니