Audio / MIDI
Wave Generator Synth
0.1.4.9
Wave_Generator (Synth) is a polyphonic sound generator / synth application for Windows/Linux/macOS, built on with with a built-in real-time audio engine for generating sine waves, sawtooth and square signals via software
What the project solves
Wave_Generator (Synth) is a polyphonic sound generator / synth application for Windows/Linux/macOS, built on with with a built-in real-time audio engine for generating sine waves, sawtooth and square signals via software
Typical use
- Generations of geometric Lissajous figures (music for eyes)
- Sinus / saw / rectangle signal generation (for testing, education)
- Polyphonic MIDI synth (hardware / DAW controlled)
- Real-time spectral visualization via XY oscilloscope
- Educational tool: DSP algorithms, polyphonic allocation, MIDI
How the application works and what it is for
Overview & Background
Wave Generator (Synth) is a polyphonic software synthesizer with a focus on:
- Visual music: Generating Lissajous figures via XY oscilloscope based on frequencies
- Audio signals: Pure sinus, sawing and rectangular signals for testing and education
- Polyphonic MIDI: Up to 16 votes with full CC mapping and MIDI keyboard control
- Real-time SAP: Oscillators with polyBLEP anti-aliase, per-voice ADSR, soft-clip limiter
- Flexible routing: 2 × buses (A = X, B = Y) with 2 × 2 matrices for L / R output
Use- cases: Generation of geometric patterns for ambient music, audio equipment testing, DSP concepts educational demonstration, calibration sinus generation, MIDI synth controlled by hardware keyboard.
Purpose & Use- Cases
Use- Case A: Lissajous figures (DEMO mode)
- Automatic generation of progressive changing geometric patterns
- X oscillator (BUS A) and Y oscillator (BUS B) creates interesting curves in XY oscilloscope
- Ideal for ambient music, video background, education about sinuses
Use- Case B: Polyphonic MIDI synth
- Connection of the MIDI hardware keyboard
- Allocation of votes (max 8-16), each vote has its own ADSR envelope and phase
- CC mapping (Volume, Modulation, Rotate angle, Bus gain)
Key characteristics
Oscillator Engine
- High-speed craft
- † Frequency: 0.01 Hz - 40 kHz
- IUPAC Name
- IUPAC Name
- ITEM:
- ITEM PolyBLEP anti-aliasing on SAW / RECT
Voice Allocation & Polyphonia
- pdf 1-16 votes (default 8, configurable)
- Ø First- free voice allocator (old voice is stolen if all occupied)
- IRELAND, INDUSTRY, RELEAE, RELEAE, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW, REVIEW
- IBOR
MIDI & Control
- ITEM
- Total number of units (in tonnes)
- ITEM Pitch Bend support
- Select MIDI input port (list of available devices)
Routing & Blending
- ITEM A (default X) and ITEM B (default Y)
- High-speed motor vehicles
- Transformation: Rotate angle, Width (L / R sleeping)
- ITEM Mode: Swap L / R, Flip X / Y, M / S decode
Oscilloscopes
- ITEM Mix XY Scope (L = X, R = Y) with Dot / Line, Normal / Enhanced / Precise modes
- IUPAC Name
- Ideal Colors: Accent color, Hue mode, Preset colors
- ‡ Persistence & opacity control (10-100%)
- ♪ Real-time refresh sync'd with an audio block ♪
Presets & Persistence
- VET SQLite DB storage (port, next to the application)
- EXCIPIENTS Snaphot images (PNG) for each preset
- Free-for-sale
- ITEM / ITEM
- † Persist UI geometry and window status
UI & Graphics
- Free header window with OS-level resize
- kind of
- Icon (Minimize / Close to Tray)
- ITEM Multi- language: CZ / EN / SK (external .localize)
- IG, MID, Audio, Presets, About
User interface
Main window
- Menu bar (File, Tools, Help)
- VCO Tabs: [VCO 0] [VCO 1]... [VCO 9] with per- VCO sliders (freq, coarse, fine, waveform, gain, pan)
- Matrix Panel: 2 × 2 bus routing controls
- ScopeTransformPanel: Rotate, Width, Swap, Flip, M / S controls
- BulkAssignPanel: VCO Mass Modifications (All Gain, All Freq)
- ClickableOscilloscope XYWidget: Mix XY scope visualization
- MeterBar: Master level visualization
- StatusBar: MIDI messages, step counter
Dialogues
- SettingsDialog: UI, MIDI, Audio, Presets, About tables
- MixScopeWindow: Large XY scope (mode, color, opacity, persistence)
- DbPresetPickerDialog: Preset browser, save, load, preview
Presets & Management
- SQLite storage:
- Per- preset: All VCO states, bus matrix, routing config
- Preview PNG: snapshot Mix XY scope per preset
- Metadata: Name, Notes, Created timestamp, Favorite flag
- Export / Import: JSON batch operation
Workflow Scenarios
Scenario 1: Lissajous figures (interactive)
Scenario 2: Polyphonic MIDI synth
Scenario 3: Calibration signal
Keyboard abbreviations
| F6 | Open Mix XY scope window |
|---|---|
| F7 | DEMO ON / OFF mode (car Lissajous) |
| Ctrl + S | Save the current preset |
| Ctrl + L | Load the preset from DB |
| Ctrl +, | Open Settings dialog |
| Ctrl + Q | Quit Application |
Troubleshooting
Without sound
- Check Speaker / Headphone Connection
- Master Gain slider is not 0
- Settings → Audio tab → select the right device
- Check OS mixer (Windows Volume, MacOS Sound)
MIDI keyboard does not respond
- Check the MIDI cable
- Settings → MIDI → Enable [x], select port
- Play note → status bar should show Note-On
- Windows: Device Manager → Sound deviances (MIDI in list?)
Audio is deformed / clipping
- Reduce Master Gain, VCO gains, Bus gains
- Settings → Audio → check Limiter Drive (default 1.2)
- Reduce active VCO or VCO or VCO
CPU tall, lags
- Reduce Visible VCO (Settings → UI → 10 → zdim to 5)
- Reduce Polyphons (8 → 4)
- Turn off mini-scopes (Settings → UI)
- Close other applications
FAQ
- Q: Can sound be exported to WAV?
- A: Not yet (planned). Currently you can upload via the OS audio interface (Stereo Mix, Loopback).
- Q: What is the difference between DEMO mode and manual setting?
- A: DEMO automatically changes the VCO frequency and phase to the creation of a progressive changing Lissajous figure. Manual mode allows full control.
- Q: How much VCO is min / max?
- A: Engine: max 16. UI: The display is configurable (default 10 visible, can be increased to 16 for CPU penalty).
- Q: How to map CC on your own parameter?
- A: Settings → MIDI tab → CC Mapping → [Learn] button, send CC from MIDI device, select Destination from dropdown.
- Q: How to back up presets?
- A: Settings → Presets tab → [Export] → JSON file. For import: [Import] → select JSON.
