Ascend 310B DDSP Model Suite
This repository publishes the verified model artifacts used by the Ascend 310B
music workstation in Ascend310/samples/case3. Model files are kept at the
repository root so ONNX, PyTorch, OM, JSON, and runtime assets remain easy to
inspect together.
The current main branch contains all 31 formally published OM models across
Piano-DDSP, MIDI-DDSP, and DDSP-VST. Experimental conversions, rejected
precision modes, MIDI test files, rendered WAV files, and private task history
are not part of the release.
Model Inventory
| Family | OM count | Published files | Purpose |
|---|---|---|---|
| Piano-DDSP | 4 | ddsp_piano_*-gru-unrolled-fp32-origin.om |
Causal MIDI-conditioned piano control models |
| MIDI-DDSP | 4 | midi_ddsp_expression_*.om, midi_ddsp_synthesis_*.om |
Static Expression and Synthesis migration/benchmark contracts |
| DDSP-VST Control | 22 | <Instrument>_force_fp16.om, <Instrument>_mixed_float16.om |
Stateful real-time timbre control |
| DDSP-VST Feature | 1 | ddsp_vst_feature_mixed_float16.om |
1024-sample pitch and loudness feature extraction |
The 11 DDSP-VST timbres are Bassoon, Clarinet, Flute, Melodica, Saxophone,
Sitar, Trombone, Trumpet, Tuba, Violin, and Vowels. Each control model accepts
state[512], f0_scaled[1], and pw_scaled[1]. The Feature model accepts
audio[1024] at 16 kHz and emits scaled and physical pitch/loudness values.
For DDSP-VST Control, mixed_float16 is the preferred precision: it improved
all four closed-loop error groups for all 11 timbres while keeping median NPU
latency effectively unchanged. Only the mixed-precision Feature OM is
published. Its force-FP16 candidate met the latency target but was rejected
because its pitch output had a large numerical error.
The four MIDI-DDSP OMs are fixed notes32 and frames64 contracts. They prove
conversion and inference compatibility but are not the newer stateful-v2 full
song bundle. midi_ddsp_reverb_ir.npz is the required host-side reverb asset;
it is not an OM model.
Validation
All OM inference and CANN checks were performed on real Ascend 310B hardware, not on the development computer.
| Family | Device validation | Evidence |
|---|---|---|
| Piano-DDSP | Four FP32-origin OMs passed 10,000 continuous frames against ONNX references | validation/model-suite-v1.0.1-gru-unrolled-fp32-origin/full-10000/ |
| MIDI-DDSP | Four OMs loaded and inferred; all outputs were finite and compared against TensorFlow references | validation/midi-ddsp-ascend8t/ |
| DDSP-VST Control | 22/22 OMs passed ATC, load/inference, 1,024-step precision, repeatability, and timing checks | validation/ddsp-vst-ascend8t/summary.md and DDSP_VST_VALIDATION.zip |
| DDSP-VST Feature | Mixed-precision OM passed 1,000-step precision and latency validation with the Violin control OM | validation/ddsp-vst-feature-v1.0.0/ |
The DDSP-VST Control aggregate result covers 11/11 complete timbres and 22/22
successful OMs. Mixed precision reduced median closed-loop NRMSE by 64.17% for
amplitude, 64.25% for effective harmonics, 47.43% for noise, and 46.94% for
state. The Feature model recorded a 10.21 ms P95 latency and maximum physical
errors of 0.141 Hz for pitch and 5.73e-6 dB for loudness.
Raw DDSP-VST ATC logs and summaries are retained without modification in
logs/ddsp_vst/DDSP_VST_ATC_LOGS.zip. Exact device, CANN, tensor contract,
source hash, model hash, and validation details are recorded in the validation
reports. Archives are used here to keep the Hub tree compact without discarding
per-model evidence.
Checksums
SHA256SUMS: original Piano-DDSP source artifacts.OM_SHA256SUMS.txt: Piano-DDSP OM and adjacent contract hashes.MIDI_DDSP_OM_SHA256SUMS.txt: MIDI-DDSP OM and reverb asset hashes.DDSP_VST_OM_SHA256SUMS.txt: all 23 DDSP-VST OM hashes.
Download only the deployable OM release and verify it locally:
hf download zhouxzh/piano-ddsp-ascend310 \
--include "*.om" "midi_ddsp_reverb_ir.npz" "*SHA256SUMS*" \
--local-dir artifacts/ascend310b-ddsp
Pin a commit or immutable tag with --revision for production deployment.
Runtime Boundaries
- OM files target the validated Ascend 310B contracts and require an existing compatible CANN/PyACL runtime.
- Neural models predict control/features. Harmonic synthesis, filtered noise, reverb, MIDI release handling, and audio-device routing remain host-side.
- A successful model download does not establish compatibility with another Ascend SoC or CANN release; use the published validation evidence.
Sources and Licenses
Piano-DDSP model artifacts are licensed under CC BY-NC-SA 4.0 and retain the
MAESTRO and adapted DDSP-Piano notices. MIDI-DDSP and DDSP-VST artifacts retain
their upstream Magenta/Apache-2.0 notices. See LICENSE, LICENSES/, and
THIRD_PARTY_NOTICES.md before redistribution or commercial use.
Upstream and implementation sources:
- Piano-DDSP: https://github.com/zhouxzh/piano-ddsp-pytorch
- MIDI-DDSP: https://github.com/magenta/midi-ddsp
- DDSP-VST: https://github.com/magenta/ddsp-vst
- Ascend deployment: https://github.com/zhouxzh/Ascend310/tree/master/samples/case3