#11017: Enhancing FFmpeg's playback support for MIDI files and other 
"instrument-
free" music formats
-------------------------------------+----------------------------------
             Reporter:  peteroupc    |                    Owner:  (none)
                 Type:  enhancement  |                   Status:  new
             Priority:  normal       |                Component:  ffmpeg
              Version:  unspecified  |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+----------------------------------
Description changed by peteroupc:

Old description:

> The following is a request to enhance FFmpeg's support for playing MIDI
> files (.mid).
>
> Currently, FFmpeg relies on `libmodplug` to synthesize MIDI, MOD, and
> other music formats to audio.  However, `libmodplug` appears not to be
> actively developed; the last commit at the time of writing was made in
> January 30, 2022, so more than two years ago.  Since future development
> on `libmodplug` is not forthcoming, and I don't know FFmpeg's plans to
> adopt a replacement for that library, I file this enhancement request.
>
> The following are features I would like FFmpeg to support, to the extent
> that it's not already supported:
>
> - Support for software synthesis of MIDI files using other instrument
> source formats besides Timidity's patch format (e.g., downloadable sounds
> [DLS]; SoundFont2 .sf2; OPL2, OPL3, and other FM instrument banks).  In
> this sense, the source code in the projects ''fluidsynth'',
> ''libADLMIDI'', ''libOPNMIDI'', and ''OPL3BankEditor'' may be useful
> here.  Moreover, Timidity's patch format appears to support SoundFont 2
> already, but it's cumbersome in `libmodplug` to specify a directory
> containing `timidity.cfg` as opposed to specifying the SoundFont file
> (.sf2) directly.
> - Seeking of MIDI files such that a pause and resume function can be
> offered by a media player.
> - Support for popular looping conventions seen in MIDI files.
>
> This request also applies to .abc and other "instrument-free" music
> formats as it does to MIDI files.
>
> Just as an aside, a public-domain music synthesis library and instrument
> banks (https://peteroupc.github.io/music.html) would greatly help improve
> MIDI playback support across the open-source ecosystem; however, I don't
> insist on that for purposes of this issue.

New description:

 The following is a request to enhance FFmpeg's support for playing MIDI
 files (.mid).

 Currently, FFmpeg relies on `libmodplug` to synthesize MIDI, MOD, and
 other music formats to audio.  However, `libmodplug` appears not to be
 actively developed; the last commit at the time of writing was made in
 January 30, 2022, so more than two years ago.  Since future development on
 `libmodplug` is not forthcoming, and I don't know FFmpeg's plans to adopt
 a replacement for that library, I file this enhancement request.

 The following are features I would like FFmpeg to support, to the extent
 that they're not already supported:

 - Support for software synthesis of MIDI files using other instrument
 source formats besides Timidity's patch format (e.g., downloadable sounds
 [DLS]; SoundFont2 .sf2; OPL2, OPL3, and other FM instrument banks).  In
 this sense, the source code in the projects ''fluidsynth'',
 ''libADLMIDI'', ''libOPNMIDI'', and ''OPL3BankEditor'' may be useful here.
 Moreover, Timidity's patch format appears to support SoundFont 2 already,
 but it's cumbersome in `libmodplug` to specify a directory containing
 `timidity.cfg` as opposed to specifying the SoundFont file (.sf2)
 directly.
 - Seeking of MIDI files such that a pause and resume function can be
 offered by a media player.
 - Support for popular looping conventions seen in MIDI files (which
 involve either special control change messages or specially named track
 markers; see also: https://github.com/nmlgc/ssg/issues/25).

 This request also applies to .abc and other "instrument-free" music
 formats as it does to MIDI files.

 Just as an aside, a public-domain music synthesis library and instrument
 banks (https://peteroupc.github.io/music.html) would greatly help improve
 MIDI playback support across the open-source ecosystem; however, I don't
 insist on that for purposes of this issue.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11017#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac

To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to