완벽하지는 않지만, 그래도 들어줄만한 품질로 완성되었다.

(이정도 수준이면, 잘때 둘째에게 들려줘도 되겠다는 생각이 든다ㅋ)

 

3시간짜리 Audio북을 작업하는데는 꽤나 노하우가 필요했다.

 

- 봉착한 문제들과 해결방법

 

1. text chunk

 

 : google cloud text-to-speech모델은 5000자까지만 한번에 변환이 가능하다.

 : 5000자 이하로 자르고 이걸 차례대로 호출하며 반복적으로 생성해야한다.

 : 이때 특수문자(특히 개행문자) 관련 처리가 까다로웠음

    * 원본 데이터를 저장해서 txt파일로 보관해서 검사할때는 개행을 남겨두고, text2speech로 전달할때는 모든 개행을 점(.)으로 변환하였다.(그래야만 끊어읽기가 적당히 들어가기 때문이다)

    * 사실 이조차도 ChatGPT로 작업을 하면 되겠지만, 여기서도 또 큰 데이터는 한번에 처리가 안되기 때문에, 아쉽게도 이부분은 약간의 수작업과 자동화를 섞을수 밖에 없었다.(body추출은 수동으로, 개행문자 치환등은 code 노드에서)

    * 이때, wait 노드를 on-form-submitted로 하면, 중간에 내가 txt파일을 만들고, 이후에 완성이되면 재시작 버튼을 누르듯 처리가 가능하다.

 

2. audio 합성

 

  : 여러개 분해된 오디오 파일을 FFMpeg (loca docker구동)로 병합한다.

  : 이때 메모리를 최소화하도록 적당히 페라미터들을 세팅해줘야한다.(그래야 변환속도도 빨라지고, PC 메모리가 터지는 문제도 방지할수 있다.)

  : 약 5~10분 정도면 70M정도의 오디파일을 병합할수 있음

  : 이미지와 오디오를 합성하면 150~200M (3시간) 짜리 파일이 생성됨(약 10~15분 소요),

     * PC사양이 너무 낮아서 여러개를 동시에 돌릴수도 없는게 넘 아쉽다.

 

3. 유튜브 업로드 및 업데이트

 

  : 장시간짜리 영상을 업로드할때는, 추가적인 인증을 받아야 업로드가 가능하다.(인증절차는 간단, 업로드 후 처리실패 내용을 알려줌)

  : 유튜브 사이트에서 설정하는 모든 정보를 n8n 노드에서 설정할수 없는게 좀 아쉬운 점이다.

  : 업로드시 공개설정을 비공개(부분공개?)로 올렸다가, 완성시 실제로 이상없이 올라간게 확인되면 설정을 공개로 수동으로 바꿔주게끔 하였다.

 

 

4. Google Sheets로 목록 및 처리순서 관리

 

  : 100개의 동화내역을 미리 만들어두고, 처리 성공하면 N->Y로 바꿔주도록 하였다.

  : 매번 노드 시작 버튼을 눌렀을때 다음번(N)인 목록을 순서대로 가져오도록하여 편의성을 높임.

 

5. 작업비용

 

 : 일단, google colud에 있는 API 위주로 사용하였고, 최초 가입시 300$(약 40만원) 정도를 무료로 쓸수가 있다.

 : 한편당 대략 3~5천원 이내로 비용이 발생하는듯하고, 대략 100편 정도는 무료로 작업이 가능할듯하다.


 

https://youtu.be/IEXjaY98Ti8

 

https://www.youtube.com/@Moonlight-Stories-i7f

 

Moonlight-Stories

영어 고전 동화를 읽어주는 오디오북 채널입니다. 자녀들에게 영미 고전을 들려주세요. 영어 공부를 하고싶은 성인에게도 추천합니다.

www.youtube.com

 

+ Recent posts