This website requires JavaScript.
95ef0be1f4
Complete UDP audio protocol handling
Brandon McGinty (chatgpt)
2026-08-09 13:22:22 -04:00
4ad22db5aa
Keep jitter playback moving after local drops
Brandon McGinty (chatgpt)
2026-08-09 13:17:10 -04:00
f09c234ead
Preserve full stereo playback frames
Brandon McGinty (chatgpt)
2026-08-09 13:16:52 -04:00
7d7d59649b
Harden UDP audio transport and logging
Brandon McGinty (chatgpt)
2026-08-09 13:14:48 -04:00
64d0ef6f0f
Avoid treating capture timing as microphone failure
Brandon McGinty (chatgpt)
2026-08-09 12:58:15 -04:00
5db174e92f
Clarify OpenAL backend selection
Brandon McGinty (chatgpt)
2026-08-09 12:58:00 -04:00
e1d8cad061
Deactivate OpenAL context before destroying it
Brandon McGinty (chatgpt)
2026-08-09 12:58:00 -04:00
27e8fc7232
Release queued OpenAL buffers on stream shutdown
Brandon McGinty (chatgpt)
2026-08-09 12:57:37 -04:00
4914182812
Respect OpenAL capture availability
Brandon McGinty (chatgpt)
2026-08-09 12:57:26 -04:00
db31ba33de
Render file playback through the OpenAL owner
Brandon McGinty (chatgpt)
2026-08-09 12:56:40 -04:00
8c0887d562
Serialize OpenAL playback on a dedicated thread
Brandon McGinty (chatgpt)
2026-08-09 12:55:55 -04:00
0f2eb4408f
Fix protobuf varint encoding in 1.5 UDP protocol
Brandon McGinty (deepseek)
2026-08-09 03:09:40 -04:00
e61ebdae38
Align UDP code with udp_encryption.md spec
Brandon McGinty (deepseek)
2026-08-09 02:57:52 -04:00
cd32abaaef
Add UDP encryption & protocol versioning reference document
Brandon McGinty (deepseek)
2026-08-09 02:47:33 -04:00
e93437a212
Handle legacy UDPVoiceOpus format (type 0x80) inside 1.5 crypto
Brandon McGinty (deepseek)
2026-08-09 02:40:48 -04:00
e6806a7521
Promote decrypt/protobuf logs from Debug to Info level
Brandon McGinty (deepseek)
2026-08-09 02:38:11 -04:00
81347893d7
Fix decrypt15 IV advancement to match wumble's decrypt logic
Brandon McGinty (deepseek)
2026-08-09 02:33:52 -04:00
e93087afeb
Fix udp15Server decrypt IV: use server_nonce, not client_nonce
Brandon McGinty (deepseek)
2026-08-09 02:30:28 -04:00
4c7731043c
Add missing 0x00 type byte to outbound MumbleUDP.Audio packets
Brandon McGinty (deepseek)
2026-08-09 02:25:29 -04:00
266f1fce73
Fix IV increment direction and OCB decrypt checksum
Brandon McGinty (deepseek)
2026-08-09 01:11:56 -04:00
63941f7785
Fix double tone-generator start in tone-test mode
Brandon McGinty (deepseek)
2026-08-09 01:02:53 -04:00
5b9b3ad421
Fix nil udpConn race in WriteAudioUDP15, reduce log noise
Brandon McGinty (deepseek)
2026-08-09 00:58:50 -04:00
50987d412c
Switch UDP to Mumble 1.5 native protocol (matching wumble)
Brandon McGinty (deepseek)
2026-08-09 00:51:21 -04:00
e1468cd204
Add verbose packet-level logging throughout UDP audio pipeline
Brandon McGinty (deepseek)
2026-08-09 00:36:31 -04:00
819ed6931d
Add -tcp flag to disable UDP and force audio through TCP tunnel
Brandon McGinty (deepseek)
2026-08-09 00:30:27 -04:00
8967fdff1a
Fix nil b.Stream dereference in tone-test mode
Brandon McGinty (deepseek)
2026-08-09 00:24:44 -04:00
29be821155
Add --tone-test mode: 440 Hz Opus tone + incoming audio capture
Brandon McGinty (deepseek)
2026-08-09 00:19:41 -04:00
b2a1d2f846
fix: add OpenAL device open logging and nil pointer safety
Brandon McGinty (deepseek)
2026-08-08 23:45:55 -04:00
a24fca382d
chore: update config for vsink virtual mic
Brandon McGinty (deepseek)
2026-08-08 23:30:08 -04:00
41500f2c54
chore: add example config for bmc-beta test bot
Brandon McGinty (deepseek)
2026-08-08 23:01:35 -04:00
b861193306
feat: add -auto-transmit flag to start transmitting on connect
Brandon McGinty (deepseek)
2026-08-08 22:52:27 -04:00
3ca57a847c
fix: improve CryptSetup and UDP receive logging
Brandon McGinty (deepseek)
2026-08-08 22:50:12 -04:00
5984989ea7
fix: skip TCP-tunneled audio when UDP is active to prevent double-processing
Brandon McGinty (deepseek)
2026-08-08 22:42:18 -04:00
0ecdbf988f
fix: start UDP socket before connection handshake to avoid race
Brandon McGinty (deepseek)
2026-08-08 22:37:53 -04:00
53918788f7
feat: add -logfile flag to write logs to a file
Brandon McGinty (deepseek)
2026-08-08 22:33:23 -04:00
e483512f74
feat: add structured logging throughout audio pipeline
Brandon McGinty (deepseek)
2026-08-08 22:19:42 -04:00
a218493eb0
fix: correct OCB implementation to OCB2 (Mumble-compatible)
Brandon McGinty (deepseek)
2026-08-08 21:53:22 -04:00
6a6f94a11d
feat: add UDP audio transport with OCB-AES128 encryption
Brandon McGinty (deepseek)
2026-08-08 21:40:09 -04:00
3e98e93cfb
fix: move reclaim() outside processAudioPacket to fix buffer corruption
Brandon McGinty (deepseek)
2026-08-08 21:19:26 -04:00
0858cd3542
fix: add jitter buffer, sequence tracking, and mic error reporting
Brandon McGinty (deepseek)
2026-08-08 21:02:33 -04:00
9dd0137975
fix: add synchronization to User audio fields to prevent data races
Brandon McGinty (deepseek)
2026-08-08 20:58:53 -04:00
1bdd7ac52e
fix: fix data race on micVolume field
Brandon McGinty (deepseek)
2026-08-08 19:59:07 -04:00
676c27fe30
fix: reset stereo encoder state when disabling stereo mode
Brandon McGinty (deepseek)
2026-08-08 19:59:03 -04:00
cd968d7530
fix: fix double channel-counting in Opus decoder buffer allocation
Brandon McGinty (deepseek)
2026-08-08 19:38:39 -04:00
80580d2a3c
fix: close audio stream channels on disconnect and add Opus PLC
Brandon McGinty (deepseek)
2026-08-08 19:38:35 -04:00
181b325c2d
fix: add minimum Opus bitrate floor in encoder
Brandon McGinty (deepseek)
2026-08-08 19:18:35 -04:00
64a3ea6c32
fix: add minimum AudioDataBytes floor for low-bandwidth servers
Brandon McGinty (deepseek)
2026-08-08 19:18:23 -04:00
1bdf15e8e1
fix: reduce AGC aggressiveness to prevent noise amplification
Brandon McGinty (deepseek)
2026-08-08 19:18:03 -04:00
5c1cd69d65
fix: configure Opus encoder bitrate from available bandwidth
Brandon McGinty (deepseek)
2026-08-08 19:17:31 -04:00
679127bcf1
fix: always use mono Opus encoder for voice transmission
Brandon McGinty (deepseek)
2026-08-08 19:17:01 -04:00
dfa184211e
fix: reset Opus decoder on packet loss and decode errors
Brandon McGinty (deepseek)
2026-08-08 19:15:53 -04:00
30a02eba14
Major updates to barnard-ui. Fixed several bugs, changed server file format. Old ~/.config/barnard/servers.conf should be removed before running barnard-ui after this change.
Storm Dragon
2026-07-14 19:31:56 -04:00
7fed25e8d0
Fix chat redraw and input history
Storm Dragon
2026-07-14 19:08:38 -04:00
9bc514e74f
Remove voice effects
Storm Dragon
2026-07-14 18:41:50 -04:00
e1ae5abab9
Use HOME for Barnard config path
Storm Dragon
2026-06-29 20:34:14 -04:00
342f934029
Improve action menu escape handling
Storm Dragon
2026-06-28 23:57:29 -04:00
5ac6703489
Use RNNoise for noise suppression
Storm Dragon
2026-06-28 23:15:09 -04:00
c54a5b42b0
Fixed deamon spelling to daemon to match fix in fenrir.
Storm Dragon
2026-05-21 12:38:08 -04:00
1f1f72202e
Hopefully fixed notification regression.
Storm Dragon
2026-05-20 18:36:49 -04:00
cc483685ef
Add actions menu admin features
Storm Dragon
2026-05-19 01:06:01 -04:00
eef7454c0f
Notifications for recording.
Storm Dragon
2026-05-15 20:56:46 -04:00
81a928e122
Update stale Go dependencies
Storm Dragon
2026-05-14 12:21:15 -04:00
2bd43989a7
Merge recording feature
Storm Dragon
2026-05-14 00:43:04 -04:00
69674a0dab
Add standards-aware recording
Storm Dragon
2026-05-14 00:42:30 -04:00
e84cb67500
Noise suppression tweaks.
Storm Dragon
2026-02-21 02:08:55 -05:00
3db526f42b
Noise suppression tweaks.
Storm Dragon
2026-02-21 02:08:30 -05:00
e3b6eac2a0
Support for stereo mic.
2026.02.09
Storm Dragon
2026-02-09 22:33:17 -05:00
cfbefd3f7d
Updated barnard to use openal for sound by default. This should bring with it pipewire or pulseaudio support.
Storm Dragon
2025-12-16 15:44:10 -05:00
9fe7d7ad87
Lol follow shellcheck suggestions too closely. The ui should work again.
Storm Dragon
2025-12-12 21:37:48 -05:00
0700264afe
Work on supporting and using certificates.
Storm Dragon
2025-12-12 18:34:23 -05:00
331055ab18
Got too trigger happy with the deleting when I fixed the username stuff. Should be back to working now.
Storm Dragon
2025-12-12 17:07:18 -05:00
6d1944d155
Forgot to fix barnard-us, now usernames should work again.
Storm Dragon
2025-12-12 16:15:41 -05:00
e3f90a76c0
Fix problem with not being notified of disconnects.
Storm Dragon
2025-12-12 15:13:37 -05:00
dd425563ba
Experimental changes, switched to toml instead of yaml. Hopefully everyone will like this as much as I do.
Storm Dragon
2025-12-10 20:52:37 -05:00
bb80b13c36
A minor tweak in volume.
Storm Dragon
2025-12-10 11:20:08 -05:00
01da54882e
Boost microphone a bit so we get volumes more like actual mumble.
Storm Dragon
2025-12-10 11:14:52 -05:00
6191132620
Move time stamps to the end of the message instead of the beginning.
Storm Dragon
2025-11-30 20:41:44 -05:00
fae372bb78
Added /file and /stop commands.
Storm Dragon
2025-11-30 20:31:06 -05:00
f96cb1f79b
Add real-time voice effects for outgoing audio
Storm Dragon and Claude
2025-10-13 16:27:08 -04:00
82b308000d
Add automatic gain control for outgoing microphone audio.
Storm Dragon and Claude
2025-08-31 15:33:18 -04:00
67d6ec2f37
Fix lock copying in handle_error function.
Storm Dragon and Claude
2025-08-28 22:52:35 -04:00
5ed445060c
Show volume for users.
Storm Dragon
2025-08-28 22:41:08 -04:00
b966106727
Fix audio distortion and improve noise suppression.
Storm Dragon and Claude
2025-08-20 03:50:14 -04:00
df7159bad1
Initial noise suppression added.
Storm Dragon
2025-08-16 21:29:52 -04:00
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.
Storm Dragon
2025-07-05 18:25:29 -04:00
d9c51c506c
Memorial message.
Storm Dragon
2025-06-13 17:45:30 -04:00
8b3abff46f
Small fix to sounds.
Storm Dragon
2025-06-12 03:19:15 -04:00
4947b97b1d
F8 resets user to default 1.0 volume.
Storm Dragon
2025-06-12 03:01:44 -04:00
fac8c8bfad
new command for fifo interaction status.
Storm Dragon
2025-06-12 02:22:11 -04:00
8c62babd48
Make sure channels are initialized to unmuted when you join.
Storm Dragon
2025-01-29 00:51:13 -05:00
c7362dfc36
Now when people join after a channel has been muted the will be muted too.
Storm Dragon
2025-01-29 00:24:59 -05:00
356ff5a3a8
Muting a channel now stops you from transmitting, it acts sort of like deafen.
Storm Dragon
2025-01-16 17:47:39 -05:00
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.
Storm Dragon
2025-01-16 17:03:01 -05:00
a5c0e7a71c
Added mute option. It can work per user or per channel, so covers deafen functionality too.
Storm Dragon
2025-01-16 13:36:46 -05:00
46d0cbf8f5
Updated .gitignore.
Storm Dragon
2025-01-15 23:47:57 -05:00
b374cec7cb
Added .gitignore.
Storm Dragon
2025-01-15 23:46:00 -05:00
37b6f3865c
oops, didn't mean to push the binary.
Storm Dragon
2025-01-15 23:44:47 -05:00
3f0246a4f8
Initial commit, lots of cleanup and stuff to do, it may not work.
Storm Dragon
2025-01-15 23:43:44 -05:00