Skip to content

feat: add sound effects for recording start/stop - #18

Merged
jatinkrmalik merged 1 commit into
mainfrom
feat/sound-effects
Mar 5, 2026
Merged

feat: add sound effects for recording start/stop#18
jatinkrmalik merged 1 commit into
mainfrom
feat/sound-effects

Conversation

@jatinkrmalik

Copy link
Copy Markdown
Member

Sound Effects for Recording Feedback

Adds subtle audio cues when recording starts and stops, so users get clear feedback that VocaMac is listening.

Sounds

  • Start recording: Tink.aiff — a soft, subtle tap sound
  • Stop recording: Pop.aiff — a soft pop sound

Both are built-in macOS system sounds, so no audio files need to be bundled.

Mute Toggle

A new Sound Effects section in Settings → Audio lets users disable sound effects without muting their entire system.

Setting is persisted via @AppStorage and defaults to enabled.

Implementation

  • New SoundManager service (Sources/VocaMac/Services/SoundManager.swift)
  • Integrated into AppState.startRecording() and stopRecordingAndTranscribe()
  • Toggle in AudioSettingsTab in SettingsView

Files Changed

  • Sources/VocaMac/Services/SoundManager.swift (new)
  • Sources/VocaMac/Models/AppState.swift (sound integration + setting)
  • Sources/VocaMac/Views/SettingsView.swift (toggle in Audio tab)

- Play soft 'Tink' sound when recording starts
- Play soft 'Pop' sound when recording stops
- Add mute toggle in Settings → Audio → Sound Effects
- Sound effects enabled by default, easily disabled per user preference
- Uses macOS system sounds for consistent, pleasing audio feedback
- New SoundManager service encapsulates all audio feedback logic
@jatinkrmalik
jatinkrmalik merged commit f13cbeb into main Mar 5, 2026
1 check passed
@jatinkrmalik
jatinkrmalik deleted the feat/sound-effects branch August 22, 2026 05:32
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.

1 participant