Ech👂 음성 타이핑 비서
요약
Echo는 OpenAI Whisper를 활용하여 로컬에서 작동하는 음성 타이핑 비서입니다. 사용자의 기기에서 개인 정보 보호를 최우선으로 하며, 텍스트 전사 및 영어 자동 번역 기능을 제공합니다. Hot Mic 아키텍처와 VAD 기능으로 끊김 없는 녹음과 높은 정확도를 보장합니다.
핵심 포인트
- Whisper 기반 로컬 작동으로 개인정보 보호에 강점
- Hot Mic/VAD로 끊김 없이 음성 전사 가능
- 모국어 → 영어 자동 번역 지원 (이중 언어 작업 최적)
- GGML 모델 사용 시, 영어 전용(`.en`) 모델 선택 권장
Ech👂 음성 타이핑 비서 (Voice Typing Assistant)
Echo는 빠르고, 개인 정보 보호를 최우선으로 하는 누름식(push-to-talk) 음성 타이핑 비서입니다. 이 도구는 사용자의 기기에서 로컬로 작동하며, OpenAI의 Whisper 기능을 활용하여 사용자의 음성을 텍스트로 전사하고, 활성화된 텍스트 커서 위치에 자동으로 삽입합니다.
또한 영어로 원활한 자동 번역 기능도 제공합니다: 모국어(러시아어, 스페인어, 독일어 등)로 말하면 Echo가 즉시 완벽한 영어로 번역해 줍니다.
이 덕분에 이 도구는 이중 언어 작업 흐름(bilingual workflows), 코딩, 문서 작성에 이상적입니다! (참고: 자동 번역은 ggml-base.en.bin과 같은 영어 전용 모델에서 가장 잘 작동합니다).
지연 시간이 0인 녹음을 위한 "Hot Mic" 아키텍처와 음성 활동 감지(Voice Activity Detection, VAD) 기능을 통해 첫 단어를 끊김 없이 완벽하게 전사할 수 있도록 합니다.
⚙️ 필수 준비물 (Prerequisites)
애플리케이션을 실행하기 전에 다음 사항이 갖추어져 있는지 확인하십시오:
- 작동하는 마이크.
- Whisper 모델: 호환되는
.binWhisper 모델 파일.
🧠 올바른 모델 선택 방법:
Echo는 Whisper GGML 모델(예: ggml-medium.bin)을 사용합니다. 선택한 모델이 받아쓰기의 속도와 정확도를 결정합니다.
HuggingFace에서 다운로드할 수 있습니다: ggerganov/whisper.cpp.
영어 대 다국어:
- 영어로만 받아쓰는 경우: 항상
.en접미사가 붙은 모델(예:small.en.bin)을 다운로드하세요. 이 모델들이 더 빠르고, 더 정확하며, 환각 현상(hallucinate)이 훨씬 적습니다. - 다른 언어 또는 혼합하여 받아쓰는 경우: 표준 모델(예:
small.bin)을 사용하세요. 참고: 대규모 모델은 본질적으로 다국어이기 때문에.en버전이 없습니다.
모델 하드웨어 요구 사항 (여러 모델을 시도해 보는 것을 권장합니다)
| 모델 크기 (Model Size) | 근사 VRAM/RAM | 속도 (Speed) | 정확도 (Accuracy) | 하드웨어 추천 (Hardware Recommendation) |
|---|---|---|---|---|
| Tiny | ~500 MB | 매우 빠름 (Blazing Fast) | 기본 (Basic) | 저사양 PC, 빠른 테스트용. |
| ... |
📊 평균 벤치마크 (Average Benchmarks)
성능은 사용자의 하드웨어와 선택한 모델에 따라 달라집니다. 아래는 표준 세션에 대한 평균 추론 시간입니다:
| 하드웨어 (Hardware) | 모델 (Model) | 평균 추론 시간 (Average Inference Time) (매우 짧은 세션: 10-20초) |
|---|---|---|
| CPU | ggml-small | ~500 ms |
| ... |
🚀 시작하기 (Getting Started)
1. 설치 (Installation)
옵션 A: 사전 빌드된 릴리스 다운로드 (권장)
- 이 저장소의 Releases 페이지로 이동합니다.
- 최신
Echo-win-x64.zip파일을 다운로드합니다. - 폴더를 원하는 위치에 압축 해제합니다.
옵션 B: 소스에서 빌드 (Build from Source)
- 저장소를 복제합니다:
git clone https://github.com/GithubPhobos/Echo - 폴더로 이동합니다:
cd Echo - 프로젝트를 빌드합니다:
dotnet publish -c Release -r win-x64 --self-contained true
2. 에셋 구성 (Assets Configuration)
- 루트 디렉터리에
Echo.exe실행 파일과 함께Assets폴더가 있는지 확인합니다. 이 폴더에는 음성 푸시 투 토크(push-to-talk) 피드백을 위한start-recording.wav와stop-recording.wav가 포함되어 있습니다. - 다운로드한 Whisper 모델 파일을
Assets폴더에 배치합니다. - 애플리케이션 사용자 정의를 위해
appsettings.json을 엽니다 (모든 설정은 인라인으로 문서화되어 있습니다). 주요 설정은 다음과 같습니다:
WhisperSettings.ModelName: Assets 폴더에 배치한 모델의 정확한 이름과 일치해야 합니다.PushToTalkSettings.Key: 녹음을 시작하는 전역 단축키 (기본값은 ``').Serilog.MinimumLevel.Default: 사용 가능한 로그 레벨은Debug,Information,Warning,Error입니다.WhisperSettings.Prompt: AI에 제공되는 초기 컨텍스트입니다. 이를 사용하여 복잡한 도메인 용어를 지정하거나, 선호하는 구두점 스타일을 정의하거나, 모델이 음성을 더 정확하게 전사할 수 있도록 기준 어휘를 제공할 수 있습니다.
3. 하드웨어 가속 설정 (Hardware Acceleration Setup) 🚀
최대 속도를 위해 appsettings.json에서 시스템에 맞춰 HardwareBackend를 구성하세요:
NVIDIA (CUDA) - 최대 속도 (NVIDIA 그래픽 카드가 있는 경우에만)
- NVIDIA 그래픽 드라이버가 최신 버전인지 확인하세요.
- NVIDIA Developer Archive에서 필요한 CUDA redistributable 라이브러리를 다운로드하세요.
cuda_cudart와libcublas의 파일이 필요합니다. - 다음 특정
.dll파일을 추출하여Echo.exe옆에 배치하세요:cublas64_13.dllcublasLt64_13.dllcudart64_13.dll
AMD / Intel / 기본 NVIDIA (Vulkan)
- AMD Adrenalin, Intel Arc Graphics 또는 표준 NVIDIA 드라이버와 함께 작동합니다.
- 필요한
vulkan-1.dll이 GPU 드라이버와 함께 Windows에 자동으로 설치되므로 아무것도 설치할 필요가 없습니다. appsettings.json에서 `
문제: BadDeviceId calling waveOutOpen 오류가 발생하거나 시작 시 애플리케이션이 충돌합니다.
- 원인: 오디오 피드백 기능이 활성화되어 있지만 (
"PlaySound": true), 시스템에 현재 활성 오디오 출력 장치(스피커/헤드폰)가 없습니다. - 해결 방법: 스피커/헤드폰을 연결하거나
appsettings.json에서"PlaySound": false로 설정합니다.
문제: 애플리케이션이 사용자가 말한 내용 대신 무작위 단어, 환각(hallucinations), 또는 프롬프트 자체를 타이핑합니다.
- 원인: 마이크가 너무 조용하여 음성 활동 감지(Voice Activity Detection, VAD) 기능이 사용자의 발화를 끊었고, 이로 인해 무음 오디오 파일이 AI에 전송되었습니다. AI는 기본 컨텍스트 프롬프트를 기반으로 환각을 일으켰습니다.
- 해결 방법:
appsettings.json에서"SilenceThreshold"를 낮춥니다 (예:0.03에서0.01또는0.005로). 또한, 콘솔에서 실제 마이크 레벨을 확인하기 위해"OutputMicAmplitudeDebugInfo": true를 활성화할 수 있습니다.
문제: AI가 키보드 클릭 소리, 기계적인 소리 또는 앱 자체의 "삐-" 소리를 무작위 단어로 전사합니다.
- 원인: 마이크가 푸시 투 토크(Push-To-Talk) 키 입력의 물리적 소리나 애플리케이션의 오디오 피드백을 수음하고 있습니다. VAD 기능이 이 날카로운 소음을 말소리로 인식합니다.
- 해결 방법:
appsettings.json에서 애플리케이션 오디오 피드백의"Volume"을 낮춥니다 (예:0.05). 또한, VAD가 이러한 배경 소음을 무시하도록"SilenceThreshold"를 약간 높입니다 (예:0.02). 마이크를 키보드에서 더 멀리 배치하는 것도 도움이 됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · 56513d9a의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기