diff --git a/README.md b/README.md index dff45e3..67a6968 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ A Discord bot that reads messages aloud using [Pocket TTS](https://github.com/ky - ๐Ÿงช **Test Mode**: Separate testing configuration for safe development - ๐Ÿ“ฆ **Auto-updates**: Automatically checks for and installs dependency updates on startup - ๐Ÿ‘‚ **Voice Preview**: Preview voices with `/voice preview` before committing to them -- ๐ŸŽต **Audio Effects**: Apply pitch shift and speed changes to your TTS voice +- ๐ŸŽต **Audio Effects**: 7 different effects to customize your voice (pitch, speed, echo, robot, chorus, tremolo) +- โšก **Unlimited Effects**: Use as many effects as you want (warning shown when >2 active) +- โฑ๏ธ **Processing Indicator**: Shows when audio processing is taking longer than expected ## Prerequisites @@ -130,25 +132,89 @@ Create `.env.testing` by copying `.env.example` and configuring it with your tes ### Audio Effects -Apply pitch shift and speed changes to your TTS voice: +Transform your TTS voice with 7 different audio effects: -- `/effects list` - Show your current effect settings -- `/effects set pitch ` - Change pitch (-12 to +12) - - Positive = higher/chipmunk voice - - Negative = lower/deeper voice - - 0 = normal pitch (default) -- `/effects set speed ` - Change speed (0.5 to 2.0) - - Higher = faster speech - - Lower = slower speech - - 1.0 = normal speed (default) -- `/effects reset` - Reset all effects to defaults +#### Available Effects: -**Note**: You can use up to 2 effects simultaneously. More effects require more processing time. +**๐ŸŽต Pitch** (`/effects set pitch `) +- Range: -12 to +12 semitones +- Default: 0 (no change) +- Positive = higher/chipmunk voice +- Negative = lower/deeper voice + +**โšก Speed** (`/effects set speed `) +- Range: 0.5 to 2.0 +- Default: 1.0x (normal speed) +- Higher = faster speech +- Lower = slower speech + +**๐Ÿ”Š Echo** (`/effects set echo `) +- Range: 0-100% +- Default: 0% (off) +- Adds spatial delay and reverb effect +- Higher values = more pronounced echo + +**๐Ÿค– Robot** (`/effects set robot `) +- Range: 0-100% +- Default: 0% (off) +- Applies ring modulation for sci-fi robotic voice +- Higher values = more robotic distortion + +**๐ŸŽถ Chorus** (`/effects set chorus `) +- Range: 0-100% +- Default: 0% (off) +- Creates "multiple voices" effect with slight pitch variations +- Higher values = more voices and depth + +**ใ€ฐ๏ธ Tremolo Depth** (`/effects set tremolo_depth `) +- Range: 0.0 to 1.0 +- Default: 0.0 (off) +- Controls amplitude modulation amount +- Higher = more warble/vintage radio effect + +**๐Ÿ“ณ Tremolo Rate** (`/effects set tremolo_rate `) +- Range: 0.0 to 10.0 Hz +- Default: 0.0 Hz (off) +- Controls how fast the tremolo warbles +- Requires tremolo_depth > 0 to have effect + +#### Effect Commands: +- `/effects list` - Show all your current effect settings +- `/effects set ` - Change an effect value +- `/effects reset` - Reset all effects to defaults (with confirmation) + +#### Effect Application Order: +Effects are applied in this sequence: +1. Pitch shift +2. Speed change +3. Echo/Reverb +4. Chorus +5. Tremolo +6. Robot voice + +#### Performance Notes: +- **No limit** on number of active effects +- โš ๏ธ Warning shown when you have more than 2 active effects +- More effects = longer processing time +- Some effects (like pitch shift and chorus) are more CPU-intensive +- Processing time is logged to console for monitoring ### Preview with Effects -Test voice and effect combinations before committing: -- `/voice preview [pitch] [speed]` - Preview a voice with optional effect overrides +Test any combination of voice and effects before committing: + +**Preview a voice:** +- `/voice preview ` - Preview with your current effects + +**Preview with specific effects:** +- `/voice preview pitch:5 speed:1.5` - Preview with pitch +5 and 1.5x speed +- All effect parameters are optional and default to your current settings + +**Example combinations to try:** +- Robot voice: `/effects set robot 75` +- Deep scary voice: `/effects set pitch -8` +- Fast chipmunk: `/effects set pitch 8 speed:1.5` +- Radio announcer: `/effects set echo 40 tremolo_depth:0.3 tremolo_rate:4` ## How It Works diff --git a/bot.py b/bot.py index 1164990..ed332bc 100644 --- a/bot.py +++ b/bot.py @@ -1,4 +1,4 @@ -__version__ = "1.1.0" +__version__ = "1.2.0" import random import sys