WakeBuilder transforms a few voice recordings into thousands of training samples:
flowchart TB
subgraph "User Input"
A[1-5 Recordings]
end
subgraph "Augmentation Pipeline"
B[TTS Synthesis<br/>440+ voices]
C[Speed Variations<br/>4 speeds]
D[Pitch Shifting<br/>5 pitches]
E[Volume Changes<br/>4 levels]
F[Noise Addition<br/>Various SNRs]
end
subgraph "Output"
G[5,000+<br/>Training Samples]
end
A --> B
B --> C --> D --> E --> F --> G
sequenceDiagram
participant User
participant Trainer
participant TTS
participant Augmenter
participant Cache
User->>Trainer: Recordings + Wake Word
par Positive Generation
Trainer->>TTS: Synthesize wake word
TTS-->>Trainer: 440+ voice samples
Trainer->>Augmenter: Augment all samples
Augmenter-->>Trainer: Speed, pitch, volume variations
end
par Negative Generation
Trainer->>TTS: Hard negatives (similar words)
TTS-->>Trainer: Phonetically similar audio
Trainer->>Cache: Load real negatives
Cache-->>Trainer: Pre-processed chunks
end
Trainer->>Trainer: Balance dataset
Trainer->>Trainer: Split train/validation
Trainer-->>User: Ready for training