규로롱
01

보이스 프롬프터

내 목소리를 듣고 대본이 알아서 따라 내려온다

concept

  • 강제 정렬forced alignment

    음성인식으로 받아쓰기를 하는 게 아니다. 대본은 이미 알고 있으니 지금 읽는 위치만 찾으면 된다 — 소리와 이미 있는 글을 맞춰 세우는 걸 강제 정렬이라 부른다. 비교를 자모 단위 편집거리로 해서 받침 하나쯤 틀려도 그대로 넘어간다.

정해진 속도로 글자를 미는 프롬프터는 늘 어긋났다. 말이 빨라지면 놓치고, 느려지면 기다려야 했다. 그래서 속도를 정하는 대신 목소리를 듣게 만들었다.

핵심은 받아쓰기가 아니다. 대본은 이미 알고 있으니, 지금 읽는 위치만 찾으면 된다. 비교를 자모 단위로 해서 받침 하나쯤 틀려도 편집거리 1로 넘어간다 — 한국어 음성인식이 깨지던 지점이 여기서 대부분 흡수된다.

마이크가 없거나 아이패드로 볼 때를 위해 자동 스크롤 모드도 같이 넣었다. 오프라인 엔진(Vosk)을 고르면 인터넷 없이 기기 안에서 돌아간다.

이렇게 시켰습니다

보이스 프롬프터을 지금 다시 만든다면 AI에게 이렇게 넘기겠습니다. 그대로 복사해서 붙여넣고, 마음에 안 드는 부분만 바꾸세요.

브라우저에서 도는 텔레프롬프터를 만들어줘. 설치 없이 HTML 하나로 열리면 좋겠어.

핵심 동작:
- 대본을 붙여넣으면 큰 글씨로 화면에 뜬다
- 마이크로 내 목소리를 들으면서, 내가 지금 읽고 있는 위치에 맞춰 대본이 스스로 내려간다
- 정해진 속도로 미는 방식은 쓰지 마. 말이 빨라지면 놓치고 느려지면 기다리게 돼서 못 쓴다

위치를 찾는 방법이 중요해:
- 받아쓰기를 하려는 게 아니야. 대본은 이미 알고 있으니까 "지금 어디를 읽고 있는지"만 맞추면 돼
- 한국어 음성인식은 받침이 자주 틀리니까, 글자 단위로 비교하지 말고
  자모 단위로 쪼개서 편집거리로 비교해줘. 받침 하나쯤 틀려도 같은 위치로 쳐야 해
- 인식된 말이 대본의 여러 곳과 비슷할 수 있으니, 직전 위치 근처를 먼저 찾고
  뒤로는 잘 안 가게 해줘 (한 번 읽은 데로 되돌아가면 화면이 튄다)

이것도 같이:
- 마이크가 없거나 태블릿으로 볼 때를 위해 자동 스크롤 모드
- 글자 크기, 줄간격, 스크롤 속도 조절
- 어두운 배경에 밝은 글씨 (카메라 앞에서 눈이 덜 부시게)

먼저 브라우저 기본 음성인식(Web Speech API)으로 되게 만들고,
그게 돌아가는 걸 확인한 다음에 오프라인 엔진을 붙이는 순서로 가자.

여기 적힌 시간은 쓸 만한 게 처음 돌아가기까지입니다. 그 뒤에 디테일을 잡는 데 보통 하루 이틀이 더 들고, 지금도 필요할 때 업데이트 하고 있습니다.

처음이라면 — 뭘 깔고 어디에 붙여넣나

저는 Claude Code를 씁니다. 하지만 위 프롬프트는 특정 도구용이 아니라서 아무 데나 붙여넣어도 됩니다. 셋 중 편한 걸로 시작하세요.

  1. 1. 설치 없이 — 브라우저 챗봇
    쓰던 챗봇에 붙여넣고 “하나의 HTML 파일로 만들어줘”를 덧붙이세요. 나온 코드를 저장해 더블클릭하면 그 자리에서 돌아갑니다. 5분, 무료.
  2. 2. 제대로 — 터미널에서 CLI
    파일을 여러 개 만들고 스스로 고쳐가며 돌려보는 건 이쪽만 됩니다. 여기 있는 것들은 전부 이 방식으로 만들었습니다. 30분.
  3. 3. 남한테 맡기고 — 웹 빌더
    v0, Bolt, Lovable 같은 데에 붙여넣으면 화면까지 알아서 띄워줍니다. 빠른 대신 나중에 손대기가 답답해집니다.

어느 쪽이든 한 번에 완성될 거라고 기대하지 마세요. 저는 대충 돌아가는 걸 먼저 받고, 거슬리는 걸 하나씩 말해서 고칩니다. 에러가 뜨면 읽으려 하지 말고 통째로 복사해서 그대로 붙여넣으면 됩니다. 저도 1년 동안 그렇게만 했습니다.

터미널을 한 번도 안 열어보셨다면 설치부터 순서대로 적어둔 곳이 따로 있습니다. 맥·윈도우 명령어와 막혔을 때 할 일까지 있습니다.

만드는 과정