음성 인식(ASR)
coli CLI로 오디오 파일을 로컬에서 텍스트로 전사합니다 — 다국어 지원, AI 다듬기는 선택, 완전 오프라인, API 키 불필요.
coli asr로 오디오 파일을 텍스트로 전사합니다. 로컬 음성 인식 모델을 통해 전부 사용자 기기에서 실행되므로 ListenHub API 키가 필요 없고, 모델을 내려받은 뒤에는 인터넷 연결도 필요 없습니다.
ListenHub API 키가 필요 없습니다. 이 skill은 로컬 전용으로, ListenHub API를 호출하지 않습니다. listenhub와는 별개의 도구인 coli CLI가 필요합니다. 아래 사전 준비를 참고하세요.
트리거
/asr로 이 skill을 호출하거나, 다음 문구 중 아무거나 사용하세요:
| 문구 | 언어 |
|---|---|
transcribe / transcribe this | 영어 |
ASR | 영어 |
转录 / 识别音频 | 중국어 |
语音转文字 | 중국어 |
把这段音频转成文字 | 중국어 |
사전 준비
이 skill은 listenhub CLI가 아니라 coli CLI에 의존합니다. 한 번만 설치하면 됩니다:
npm install -g @marswave/coli선택 사항이지만 권장: 압축 포맷(MP4, M4A, AAC 등)을 지원하려면 ffmpeg을 설치하세요:
# macOS
brew install ffmpeg
# Ubuntu / Debian
sudo apt install ffmpegWAV 파일은 ffmpeg 없이도 전사됩니다. 다른 포맷은 디코딩에 ffmpeg이 필요합니다.
첫 실행 시 모델 다운로드
인식 모델은 CLI에 함께 포함되어 있지 않습니다. 처음 전사할 때 coli가 필요한 모델(약 60 MB)을 ~/.coli/models/에 자동으로 내려받습니다. 이 과정은 모델당 한 번만 일어나며 잠깐 시간이 걸립니다 — 모델이 아직 없으면 AI가 다운로드 중이라고 알려 줍니다. 이후 실행에서는 캐시된 모델을 재사용해 곧바로 시작합니다.
다운로드가 끝나면 전사는 완전히 오프라인으로 진행됩니다. 오디오는 기기 밖으로 나가지 않고, 네트워크 호출도 발생하지 않습니다.
빠른 예시
Transcribe this file: meeting.m4aAI가 사전 준비 상태를 확인하고, 설정을 읽고, 모델과 다듬기 설정을 확인한 뒤 로컬에서 전사를 실행합니다. 결과는 대화 안에 바로 표시됩니다.
모델
이 skill에는 인식 모델 두 개가 들어 있습니다. 오디오에 담긴 언어, 그리고 감정 같은 부가 신호가 필요한지에 따라 고르세요.
| 모델 | 지원 언어 | 감정 / 이벤트 감지 | 비고 |
|---|---|---|---|
sensevoice(기본값) | 중국어, 영어, 일본어, 한국어, 광둥어 | 예 | 다국어 콘텐츠이거나 언어를 알 수 없을 때 권장 |
whisper-tiny.en | 영어 전용 | 아니요 | 더 작은 영어 전용 모델 |
오디오가 확실히 영어이고 더 가벼운 모델을 쓰고 싶은 경우가 아니라면 sensevoice를 쓰세요. sensevoice가 기본값이자 범용으로 더 나은 선택입니다 — 다섯 개 언어를 커버하고, 아래에 설명한 언어·감정·오디오 이벤트 신호를 반환합니다.
감지되는 메타데이터
JSON 출력으로 실행하면 sensevoice는 전사 텍스트 이상을 반환합니다. 결과에는 다음이 포함됩니다:
lang— 감지된 발화 언어emotion— 감지된 발화의 감정 톤event— 감지된 비음성 오디오 이벤트(예: 배경음)duration— 오디오 길이(초)
AI는 전사 텍스트와 함께 lang, emotion, duration을 보여 주고, Markdown 내보내기 파일의 헤더에도 기록합니다. whisper-tiny.en은 전사 텍스트와 duration은 반환하지만 감정이나 이벤트 감지는 하지 않습니다.
AI 다듬기
다듬기(polish)는 coli가 텍스트를 반환한 뒤 AI가 원본 전사에 적용하는 후처리 단계이며, 기본으로 켜져 있습니다.
| 모드 | 결과물 |
|---|---|
| 다듬기 켜짐(기본값) | AI가 원본 전사를 다시 써서 구두점을 고치고, 군더더기 말을 없애고, 가독성을 높입니다 — 의미를 바꾸거나 요약하거나 바꿔 말하지는 않습니다 |
| 다듬기 꺼짐 | 모델이 반환한 원본 전사 그대로, 편집 없음 |
원본 전사는 항상 보존됩니다. 다듬기를 켜 두었더라도 AI에게 편집되지 않은 원문을 보여 달라고 요청할 수 있습니다. 특정 전사 한 번만 다듬기를 끄려면 요청에 그렇게 적으면 되고(예: "transcribe interview.wav, no polish"), 기본값을 바꾸려면 skill을 다시 설정하세요.
출력
전사 결과는 대화 안에 바로 표시되고, 이어서 감지된 메타데이터가 나옵니다:
Transcription complete
{transcript text}
─────────────────
lang: {lang} · emotion: {emotion} · duration: {duration}s다듬기가 켜져 있으면 다듬어진 버전이 표시되고 AI가 정리했다는 표시가 붙습니다.
Markdown 내보내기
결과를 보여 준 뒤, AI는 전사를 현재 작업 디렉터리에 Markdown 파일로 저장할지 물어봅니다:
{audio-filename}-transcript.md파일에는 전사 텍스트(다듬기가 켜져 있으면 다듬어진 버전)가 담기고, 원본 파일·날짜·모델·길이·감지된 언어를 기록한 front matter 헤더가 붙습니다:
---
source: meeting.m4a
date: 2026-06-25
model: sensevoice
duration: 312s
lang: zh
---
{transcript text}설정
설정은 프로젝트별로 .listenhub/asr/config.json에 저장되며, 처음 사용할 때 합리적인 기본값(sensevoice, 다듬기 켬)으로 자동 생성됩니다. 시작하는 데 별도 설정은 필요 없습니다. 기본값을 바꾸려면 AI에게 다시 설정해 달라고 하세요. 모델과 다듬기 선택을 안내하고 답변을 저장해 줍니다.
| 설정 | 기본값 | 선택지 |
|---|---|---|
model | sensevoice | sensevoice, whisper-tiny.en |
polish | true | true, false |
CLI 명령
이 skill은 coli asr 명령을 사용합니다. AI가 감지된 메타데이터를 읽을 수 있도록 JSON 출력을 씁니다:
# Transcribe with JSON output (returns text, lang, emotion, event, duration)
coli asr -j --model sensevoice "meeting.m4a"
# English-only, lighter model
coli asr -j --model whisper-tiny.en "talk.wav"설치된 버전이 현재 지원하는 플래그 전체를 보려면 coli asr --help를 실행하세요.
조합 사용
이 skill이 만들어 낸 전사 텍스트는 같은 대화 안에서 다른 skill로 바로 넘길 수 있습니다:
- 녹음한 인터뷰를 전사한 뒤
/podcast에 참고 자료로 넣기 - 음성 메모를 전사한 뒤
/explainer의 입력으로 사용하기
더 많은 연결형 워크플로는 Skill 조합하기를 참고하세요.
API 레퍼런스
없습니다. 이 skill은 API를 호출하지 않고 로컬 coli asr 명령만 사용합니다.