carpedm20 / multi-speaker-tacotron-tensorflow

Multi-speaker Tacotron in TensorFlow.
http://carpedm20.github.io/tacotron
Other
632 stars 341 forks source link

list index out of range 오류 #60

Open re-arep opened 5 years ago

re-arep commented 5 years ago

우분투 18.04LTS 환경에서 prepare_son.sh을 이용해 데이터를 받고 있었습니다.

  1. Download and extract audio and texts python -m datasets.jtbc.download

  2. Split audios on silence python -m audio.silence --audio_pattern "./datasets/jtbc/audio/*.wav" --method=pydub

  3. Run Google Speech Recognition python -m recognition.google --audio_pattern "./datasets/jtbc/audio/..wav"

3번까지는 진행할때는 오류가 간혹 나서 중지되기는 하였으나 계속 재 진행하니 어찌어찌 3번까지 완료가 되었습니다. codec오류도 utils/init.py의 89번째 줄의 encoding=encoding을 encoding='UTF-8'로 바꾸고 recognition/alignment.py의 106번째 줄의 'cp949'를 'UTF-8'로 바꾸어서 해결하였습니다.

하지만

  1. Run heuristic text-audio pair search (any improvement on this is welcome) python -m recognition.alignment --recognition_path "./datasets/son/recognition.json" --score_threshold=0.5

4번을 실행하면 list index out of range 오류가 발생하여 해결되지 않고 있습니다. sorted score[1]을 sorted score[0]로 수정할 경우 문제가 있다고 하여서 이것은 수정하지 않고 recognition.json 에서 다음 부분을 삭제 하여서 진행하였습니다.

NB11653121 NB11663681 NB11684780 NB11702006 NB11722589

그런데도 계속 동일한 오류가 발생하여서 원인을 모르겠습니다. 더 삭제해야하는 것이 있나요?

re-arep commented 5 years ago

자답입니다. 파이썬으로 매크로 제작하여 확인한 결과 위의 5가지에

NB11740377

를 추가로 recognition.json에서 제거하면 됩니다.

hmmhmmhm commented 5 years ago

111

감사합니다. 4월에 시도하는데 동일하게 삭제하였으나 오류가 발생하였지만

남겨주신 내용을 보고 오류코드 위치를 찾아서 빠르게 예외문처리 해서 해결했습니다.

tmdghks9574 commented 5 years ago

111

감사합니다. 4월에 시도하는데 동일하게 삭제하였으나 오류가 발생하였지만

남겨주신 내용을 보고 오류코드 위치를 찾아서 빠르게 예외문처리 해서 해결했습니다.

저도 그부분에 대해서 저렇게 쳤는데 return outside function 에러가 뜨더라구요 ㅠㅠ 해결방법 없을까요?

re-arep commented 5 years ago

111 감사합니다. 4월에 시도하는데 동일하게 삭제하였으나 오류가 발생하였지만 남겨주신 내용을 보고 오류코드 위치를 찾아서 빠르게 예외문처리 해서 해결했습니다.

저도 그부분에 대해서 저렇게 쳤는데 return outside function 에러가 뜨더라구요 ㅠㅠ 해결방법 없을까요?

예외 처리하지 마시고 제가 한 매크로 코드를 이용해서 일일이 삭제해보시는 것도 추천드립니다.

매크로 코드

import os specific_folder = '/multi-speaker-tacotron-tensorflow-master/datasets/son/assets/' #c:\ 역슬래쉬()가 아닌 슬래쉬(/) file_list = os.listdir(specific_folder) #os.listdir(지정 폴더명) cnt = 0

파일 이름 하나씩 출력

for file in file_list : if len(file) == 14: cnt = cnt+1 abp = specific_folder+file f = open(abp) linenum = f.readlines() if len(linenum) == 1: print(file) print(cnt)

sinclair2323 commented 5 years ago

111 감사합니다. 4월에 시도하는데 동일하게 삭제하였으나 오류가 발생하였지만 남겨주신 내용을 보고 오류코드 위치를 찾아서 빠르게 예외문처리 해서 해결했습니다.

저도 그부분에 대해서 저렇게 쳤는데 return outside function 에러가 뜨더라구요 ㅠㅠ 해결방법 없을까요?

예외 처리하지 마시고 제가 한 매크로 코드를 이용해서 일일이 삭제해보시는 것도 추천드립니다.

매크로 코드

import os specific_folder = '/multi-speaker-tacotron-tensorflow-master/datasets/son/assets/' #c:\ 역슬래쉬()가 아닌 슬래쉬(/) file_list = os.listdir(specific_folder) #os.listdir(지정 폴더명) cnt = 0

파일 이름 하나씩 출력

for file in file_list : if len(file) == 14: cnt = cnt+1 abp = specific_folder+file f = open(abp) linenum = f.readlines() if len(linenum) == 1: print(file) print(cnt)

감사합니다! 알려주신 매크로 코드로 해결했습니다.