[BUG] Long sequence transcription fails
Sometimes when I record long sequences, when I dictate for a long period of time, much of what I say is lost. Sometimes only the beginning and end are preserved and sometimes it just fails and nothing is transcribed. By long here, what I mean is something over a minute or two.
I'm sharing one of the instances here where the transcription failed quite badly. It took about a minute of recording and just gave me the same one sentence over and over again.
I'm using Moonshine base, I don't know if it's a model issue, but dropping entire recordings happens too, and that doesn't feel like model issue to me.
System Information
App Version:
v0.8.2
Operating System:
macOS Version 15.5 (24F74)
CPU:
Apple M2 Pro
GPU:
Apple M2 GPU
Logs
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Pressed
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] TranscribeAction::start called for binding: transcribe
[2026-04-14][15:38:54][enigo::platform::macos_impl][DEBUG] �[93mlocation()�[0m
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Microphone mode - always_on: false
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] On-demand mode: Starting recording first, then audio feedback
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Released
[2026-04-14][15:38:54][handy_app_lib::audio_toolkit::audio::recorder][INFO] Using device: Ok("Logitech BRIO")
Sample rate: 48000
Channels: 2
Format: F32
[2026-04-14][15:38:54][handy_app_lib::managers::audio][INFO] Microphone stream initialized in 290.563541ms
[2026-04-14][15:38:54][handy_app_lib::managers::audio][DEBUG] Recording started for binding transcribe
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Recording started in 290.618125ms
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] TranscribeAction::start completed in 306.075375ms
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] Registered handy-keys shortcut: cancel -> Hotkey { modifiers: Modifiers(0x0), key: Some(Escape) }
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Handling delayed audio feedback/mute sequence
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Pressed
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] TranscribeAction::stop called for binding: transcribe
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] Unregistered handy-keys shortcut: cancel
[2026-04-14][15:40:00][enigo::platform::macos_impl][DEBUG] �[93mlocation()�[0m
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] TranscribeAction::stop completed in 10.319708ms
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] Starting async transcription task for binding: transcribe
[2026-04-14][15:40:00][handy_app_lib::managers::audio][DEBUG] Microphone stream stopped
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] Recording stopped and samples retrieved in 61.130292ms, sample count: 973440
[2026-04-14][15:40:00][handy_app_lib::managers::transcription][DEBUG] Audio vector length: 973440
[2026-04-14][15:40:00][transcribe_rs::onnx::moonshine::model][DEBUG] Transcribing 973440 samples (60.84s), max_length=366
[2026-04-14][15:40:00][handy_app_lib::audio_toolkit::audio::utils][DEBUG] Saved WAV file: "/Users/srihari/Library/Application Support/com.pais.handy/recordings/handy-1776181200.wav"
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Released
[2026-04-14][15:40:07][handy_app_lib::managers::transcription][INFO] Transcription completed in 6905ms
[2026-04-14][15:40:07][handy_app_lib::managers::transcription][INFO] Transcription result: The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] Transcription completed in 6.905496958s: 'The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very'
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] selected_language is not Simplified or Traditional Chinese; skipping translation
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Saved history entry with id 1614
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Deleted old WAV file: handy-1776180824.wav
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Cleaned up 1 old history entries by count
[2026-04-14][15:40:07][handy_app_lib::clipboard][INFO] Using paste method: CtrlV, delay: 60ms
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Meta, direction: Press)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 55, direction: Press)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] added the keycode 55 to the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] added the key Meta to the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Other(9), direction: Click)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 9, direction: Click)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Meta, direction: Release)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 55, direction: Release)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] removed the keycode 55 from the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] removed the key Meta from the held keys
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] Text pasted successfully in 215.334084ms
[BUG] Long sequence transcription fails
Sometimes when I record long sequences, when I dictate for a long period of time, much of what I say is lost. Sometimes only the beginning and end are preserved and sometimes it just fails and nothing is transcribed. By long here, what I mean is something over a minute or two.
I'm sharing one of the instances here where the transcription failed quite badly. It took about a minute of recording and just gave me the same one sentence over and over again.
I'm using Moonshine base, I don't know if it's a model issue, but dropping entire recordings happens too, and that doesn't feel like model issue to me.
System Information
App Version:
v0.8.2
Operating System:
macOS Version 15.5 (24F74)
CPU:
Apple M2 Pro
GPU:
Apple M2 GPU
Logs
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Pressed
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] TranscribeAction::start called for binding: transcribe
[2026-04-14][15:38:54][enigo::platform::macos_impl][DEBUG] �[93mlocation()�[0m
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Microphone mode - always_on: false
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] On-demand mode: Starting recording first, then audio feedback
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Released
[2026-04-14][15:38:54][handy_app_lib::audio_toolkit::audio::recorder][INFO] Using device: Ok("Logitech BRIO")
Sample rate: 48000
Channels: 2
Format: F32
[2026-04-14][15:38:54][handy_app_lib::managers::audio][INFO] Microphone stream initialized in 290.563541ms
[2026-04-14][15:38:54][handy_app_lib::managers::audio][DEBUG] Recording started for binding transcribe
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Recording started in 290.618125ms
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] TranscribeAction::start completed in 306.075375ms
[2026-04-14][15:38:54][handy_app_lib::shortcut::handy_keys][DEBUG] Registered handy-keys shortcut: cancel -> Hotkey { modifiers: Modifiers(0x0), key: Some(Escape) }
[2026-04-14][15:38:54][handy_app_lib::actions][DEBUG] Handling delayed audio feedback/mute sequence
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Pressed
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] TranscribeAction::stop called for binding: transcribe
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] Unregistered handy-keys shortcut: cancel
[2026-04-14][15:40:00][enigo::platform::macos_impl][DEBUG] �[93mlocation()�[0m
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] TranscribeAction::stop completed in 10.319708ms
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] Starting async transcription task for binding: transcribe
[2026-04-14][15:40:00][handy_app_lib::managers::audio][DEBUG] Microphone stream stopped
[2026-04-14][15:40:00][handy_app_lib::actions][DEBUG] Recording stopped and samples retrieved in 61.130292ms, sample count: 973440
[2026-04-14][15:40:00][handy_app_lib::managers::transcription][DEBUG] Audio vector length: 973440
[2026-04-14][15:40:00][transcribe_rs::onnx::moonshine::model][DEBUG] Transcribing 973440 samples (60.84s), max_length=366
[2026-04-14][15:40:00][handy_app_lib::audio_toolkit::audio::utils][DEBUG] Saved WAV file: "/Users/srihari/Library/Application Support/com.pais.handy/recordings/handy-1776181200.wav"
[2026-04-14][15:40:00][handy_app_lib::shortcut::handy_keys][DEBUG] handy-keys event: binding=transcribe, hotkey=option+space, state=Released
[2026-04-14][15:40:07][handy_app_lib::managers::transcription][INFO] Transcription completed in 6905ms
[2026-04-14][15:40:07][handy_app_lib::managers::transcription][INFO] Transcription result: The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] Transcription completed in 6.905496958s: 'The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very long. The intent comparison table is very'
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] selected_language is not Simplified or Traditional Chinese; skipping translation
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Saved history entry with id 1614
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Deleted old WAV file: handy-1776180824.wav
[2026-04-14][15:40:07][handy_app_lib::managers::history][DEBUG] Cleaned up 1 old history entries by count
[2026-04-14][15:40:07][handy_app_lib::clipboard][INFO] Using paste method: CtrlV, delay: 60ms
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Meta, direction: Press)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 55, direction: Press)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] added the keycode 55 to the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] added the key Meta to the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Other(9), direction: Click)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 9, direction: Click)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mkey(key: Meta, direction: Release)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] �[93mraw(keycode: 55, direction: Release)�[0m
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] removed the keycode 55 from the held keys
[2026-04-14][15:40:07][enigo::platform::macos_impl][DEBUG] removed the key Meta from the held keys
[2026-04-14][15:40:07][handy_app_lib::actions][DEBUG] Text pasted successfully in 215.334084ms