Midi File Parser / Player

An asset by BrainFooLong
The page banner background of a mountain and forest
Midi File Parser / Player hero image

Quick Information

0 ratings
Midi File Parser / Player icon image
BrainFooLong
Midi File Parser / Player

Parse your midi files directly with native GDScript 4+ with no other dependencies. The example also include a demo of how you can create a sound player based on the parsed midi data.Usagevar parser = MidiFileParser.load_file("res://yourmidi.mid")# parser.header contains midi header data# parser.tracks contains all midi tracks## iterate over tracks and eventsfor track in parser.tracks: for event in track.events: # do something with events here Playback DemoSee midi_file_player_example.gd or load and play scene demo/midi_demo.It will contain all required parts (timing, _process loop) to play notes at correct times.The demo uses a very simple generic audio signal generator. Quality is not good but frequencies are correct. It will play "Beethoven - Fur Elise", which you will know for sure.

Supported Engine Version
4.0
Version String
1.0.0
License Version
MIT
Support Level
community
Modified Date
11 months ago
Git URL
Issue URL

Godot GDScript 4+ Midi File Parser and Player

Parse your midi files directly with native GDScript 4+ with no other dependencies. The example also include a demo of how you can create a sound player based on the parsed midi data.

Install

Clone/Download this repository into your project.

Usage

var parser = MidiFileParser.load_file("res://yourmidi.mid")
# parser.header contains midi header data
# parser.tracks contains all midi tracks

## iterate over tracks and events
for track in parser.tracks:
    for event in track.events:
        # do something with events here   

Playback Demo

See midi_file_player_example.gd or load and play scene demo/midi_demo.

It will contain all required parts (timing, _process loop) to play notes at correct times.

The demo uses a very simple generic audio signal generator. Quality is not good but frequencies are correct. It will play "Beethoven - Fur Elise", which you will know for sure.

Parse your midi files directly with native GDScript 4+ with no other dependencies. The example also include a demo of how you can create a sound player based on the parsed midi data.

Usage
var parser = MidiFileParser.load_file("res://yourmidi.mid")
# parser.header contains midi header data
# parser.tracks contains all midi tracks

## iterate over tracks and events
for track in parser.tracks:
for event in track.events:
# do something with events here


Playback Demo
See midi_file_player_example.gd or load and play scene demo/midi_demo.

It will contain all required parts (timing, _process loop) to play notes at correct times.

The demo uses a very simple generic audio signal generator. Quality is not good but frequencies are correct. It will play "Beethoven - Fur Elise", which you will know for sure.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Midi File Parser / Player icon image
BrainFooLong
Midi File Parser / Player

Parse your midi files directly with native GDScript 4+ with no other dependencies. The example also include a demo of how you can create a sound player based on the parsed midi data.Usagevar parser = MidiFileParser.load_file("res://yourmidi.mid")# parser.header contains midi header data# parser.tracks contains all midi tracks## iterate over tracks and eventsfor track in parser.tracks: for event in track.events: # do something with events here Playback DemoSee midi_file_player_example.gd or load and play scene demo/midi_demo.It will contain all required parts (timing, _process loop) to play notes at correct times.The demo uses a very simple generic audio signal generator. Quality is not good but frequencies are correct. It will play "Beethoven - Fur Elise", which you will know for sure.

Supported Engine Version
4.0
Version String
1.0.0
License Version
MIT
Support Level
community
Modified Date
11 months ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers