Instead of voice.synthesize() (which doesn't accept speaker_id in the installed version), we now call the three lower-level methods directly β phonemize β phonemes_to_ids β synthesize_ids_to_raw β and set the WAV header ourselves. The WAV header being set upfront also fixes the secondary 'channels not specified' crash.0