evgeny
dc0dbbf720
headless: expose OS-assigned control and audio listener ports
2 weeks ago
evgeny
7f3247bfcc
radio: add activation controls, live VAD meters and signal diagnostics
2 weeks ago
evgeny
44af542f61
chatgui: add radio activation by signal level with hysteresis
2 weeks ago
evgeny
d149bad5fc
radio: keep drain diagnostics at burst boundaries and test queued PCM
2 weeks ago
evgeny
fe7aabb44a
radio: gate automatic VAD through receive and playback drain
2 weeks ago
evgeny
7e19cbaf3a
Add local per-member radio mute controls on desktop and Android
3 weeks ago
evgeny
5b78ec04f6
Move old radio and attachment diagnostics out of debug
3 weeks ago
evgeny
123b47c612
Improve Android VAD lifecycle, audio settings and diagnostics
3 weeks ago
evgeny
a97e8bcc1f
docs: update file inventory and module header contracts
...
Refresh both AGENTS guides and clarify module purpose, usage, ownership, threading, return values and wire formats in headers. Remove the unused timeout_heap freed_count field and unimplemented getter.
3 weeks ago
evgeny
ffd26c56b4
Reduce radio VAD prefetch to 600 milliseconds
3 weeks ago
evgeny
cbee3da2c9
Add independent compressor branch before radio VAD
3 weeks ago
evgeny
bd082a26bf
Раздели аудиопотоки и привяжи AEC к фактическому общему выходу
3 weeks ago
evgeny
40b974b29c
Исправь потоковый AGC и применяй mute после AEC
3 weeks ago
evgeny
bdcf8b5634
Сохрани накопленные исправления аудио, async и диагностики
3 weeks ago
evgeny
2d21c53b4b
Improve call buffering, CM handle lifecycle and radio PTT controls
4 weeks ago
evgeny
0d44ada922
Improve Android radio capture lifecycle, VAD and PTT controls
4 weeks ago
evgeny
1176411b79
radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
4 weeks ago
evgeny
fdec5b65c5
Add independent radio compressor and Android audio controls
4 weeks ago
evgeny
ce1f23fe46
Radio: stereo capture/playback with mono fallback; CAMCORDER source; bump RADIO_MAX_OPUS
...
- stereo capture: Android AudioRecord stereo (CAMCORDER source for stereo,
voice sources fall back to CAMCORDER) + desktop separate miniaudio
capture/playback devices (no asymmetric duplex)
- Opus stereo encode/decode, voice_jitter stereo (per-channel frame_size,
slot-based SoundTouch)
- radio_audio_start takes explicit capture_channels (stereo->mono fallback)
- RADIO_MAX_OPUS 256->512 (128kbps stereo frames up to 320B)
- radio_capture_stereo setting + desktop radio settings UI (opus mode/bitrate,
capture stereo)
- radio_send_to send stats logging (etcp_send ok/fail per second)
4 weeks ago
evgeny
331970a121
Radio: Opus mode/bitrate + mic source + PTT release tail; drop online status from member JSON
4 weeks ago
evgeny
3131dcbb7c
Fix ETCP session recovery and router lifecycle; confirm chat invites before publishing
4 weeks ago
evgeny
a7a3666d85
radio: AGC release-rate (без кликов), jitter dead-zone, TX/RX-статистика, FGS-гонка и кэш настроек
1 month ago
evgeny
ba1c2d85d3
reality_relay: async DNS вместо getaddrinfo + AGC-компрессор по умолчанию (-12 dBFS)
1 month ago
evgeny
738cfe7835
radio: адаптивный джиттер-буфер (pre-roll, симметричный темп, reorder) + AGC-компрессор микрофона
...
- voice_jitter: vj_create_cfg (target_ms/min_tempo/max_tempo/pre_roll), pre-roll
с таймаутом, vj_end для дренажа остатка, глубина учитывает внутренний буфер SoundTouch
- radio_audio: reorder по seq (mesh, out-of-order через соседей), force-flush pending
по таймауту и FIN, компрессор микрофона (AGC, конфиг [chatserver]), статистика буфера
- audio_compressor: clear_output для потокового слива без потери gain_smoothed
- chatgui messagelist: fromUtf8 для emoji-строк
- тесты: pre-roll/симметричный темп, reorder, late-drop
1 month ago
evgeny
b33caa56b8
uasync: pass socket name to all add_socket call sites
1 month ago
evgeny
6b92964794
radio/android: PTT FGS microphone permission + детект потери микрофона
...
- FOREGROUND_SERVICE_MICROPHONE запрос + foregroundServiceType microphone|specialUse (Android 14+)
- RadioOverlayService.start: не стартовать без mic-разрешения, ServiceCompat.startForeground с TYPE_MICROPHONE
- RadioAudioEngine: micDead-флаг и лог при обрыве captureLoop/read
- radio.c: лог первого кадра burst на транзитных узлах
- SettingsScreen: категория radio в списке debug-категорий
1 month ago
evgeny
8a9184675a
radio: дедупликация дублей в mesh + фикс OOB в hop_list
...
- radio_recv: кэш (src,stream,seq) с TTL 2с гасит кадры, пришедшие по второму пути (diamond/mesh)
- фикс записи за границу new_hops[hop_count] при hop_count==RADIO_MAX_HOPS
- счётчик c_dup_dropped + radio_dup_dropped() для диагностики
- тест test_radio_mesh (4 узла, diamond): C получает ровно N кадров, dup>0
1 month ago
evgeny
b96ed8bd00
radio: PTT-радио в каналах (src/radio + chatgui + chatgui-android)
...
Новый модуль src/radio (radio/radio_audio/radio_headless) — push-to-talk
радио поверх topo-групп, доставка аудио в канал, headless-режим и тесты.
Интеграция в chatgui (ptt_hotkey_manager, radio_audio_engine, радионастройки,
вызовы) и chatgui-android (RadioAudioEngine, RadioOverlayService, UI).
1 month ago