HN 표시: MoonshineFlow
hackernews
|
|
📦 오픈소스
#macos
#moonshine
#디테이션
#로컬 처리
#음성인식
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
'MoonshineFlow'는 로컬 음성 인식 엔인 Moonshine을 기반으로 하여 macOS 메뉴 바에서 작동하는 새로운 받아쓰기 애플리케이션입니다. 이 앱은 오른쪽 Option 키를 두 번 눌러 음성 인식을 시작하고, 인식된 텍스트를 터미널이나 메신저 등 현재 포커스된 앱으로 실시간 전송하는 기능을 제공합니다. 특히 모든 텍스트 변환 과정이 기기 내부에서 완전히 처리되므로 오디오 데이터가 외부로 전송되지 않아 보안성이 뛰어난 점이 특징입니다.
본문
MoonshineFlow is a macOS menu-bar dictation app powered by Moonshine for local, on-device speech recognition. Double-tap a key, speak, tap again to stop -- your words stream into whatever app has focus. All transcription runs locally. No audio leaves your machine. - Launch the app -- a microphone icon appears in the menu bar - Focus any text field (TextEdit, terminal, browser, Slack, etc.) - Double-tap right Option to start dictation - Speak -- text streams into the focused app in real time - Tap right Option once to stop For standard text fields (Slack, Chrome, WhatsApp, TextEdit, Notes, etc.), text is inserted and updated live via the Accessibility API -- including partial text that refines as you speak. For terminals (Ghostty, Terminal.app, iTerm2, kitty, etc.), completed sentences stream in via clipboard paste since terminals don't support AX text insertion. - macOS 15 or newer on Apple Silicon - Xcode (not just Command Line Tools) git clone [email protected]:JRMeyer/MoonshineFlow.git cd MoonshineFlow # Download model files (~290MB) MODEL_DIR=MoonshineFlow/models/medium-streaming-en for f in adapter.ort cross_kv.ort decoder_kv.ort encoder.ort \ frontend.ort streaming_config.json tokenizer.bin; do curl -L "https://download.moonshine.ai/model/medium-streaming-en/quantized/$f" \ -o "$MODEL_DIR/$f" done # Build (Xcode fetches the Moonshine package automatically) xcodebuild -scheme MoonshineFlow -configuration Release -derivedDataPath build build # Run open build/Build/Products/Release/MoonshineFlow.app See SETUP.md for the full setup guide. Grant all three in System Settings > Privacy & Security: | Permission | Why | |---|---| | Microphone | Audio capture for transcription | | Accessibility | Inserting text into focused apps | | Input Monitoring | Global hotkey detection (right Option key) | MoonshineFlow/ MoonshineFlowApp.swift App entry point (menu bar) Views/ ContentView.swift Menu bar popover UI SettingsView.swift Settings window Dictation/ DictationController.swift Orchestrates the dictation session HotkeyManager.swift Global hotkey via CGEvent tap AudioEngine.swift Mic capture, resampled to 16kHz mono ChunkBuffer.swift Splits audio into 0.6s chunks Transcriber.swift Moonshine streaming transcription wrapper TextStateManager.swift Tracks streaming text deltas TextInjector.swift Inserts text via AX or clipboard paste - Double-tap right Option to start dictation; single tap to stop - Text streams into the focused app as you speak - AX-capable apps get live partial text that refines in place - Terminals get committed sentences streamed via clipboard paste - Transcriber is pre-initialized at launch for fast response - Clipboard is saved before dictation and restored after See LICENSE.txt.
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유