Page MenuHomePhabricator

Support inline player for MIDI files
Closed, ResolvedPublic



Could you consider supporting the play of Midi files?

Version: unspecified
Severity: enhancement



Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:41 PM
bzimport added a project: TimedMediaHandler.
bzimport set Reference to bz18852. wrote:

Could any developers give an reply? Please.

brion added a comment.May 26 2009, 8:51 PM

Moving this out of OggHandler extension to 'extension requests' generally.

I'm not sure how fully or consistently inline midi players are supported on modern browsers; if common and consistent, a MidiHandler class could probably be tossed into core pretty easily. If not, it might require jumping through some hoops to provide a player, which would be kinda uggy.

brion added a comment.May 26 2009, 8:52 PM
  • Bug 18922 has been marked as a duplicate of this bug. ***

alex.farlie wrote:

On Commons and other Mediawiki Wikis, there are uploads of MIDI files,

However, to play these 'in-browser' currently requires a non-free plugin (such as Quicktime)

By providing an 'inline' player for Midi (possibly based on Java) this dependence on a non-free plugin would be reduced.

One possible solution, but this would involve some work, is for the server side to do a one-shot rendering of MIDI files into a format like OGG (using something like FluidSynth and a suitable 'free' sample set).

A second solution would be to have a specific inline MIDI plugin.

The third solution is the current one, whereby the MIDI file is offered for
download to an external player.

There is now a MIDI player available in TMH (see Bug 43388). Maybe it could be used for all the MIDI files on commons?

Tentatively moving to TMH, though not sure if TMH itself needs further code changes, or if this falls into a server configuration category.

Jan / Michael: Do you know?

FWIW the Score extension invokes /usr/bin/timidity (the TiMidity++ MIDI converter) in Score.body.php's generateOgg() to convert MIDI files generated by GNU Lilypond into .ogg files. It seems plausible to do just this part of Score's processing for other MIDI files.

A different approach is to read, process, and play MIDI files directly in sufficiently powerful recent browsers, see

spage, thank you for clarifying this. I hadn't looked closely at Score and only saw that the player was JS. I didn't look at the source and only saw that Bug 43388 called for MIDI and assumed that, as a result, TMH was using MIDI.

But, yes, midi.js was the other tool I looked at for this. From my tests (and information on the website), it doesn't work as well in recent Firefox as it does in Chrome. Filing a bug with Mozilla.

Jdforrester-WMF moved this task from Untriaged to Backlog on the Multimedia board.Sep 4 2015, 6:08 PM
Restricted Application added a subscriber: Matanya. · View Herald TranscriptSep 4 2015, 6:08 PM
TheDJ added a subscriber: TheDJ.May 18 2016, 8:57 AM

I suddenly realize we have midi to ogg transcoding inside the Score extension...
Sounds like it would be doable to move that into TimedMediaHandler. Then we could have Score reuse it from there.

Change 511015 had a related patch set uploaded (by Ebe123; owner: Ebe123):
[mediawiki/extensions/TimedMediaHandler@master] Transcode MIDI files to OGG Vorbis and MP3

Ebe123 claimed this task.May 18 2019, 5:29 PM
Ebe123 added a subscriber: Ebe123.

Gonna be resolved through T135597

Change 511015 merged by jenkins-bot:
[mediawiki/extensions/TimedMediaHandler@master] Transcode MIDI files to OGG Vorbis and MP3

TheDJ closed this task as Resolved.Thu, Jun 27, 1:20 PM