Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

list index out of range 오류 #60

Open
re-arep opened this issue Feb 2, 2019 · 5 comments
Open

list index out of range 오류 #60

re-arep opened this issue Feb 2, 2019 · 5 comments

Comments

@re-arep
Copy link

re-arep commented Feb 2, 2019

우분투 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
Copy link
Author

re-arep commented Feb 2, 2019

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

NB11740377

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

@hmmhmmhm
Copy link

hmmhmmhm commented Apr 6, 2019

111

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

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

@tmdghks9574
Copy link

tmdghks9574 commented Apr 12, 2019

111

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

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

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

@re-arep
Copy link
Author

re-arep commented Apr 18, 2019

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
Copy link

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)

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants