musescore / musescore/MuseScore
DLS for MIDI support?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 15.1k
- Forks
- 3.3k
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 91
Description
Your idea
As far as I can tell MuseScore currently only supports SF2/SF3 SoundFonts.
However for retro console music creation and modding DLS seems to be used. At least that's what seems to be exported by the N64 Sound List Tool. While DLS and SF2 should be very similar, at least on Linux there does not seem to be a native tool to convert between the two. Therefore it would be great, if MuseScore could natively support DLS, to ease creating ones own retro console music with MuseScore.
A similar request seems to have been filed in the forum some years ago: https://musescore.org/en/node/101931
The DLS specification can be found free of charge here: https://midi.org/dls
Problem to be solved
Being able to use DLS directly in MuseScore would avoid the inconvenient(/incomplete?) conversion solutions to SF2.
Prior art
There is an unofficial timidity fork which claims to have added DLS support. But I couldn't compile it on Linux, the autotools build files seem broken: https://github.com/starg2/timidity41
I could partially use DLS files with fluidsynth on Linux, but two drum tracks were missing / inaudible from the matching MIDI file I had tried:
The furthest I have gotten is using this website https://spessasus.github.io/SpessaSynth/. I could then import the SF2 + MIDI file. The drum tracks, which are more brief voice samples in my example and which were absent with fluidsynth, were audible but had the wrong octave. I also couldn't change/correct their octave in MuseScore, probably because these drums are in the "unpitched percussions" section?
(I would love to provide the DLS + MIDI files that I tried to get into MuseScore here, but I don't have a license to publically share them. I have legally obtained and bought the product containing them though.)
Additional context
No response
Checklist
- This request follows the guidelines for reporting issues
- I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no MuseScore files, tests, or entry points. Start by reviewing the existing SF2/SF3 SoundFont support and the linked DLS specification; done means MuseScore can use DLS files directly, including the reported percussion behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100