All Projects → Chris-TopherW → UnityMidiPlayer

Chris-TopherW / UnityMidiPlayer

Licence: MIT License
Midi file player for unity. Allows import of type zero and one midi files and playing them via midi outputs. Also provides code for creating procedural music using midi.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to UnityMidiPlayer

guitar-tabs-to-MIDI
A program that converts Guitar Tabs into MIDI files.
Stars: ✭ 38 (+26.67%)
Mutual labels:  midi, midi-files
JZZ-midi-SMF
Standard MIDI Files: read / write / play
Stars: ✭ 28 (-6.67%)
Mutual labels:  midi, midi-files
midi degradation toolkit
A toolkit for generating datasets of midi files which have been degraded to be 'un-musical'.
Stars: ✭ 29 (-3.33%)
Mutual labels:  midi, midi-files
usbhostcopro
USB Host Co-processor
Stars: ✭ 54 (+80%)
Mutual labels:  midi
midi-json-parser
This module is parsing midi files into a human-readable JSON object.
Stars: ✭ 81 (+170%)
Mutual labels:  midi
rtpmidid
RTP MIDI (AppleMIDI) daemon for Linux
Stars: ✭ 109 (+263.33%)
Mutual labels:  midi
Prelude
A web app for practicing musical sight reading skills
Stars: ✭ 24 (-20%)
Mutual labels:  midi
MIDITapeRecorder
AUv3 MIDI Tape Recorder
Stars: ✭ 91 (+203.33%)
Mutual labels:  midi
Maestoso
An Open Source Music Animation Software
Stars: ✭ 16 (-46.67%)
Mutual labels:  midi
ANMP
multi-channel loopable video game music player for nerds and audiophiles
Stars: ✭ 16 (-46.67%)
Mutual labels:  midi
hackthepiano
Learn reading notes on the fly fast and easy
Stars: ✭ 18 (-40%)
Mutual labels:  midi
BMC
BMC the Badass MIDI Controller, all-in-one Scalable MIDI Controller library with a companion Desktop/Browser Editor App for Teensy LC, 3.2, 3.5, 3.6, 4.0, 4.1
Stars: ✭ 34 (+13.33%)
Mutual labels:  midi
ws-ldn-12
ARM / STM32F7 DIY synth workshop
Stars: ✭ 62 (+106.67%)
Mutual labels:  midi
generating-music
🎷 Artificial Composition of Multi-Instrumental Polyphonic Music
Stars: ✭ 28 (-6.67%)
Mutual labels:  midi
TouchOSC
A collection of examples and modules for TouchOSC MK2
Stars: ✭ 30 (+0%)
Mutual labels:  midi
Focusrite-Midi-Control
APP DOWNLOAD LINK (Mac OSX)
Stars: ✭ 24 (-20%)
Mutual labels:  midi
virtual-playing-orchestra-ardour-template
An Ardour project template for composing orchestral music on Linux
Stars: ✭ 59 (+96.67%)
Mutual labels:  midi
OpenNoteBlockStudio
An open-source Minecraft music maker.
Stars: ✭ 408 (+1260%)
Mutual labels:  midi
DMXOPL
YMF262-enhanced FM patch set for Doom and source ports.
Stars: ✭ 42 (+40%)
Mutual labels:  midi
jazz-midi-electron
MIDI for Electron
Stars: ✭ 20 (-33.33%)
Mutual labels:  midi

UnityMidiPlayer

Midi file player for unity. Allows import of type zero and one midi files and playing them via midi outputs. Also provides code for creating procedural music using midi.

Some older midi features such as embedded lyrics in midi tracks are not supported by this tool, and trying to import them will often cause an error. (I'll get around to supporting the weirder bits of the standard at some point)

How to use:

  1. Drag type 0 or type 1 midi file somewhere into asset folder
  2. Change file extension from .mid to .txt
  3. Drag .txt midi file into MidiFile input box in MidiSource component
  4. Set midi output via Output devices section of MidiEngine component
  5. Press play!

Useful functions: MidiPlayer.PlayTrack(MidiTrack track, MidiSource source); -plays through a midi track

MidiPlayer.PlayNext(MidiMessage message, MidiSource source); -plays a midi note once previous note has finished (calculated via PPQ)

MidiPlayer.PlayScheduled(MidiMessage message, double dsptime); -schedule midi to play at Unity DSPTime (double in seconds)

MidiPlayer.Play(MidiMessage p_message); -Plays midi message as soon as possible

Warning: this code was part of my grad research in 2016 and is a dumpster fire, enter at your own peril.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].