gopxl / beep

A little package that brings sound to any Go application. Suitable for playback and audio-processing.
MIT License
295 stars 15 forks source link

Add MIDI playback support #162

Closed K4thos closed 4 months ago

K4thos commented 6 months ago

For the Ikemen GO engine, @samhocevar added support for MIDI playback via go-meltysynth. We would prefer not having to maintain our own fork if this feature (and some other bug fixes that our devs are preparing PRs for) will be merged. Are you interested in adding this feature to gopxl/beep? https://github.com/ikemen-engine/beep/commit/3fba40ddabccb5ee619c6e746b28e2295e1b6468

MarkKremer commented 6 months ago

Looks promising! I'll be on holliday soon so I'll have a look in a week or 2.

MarkKremer commented 4 months ago

I've made a PR with your code & some of my changes in https://github.com/gopxl/beep/pull/167. Let me know what you think! My apologies for the wait.

It would be cool to include an example of it's usage in Beep. For that I need a sound font and a midi file. Do you happen to know some (preferably public domain) files that could inspire future Beep users?

MarkKremer commented 4 months ago

Do you want to be credited somewhere?

K4thos commented 4 months ago

Please give credit only to @samhocevar.

The code looks great, thank you very much for adopting it. When it is merged, we will switch to gopxl/beep right away.

Regarding soundfonts, I'm personally using this one: SC55EmperorGrieferus But for free-to-use ones, this pack is good: sf2-soundfonts-free-use

As for public domain music, maybe some classical tracks? Midi World - Classical Tracks

MarkKremer commented 4 months ago

I'll make sure to include his name in the release notes!

MarkKremer commented 4 months ago

@K4thos Merged & released!