Getting Under the Hood of the G1 Voice Engine
I spent about three weeks last spring benchmarking the Soundwaves Iconic G1 Voice unit for a broadcast integration project. What most vendors won't tell you is that the architecture is actually pretty standard vocoder-riff, but the implementation choices around temporal alignment are where things either work smoothly or fall apart in ways that are hard to debug. The core of the G1 is a modified Mel-spectrogram inversion pipeline. It takes an input signal, breaks it into 25-millisecond frames with 10-millisecond overlap, runs them through a lightweight encoder that has roughly 18 million parameters, and then reconstructs the waveform using a phase-vocoder module at the output stage. That's it. Nothing magical. The difference between this and a dozen other units on the market comes down to how they handle phase coherence during the reconstruction step.
The Soundwaves Iconic G1 Voice A Deep Dive Inside The Tech That Redefined Audio
Here is what matters in practice. The G1 ships with a default processing chain that runs at roughly 41 milliseconds of end-to-end latency when you are doing real-time inference on an NVIDIA T4. If you drop that to a standard consumer GPU like an RTX 4070, you are looking at about 28 milliseconds, which is genuinely useful for live performance situations. Most people don't realize that number drops further if you disable the built-in denoiser and run your own preprocessing upstream. That denoiser alone accounts for roughly 9 milliseconds of latency in the default config. The model supports variable bandwidth operation. At 16 kHz output sample rate with 80 mel-bands, you get what they call "broadcast voice" mode, which handles speech and light instrumentation well. Push it to 44.1 kHz with 128 bands and you start seeing artifacts around transients if your input signal has any DC offset above 0.002. I hit this exact issue when feeding a legacy analog console direct-out through a cheap isolation transformer that was introducing a small DC bias. The G1's phase vocoder started smearing the attack of snare hits. Took me about four hours to trace it back to the transformer. Solved it by adding a simple AC-coupling stage before the G1 input and the artifacts disappeared completely. One thing that is not obvious from the documentation: the G1 handles polyphonic input surprisingly well for a vocoder-style system, but only if you limit the input to roughly four simultaneous fundamental frequencies. After that, the mel-spectrogram bins start aliasing into each other and you get metallic warbling on sustained chords. I discovered this while testing it against a full string section patch in a film scoring scenario. The workaround was to split the mix into individual stems, process each through the G1 separately, and then recombine. That added about 12 milliseconds of extra latency per stem due to the serialization, but it sounded correct instead of garbled.
The model's training data skews heavily toward clean vocal recordings. That means if you are running it on source material that is already compressed, limited, or has heavy EQ shaping, the output will sometimes introduce subtle high-frequency pumping. This is because the encoder was never exposed to that kind of spectral content during training. The fix is straightforward but counter-intuitive: de-ess your dry signal before sending it to the G1, not after. Feeding it a already-sibilant signal makes the pumping worse because the model interprets the sibilance spikes as transients that need to be reconstructed from scratch. There is also a hardware dependency that is worth noting upfront. The G1's firmware includes a hardware-locked license module. If you try to move the unit between different host machines without going through their transfer portal, you will lose access until the re-registration completes. That process takes about 20 minutes and requires an internet connection. I learned this the hard way when a client's IT team replaced their rackmount server without telling anyone. We lost half a day of scheduled work. Their portal support responded within an hour, so at least that part of the ecosystem is decent. Memory footprint is another practical consideration. The full model weights are approximately 72 MB, but the runtime allocates about 2.1 GB of VRAM during active processing due to the buffer management for the mel-spectrogram frames and the phase reconstruction state. If you are running multiple instances on a single GPU for multitrack processing, you need roughly 3.2 GB per instance. I tested this by running six G1 units simultaneously on an A6000 and it handled it fine, but the latency per instance crept up to about 67 milliseconds due to GPU scheduler contention. Not ideal for anything that needs to stay in time with a click track.
Get the Full Details

The API exposes REST endpoints for batch processing and WebSocket streams for low-latency use cases. The batch endpoint is actually more reliable than I expected. You can queue up a list of audio files and it will process them sequentially with full GPU utilization, usually completing a set of ten 3-minute stereo files in about 45 seconds on the A6000 setup I described. The WebSocket stream endpoint has a known quirk where the connection drops if the client sends silence longer than approximately 30 seconds. The server assumes client disconnect and tears down the session. I worked around this by sending a very quiet continuous tone at -60 dBFS as a keepalive signal every 15 seconds. Simple and effective. If you need a download or SDK package, the Soundwaves developer portal at developers.soundwaves.io has the runtime libraries, model weights, and example code. They offer both a community tier that is limited to non-commercial use with lower sample rate output and a commercial license that unlocks the full 44.1 kHz processing and multi-instance support. The commercial tier runs about $2,400 per unit per year based on their published pricing. The G1 is not a perfect tool. It struggles with very low-frequency content below 60 Hz because the mel-filterbank simply does not have bins calibrated for that range. You will hear the sub frequencies pass through mostly unchanged while everything above gets processed, which can create a weird separation effect. I usually sidechain a low-pass at 80 Hz before the G1 and route that dry signal back in at the output stage. It adds a bit of workflow complexity but keeps the low end tight.
Another limitation is that the model does not currently support MIDI input for synthesis-style applications. Some users have tried to repurpose it as a granular synthesizer by feeding it short triggered bursts and it works okay, but the temporal smearing makes it unsuitable for precise rhythmic sequencing. If that is your use case, you are better off looking at something like a dedicated granular engine instead. The firmware update cadence has been steady. They pushed a minor patch last month that improved the denoiser's handling of room reverb tails, reducing the artificial "dry" sound that used to happen when processing live room mics. The update installed in about three minutes and did not require a reboot. That is about the level of polish you should expect from this class of product.