본문 바로가기

devlog/Windows API

LRC to SRT 변환 모듈

<lrc2srt 변환 프로그램>

1. vlc에서 가사 출력에 사용될 자막의 타입 고르기

- vlc가 lrc를 지원하지 않음

- LRC 포맷은 텍스트를 기반으로 하고 있으며 자막 파일과 비슷하다.그래서 srt를 사용하기로 함.

  sami를 사용하지 않는 이유는 단순 가사 출력에 문자열을 꾸미기 위한 HTML과 CSS가 필요없기 때문.

  

2. srt 변환 프로그램 조사 or 개발

- 공부 목적이 아닌경우에 이미 개발된걸 또 만드는건 시간낭비

- 일단 lrc를 srt로 변환하는 프로그램 조사함

- lrcsmiconv, LrcCon 등을 사용해본 결과 

  - simple LRC format만([mm:ss.xx]) 지원하고 Enhanced LRC format(<mm:ss.xx>)을 지원하지 않음

  - 영어만 되고, 한글 변환이 제대로 안됌

  - time tag에서 [mm:ss.xx] xx가 msec가 아니고 1/100sec인데 ms로 변환되는것을 확인

    LRC포맷 참고 https://ko.wikipedia.org/wiki/LRC_(%ED%8C%8C%EC%9D%BC_%ED%8F%AC%EB%A7%B7)

- 사용하려는 목적(korean 지원, Enhaced LRC format 지원)에 맞게 개발해야겠음

- How to enable / use subtitle wiki 

  https://wiki.videolan.org/What_can_vlc_do/#How_to_enable.2Fuse_subtitles

  위 링크에 따르면 srt의 기본 font는 non-breaking-hypen, figure-dash, cross-product가 포함되지 않는다고 함.

3. 개발완료

 - .cpp 파일 하나에 함수 때려넣음
 - c++과 c가 뒤섞임. 

 - 최대한 빨리 개발하려다보니 막장 코드가 됐지만 완성에 의의를 둔다.

 - 기능

  - time tag와 내용들만 읽어와서 srt의 형식으로 출력함

 - 실행방법 (console program) 

  - cmd 실행 후 해당 directory로 이동

  - lrc2srt.exe file_1.lrc file_2.srt 엔터


4. 소스코드

https://github.com/alicesister1/lrc2srt