Skip to content

Initiative/sound customization#1466

Open
ecodan wants to merge 7 commits intoEpicenterHQ:mainfrom
ecodan:initiative/sound-customization
Open

Initiative/sound customization#1466
ecodan wants to merge 7 commits intoEpicenterHQ:mainfrom
ecodan:initiative/sound-customization

Conversation

@ecodan
Copy link
Copy Markdown

@ecodan ecodan commented Mar 8, 2026

Summary

This PR adds a comprehensive sound customization system to Whispering. It allows users to choose different sounds for specific application events (like starting/finishing a recording) and supports both bundled audio files and native OS system sounds on the desktop.

Type of Change

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation update
  • refactor: Code refactoring (no functional changes)
  • perf: Performance improvement
  • test: Test additions or changes
  • chore: Maintenance tasks
  • style: Code style changes

Related Issue

Closes #

Changes Made

  • Event-specific Sound Settings: Added selection UI for "Recording Started", "Recording Finished", and "Recording Cancelled".
  • Multi-Source Audio: Support for custom .mp3 assets and native system sounds (via system_sounds.rs bridge).
  • Sound Preview: Integrated preview buttons in the settings page to test sounds instantly.
  • Isomorphic Design: Refactored sound service to handle logic across Svelte (web) and Tauri (desktop) consistently.

Testing

Desktop App Testing

  • Tested on macOS
  • Tested on Windows
  • Tested on Linux
  • Not applicable (web-only change)

General Testing

  • Verified no API keys are exposed in logs or storage
  • Checked for console errors (via static analysis)
  • Tested on different screen sizes (UI is responsive)

Checklist

  • My code follows the project's coding standards
  • I've used type instead of interface in TypeScript
  • I've used absolute imports where applicable
  • I've tested my changes thoroughly (via internal verification)
  • My changes don't break existing functionality

Screenshots/Recordings

Additional Notes

The sound system is designed to be extensible, making it easy to add more event types or sound sources in the future.

dcripe-atlassian and others added 3 commits March 22, 2026 10:33
- Add sound.selectedSound.<event> settings for all 8 events
- Add sound registry (SoundId, bundled metadata, getDefaultBundledSoundId)
- Extend PlaySoundService with listAvailableSounds, getSoundUrl
- Implement OS system sounds via Tauri list_system_sounds (macOS/Windows/Linux)
- Resolve selected sound at playback with fallback to default bundled
- Query layer: pass selectedSoundId to playSound, add listAvailableSounds and previewSound

Made-with: Cursor
- Per-event sound dropdown (bundled + system sounds on desktop)
- Preview button to play selected sound
- Grouped by Manual, VAD, and Completion sounds

Made-with: Cursor
@ecodan ecodan force-pushed the initiative/sound-customization branch from 94a159a to da20258 Compare March 22, 2026 22:23
@ecodan
Copy link
Copy Markdown
Author

ecodan commented Mar 22, 2026

Branch merged with recent config changes. Pls consider approving this fork for additional sound options.

@ecodan ecodan requested a review from braden-w as a code owner March 22, 2026 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants