babysor/MockingBird · error · Exception

Please load Wave-RNN in memory before using it

Error message

Please load Wave-RNN in memory before using it

What it means

Wave-RNN inference is also module-global: infer_waveform requires load_model() to have populated `_model`; calling it before that raises this Exception.

Source

Thrown at models/vocoder/wavernn/inference.py:58

def is_loaded():
    return _model is not None


def infer_waveform(mel, normalize=True,  batched=True, target=8000, overlap=800, 
                   progress_callback=None):
    """
    Infers the waveform of a mel spectrogram output by the synthesizer (the format must match 
    that of the synthesizer!)
    
    :param normalize:  
    :param batched: 
    :param target: 
    :param overlap: 
    :return: 
    """
    if _model is None:
        raise Exception("Please load Wave-RNN in memory before using it")
    
    if normalize:
        mel = mel / hp.mel_max_abs_value
    mel = torch.from_numpy(mel[None, ...])
    wav = _model.generate(mel, batched, target, overlap, hp.mu_law, progress_callback)
    return wav, hp.sample_rate

View on GitHub (pinned to 28dc5e14f1)

Solutions

  1. Call wavernn.inference.load_model(path) first
  2. Validate the checkpoint path exists
  3. Use is_loaded() to gate synthesis

Example fix

# before
wav = wavernn.infer_waveform(mel)

# after
wavernn.inference.load_model(Path('models/vocoder/wavernn/checkpoint.pt'))
wav = wavernn.infer_waveform(mel)
Defensive patterns

Strategy: validation

Validate before calling

from models.vocoder import wavernn
if not wavernn.is_loaded():
    wavernn.load_model(Path('models/vocoder/wavernn/checkpoint.pt'))

Type guard

def wavernn_ready() -> bool:
    from models.vocoder.wavernn import inference
    return inference._model is not None

Try / catch

try:
    wav, sr = wavernn.infer_waveform(mel)
except Exception as e:
    if 'load Wave-RNN' in str(e):
        wavernn.load_model(ckpt); wav, sr = wavernn.infer_waveform(mel)
    else: raise

Prevention

When it happens

Trigger: Calling wavernn.inference.infer_waveform(mel, ...) before load_model(weights_fpath) in the process.

Common situations: Synthesis scripts that forget vocoder init; model load failed silently due to bad path; fresh notebook session after restart.

Related errors


AI-assisted analysis of babysor/MockingBird@28dc5e14f1 (2026-08-27). Data as JSON: /api/errors/d86c712f0d550dde. Report an issue: GitHub.