{ "format_version": 1, "model_id": "htdemucs", "demucs_version": "4.0.1", "checkpoint_url": "https://dl.fbaipublicfiles.com/demucs/hybrid_transformer/955717e8-8726e21a.th", "coreml_package": "htdemucs_separator_core.mlpackage", "sample_rate": 44100, "channels": 2, "n_fft": 4096, "hop_length": 1024, "segment_samples": 343980, "segment_seconds": 7.8, "segment_frames": 336, "frequency_bins": 2048, "sources": [ "drums", "bass", "other", "vocals" ], "vocals_source_index": 3, "inputs": { "mix": [ 1, 2, 343980 ], "spectrogram": [ 1, 4, 2048, 336 ] }, "outputs": { "spectrogram_stems": [ 1, 4, 4, 2048, 336 ], "waveform_stems": [ 1, 4, 2, 343980 ] }, "preprocessing": [ "Decode to mono or stereo PCM.", "Resample to 44100 Hz.", "Duplicate mono to stereo.", "Pad each chunk to segment_samples.", "Reflect-pad by 1536 samples before STFT, then run normalized Hann STFT with n_fft=4096 and hop_length=1024.", "Drop the final frequency bin and keep centered segment_frames frames." ], "postprocessing": [ "Take vocals_source_index from both Core ML outputs.", "Convert spectrogram real/imag channels back to complex STFT.", "Append the dropped zero frequency bin, pad two frames on both sides, and run normalized Hann ISTFT.", "Remove the 1536-sample STFT pad, add waveform_stems[vocals_source_index], trim original chunk length, and overlap-add chunks.", "Downmix the resulting stereo vocals to mono for voice cloning." ], "files": [ { "path": "htdemucs_separator_core.mlpackage/Data/com.apple.CoreML/model.mlmodel", "bytes": 607390, "sha256": "c8ecef9342b67f9b6b92f5db5a4fd8600fcabfed3676cb8df773115f8d8ad693" }, { "path": "htdemucs_separator_core.mlpackage/Data/com.apple.CoreML/weights/weight.bin", "bytes": 104599040, "sha256": "2575fe7ab6e476b1fb7171d2f103b3b4958ff61aef579ec264430c74816919ff" }, { "path": "htdemucs_separator_core.mlpackage/Manifest.json", "bytes": 617, "sha256": "f58d575dce3a6c2e53e360987f741efc99567374e2a9962214e06151106037c0" } ] }