Turn Discord mic processing off for TTS playback
This commit is contained in:
@@ -63,6 +63,7 @@ Event line:
|
||||
| `voice.leave` | none | Leaves the current voice channel. |
|
||||
| `voice.move` | `channelId` | Moves the client to another voice channel. |
|
||||
| `voice.devices` | none | The client's input and output audio devices. |
|
||||
| `voice.processing` | optional `noiseSuppression`, `echoCancellation`, `automaticGainControl`, `noiseCancellation`, `inputVolume` | Reads and sets Discord's microphone processing gates. Omitting the booleans turns every supported gate off; returns the previous and current state. Voice joins apply it automatically. |
|
||||
| `voice.setDevices` | optional `inputDeviceId`, optional `outputDeviceId` | Sets the client devices. |
|
||||
| `user.search` | `query`, optional `guildId`, optional `limit` | Users from the client cache. Guild members when `guildId` is set. |
|
||||
| `dm.list` | optional `limit` | Cached DM and group DM channels with recipients, icons, and avatars. Cache-only. |
|
||||
|
||||
@@ -55,6 +55,12 @@ Voice audio uses the system audio stack, not Discord internals. The daemon owns
|
||||
| `veskslop_mic` | remap source of `veskslop_tts.monitor` | The client microphone |
|
||||
| `veskslop_capture` | null sink | Client output, recorded by the daemon |
|
||||
|
||||
Discord's own microphone processing fights a TTS line: **automatic gain control** ramps the volume
|
||||
up over the first words (so the start is quiet or clipped), and echo/noise cancellation gates the
|
||||
first syllable. The core reads and turns those gates off (`voice.processing`; MCP
|
||||
`set_voice_processing`), and every `voice.join` applies it automatically before connecting. Discord
|
||||
stores these per client, not per account, so a user's own app is unaffected.
|
||||
|
||||
The host needs a sound server. On Debian and Ubuntu:
|
||||
|
||||
```sh
|
||||
|
||||
Reference in New Issue
Block a user