19 Commits

Author SHA1 Message Date
Storm Dragon
82b308000d Add automatic gain control for outgoing microphone audio.
This addresses low microphone volume issues by automatically normalizing
outgoing audio levels with dynamic range compression and soft limiting.
The AGC is always enabled and applies voice-optimized parameters to
ensure consistent audio levels are sent to other users while preserving
manual volume control for incoming audio.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-31 15:33:18 -04:00
Storm Dragon
67d6ec2f37 Fix lock copying in handle_error function.
Changed handle_error to accept *Barnard pointer instead of copying struct by value, eliminating race condition warnings from mutex copying.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-28 22:52:35 -04:00
Storm Dragon
5ed445060c Show volume for users. 2025-08-28 22:41:08 -04:00
Storm Dragon
b966106727 Fix audio distortion and improve noise suppression.
- Add saturation protection to prevent crackling at high volume boost levels
- Implement keyboard click detection using energy spike analysis
- Reduce aggressive noise suppression parameters to prevent audio artifacts
- Apply stronger suppression specifically for detected keyboard clicks while preserving voice quality

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 03:50:14 -04:00
Storm Dragon
df7159bad1 Initial noise suppression added. 2025-08-16 21:29:52 -04:00
Storm Dragon
657ff1dbef Fixed muting so that it should be consistant. meaning, if a muted user leaves and comes back they should still be muted. Channel mute and unmute now specifically sets mute/unmute for each user so the whole channel is in deed muted or unmuted. 2025-07-05 18:25:29 -04:00
Storm Dragon
d9c51c506c Memorial message. 2025-06-13 17:45:30 -04:00
Storm Dragon
8b3abff46f Small fix to sounds. 2025-06-12 03:19:15 -04:00
Storm Dragon
4947b97b1d F8 resets user to default 1.0 volume. 2025-06-12 03:01:44 -04:00
Storm Dragon
fac8c8bfad new command for fifo interaction status. 2025-06-12 02:22:11 -04:00
Storm Dragon
8c62babd48 Make sure channels are initialized to unmuted when you join. 2025-01-29 00:51:13 -05:00
Storm Dragon
c7362dfc36 Now when people join after a channel has been muted the will be muted too. 2025-01-29 00:24:59 -05:00
Storm Dragon
356ff5a3a8 Muting a channel now stops you from transmitting, it acts sort of like deafen. 2025-01-16 17:47:39 -05:00
Storm Dragon
2e337db3c5 Updated everything for dependencies. All sub packages are now part of the project. This was a massive update, hopefully won't have to be reverted. 2025-01-16 17:03:01 -05:00
Storm Dragon
a5c0e7a71c Added mute option. It can work per user or per channel, so covers deafen functionality too. 2025-01-16 13:36:46 -05:00
Storm Dragon
46d0cbf8f5 Updated .gitignore. 2025-01-15 23:47:57 -05:00
Storm Dragon
b374cec7cb Added .gitignore. 2025-01-15 23:46:00 -05:00
Storm Dragon
37b6f3865c oops, didn't mean to push the binary. 2025-01-15 23:44:47 -05:00
Storm Dragon
3f0246a4f8 Initial commit, lots of cleanup and stuff to do, it may not work. 2025-01-15 23:43:44 -05:00