The codec now drives its formant filter with raw impulses at its own sample rate, like classic LPC speech chips, instead of a smoothed oscillator. At 8 and 11 kHz the pitch snaps to the sample grid and aliases for a buzzier, grittier sound; 44 kHz stays clean.
The codec output is now held sample by sample back to the playback rate, with no smoothing filter, giving low rates the stepped, aliased edge of old speech chips.
New Loudness section: Maximize input levels the voice to a loud, consistent level and limits it before the codec; Maximize output does the same after the codec and Mix, holding peaks under a ceiling (default −1 dBFS). Both are on by default with +6 dB drive, and presets leave them unchanged.
Verified with offline DSP checks (a quiet voice comes out around −14 dBFS RMS and peaks never pass the ceiling) and in the iOS simulator. The sound has not been compared by ear against the real Bitspeek plug-in.
Normal playback no longer creates the audio engine's microphone input; only calls use it. This is a suspected cause of error 2003329396 on a fresh install, not a confirmed one.
If the engine still won't start, Nowo now retries on a brand-new audio engine (clearing any leftover call state), then without Bitspeek, before giving up.
If the audio engine can't start at all, the built-in system voice now speaks directly, without effects, instead of failing.
When playback can't start, the Bitspeek screen lists every attempt with the audio session, route, microphone permission and iOS version, plus a Copy diagnostics button.
Tested in the iOS simulator by forcing each failure step. The real cause on the iPhone is not yet confirmed.
Build 53 · 1.0
The sample voice is now bundled as raw PCM and converted by the same code as Deepgram replies, instead of being decoded from MP3 by Core Audio, which can fail on iPhone with error 2003329396.
If the audio engine fails to start twice, Nowo now retries without the Bitspeek unit so voices still play, and the Bitspeek screen shows the exact error.
If the sample still cannot play, the message names the step that failed (loading the sample, the audio session or the engine start) and the error code.
Verified in the iOS simulator, including a forced run without the Bitspeek unit. The original error happened on a physical iPhone and was not reproduced here, so the fix is not yet confirmed on device.
Build 52 · 1.0
Bitspeek voice codec is now the first item in Settings and is always shown. Before, it was hidden unless Use Deepgram voices was on.
The built-in system voice now plays through Nowo's voice effects (Bitspeek, reverb and EQ) instead of bypassing them, with the same fades as generated replies.
Deepgram and Vogent voice previews and Voice Agent provider previews now play with Bitspeek applied.
Bitspeek reserves a larger render buffer, so bigger audio requests (for example after switching to a Bluetooth headset) are processed instead of being refused.
Still not covered: Vogent's browser fallback for workspaces that don't use LiveKit.
Verified in the iOS simulator (live graph, sample loop, system voice and preview checks) and with 61 offline DSP checks. Not yet tested on a physical iPhone; the reported audio errors have not been reproduced or identified.
Build 51 · 1.0
Adds Bitspeek (Settings › Bitspeek voice codec), a pitch-excited linear-prediction codec modelled on Sonic Charge Bitspeek. It rebuilds the AI voice from its pitch, volume, formants and voiced/noise balance using an oscillator, noise and a formant filter.
All of Bitspeek's controls: Rate (8, 11, 22 or 44 kHz), Frame Rate (Stop to Full at 80 Hz), Sync with 1/1 to 1/64 note lengths at a set tempo, MIDI, Pitch (±36 semitones with 1-cent fine tune), Tracking (0–200%), Detune (0–1200 cents), Noise (±100%), Mix and Legacy mode, plus 10 presets and a live formant display.
MIDI mode plays the voice from a USB or Bluetooth MIDI keyboard, another app's MIDI output, or the on-screen keys. The pitch wheel bends one octave each way and the sustain pedal freezes frames.
Loop sample voice plays a bundled voice recording continuously through Bitspeek, reverb and EQ, so every change is heard while you tune it.
Bitspeek runs before reverb and EQ on Deepgram replies, Voice Agent audio, response cues and native LiveKit Vogent calls. It does not change the built-in system voice or Vogent's browser fallback for non-LiveKit workspaces.
First build signed by Gigabizon, as com.gigabizon.nowo. It installs as a separate app beside the old Duobase Nowo, so API keys, settings and memories need to be set up again.
Verified with 61 offline DSP checks and an engine probe in the iOS simulator. Not yet tested on a physical iPhone, with live Deepgram or Vogent audio, or with a hardware MIDI keyboard.