Giter Site home page Giter Site logo

soundfont for drums about expremigen HOT 12 CLOSED

rabarar avatar rabarar commented on June 25, 2024
soundfont for drums

from expremigen.

Comments (12)

shimpe avatar shimpe commented on June 25, 2024

Traditionally in MIDI track 10 (or 9, if you count from 0) is reserved for percussion. If I import the .midi generated by the drumpattern example in lmms, then play it through the built-in sf2 player with a drum kit selected, it sounds as expected to me. This link makes me wonder if perhaps there's something missing in your soundfont (or something not layed out according to standard practice ?): https://stackoverflow.com/questions/23564706/no-preset-found-on-channel-9-when-playing-midi-with-newly-created-soundfont

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

Can you share a link to the soundfont file you're using that correctly render the drums?

from expremigen.

shimpe avatar shimpe commented on June 25, 2024

Sure... I used the Arachno soundfont: http://www.arachnosoft.com/main/download.php?id=soundfont-sf2
bank 128, patch 0 (standard drum kit)

from expremigen.

shimpe avatar shimpe commented on June 25, 2024

Just to be sure, did you render to channel 10? e.g.

r"""

with track 0 channel 10:
    bassdrum r4 bassdrum r4 bassdrum r4
    
with track 0 channel 10:
    r4 closedhihat r4 closedhihat   

"""

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

Looks like the soundfont that you specify has the drum kit on channel 9.

$ fluidsynth /usr/local/share/fluidsynth/Arachno\ SoundFont\ -\ Version\ 1.0.sf2 
FluidSynth version 1.1.8
Copyright (C) 2000-2017 Peter Hanappe and others.
Distributed under the LGPL license.
SoundFont(R) is a registered trademark of E-mu Systems, Inc.

Type 'help' for help topics.

> channels
chan 0, Grand Piano
chan 1, Grand Piano
chan 2, Grand Piano
chan 3, Grand Piano
chan 4, Grand Piano
chan 5, Grand Piano
chan 6, Grand Piano
chan 7, Grand Piano
chan 8, Grand Piano
chan 9, Standard Drum Kit
chan 10, Grand Piano
chan 11, Grand Piano
chan 12, Grand Piano
chan 13, Grand Piano
chan 14, Grand Piano
chan 15, Grand Piano
> 

Can I programmatically map channels in expremigen? Or does that have to occur in fluid synth?

from expremigen.

shimpe avatar shimpe commented on June 25, 2024

in midi, for some reason percussion is always played on channel 10 (9): see https://en.wikipedia.org/wiki/General_MIDI#Percussion

channel number is 10 if you count from one (as expremigen does), 9 if you count from zero (as fluidsynth does) (I may have mentioned channels 11 and 10 at some point but that was the result of me misremembering the numbers)

I'm not sure what you mean with programmatically map channels? Do you want to dynamically reroute midi channels? If so, there are tools to do just that. In the past I've used "mididings".

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

Thanks for the clarification. As you can tell, I'm not totally familiar with the MIDI conventions. I think what I'm hearing you say is that the specification in the midi-generated file is fixed, and then you make channel mappings with your SF2 file and the player (fluid synth for example) that uses your SF2 file to render the midi file on those given mapped instruments.

from expremigen.

shimpe avatar shimpe commented on June 25, 2024

I think we say the same thing, although I'm not entirely certain.

Indeed, the messages in a MIDI file basically consist of instructions like "on MIDI channel 5, do a "note on" for note number 65 with a velocity of 64", meaning that the channel number is hard coded in the binary midi messages themselves.

Tools like mididings, as well as midi players or digital audio workstations that speak MIDI can change the channel number on-the-fly for you (by taking the MIDI messages apart, and then regenerating them with modified channel numbers), but in a MIDI file it's all fixed.

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

Did you create a comment lexicon for your MISEPL language?

from expremigen.

shimpe avatar shimpe commented on June 25, 2024

If with "comment lexicon" you mean a way to specify comments in MISPEL, it should be possible using c++ style comments, i.e. two forward slashes for a single line comment and a block enclosed in /* */ for a multi line comment, e.g.

// for single line comments, or

/*
for a block of
multiple lines
*/

But to be honest, I don't recall testing it so it might not even work correctly (ouch!).

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

from expremigen.

rabarar avatar rabarar commented on June 25, 2024

both comment-styles work. Good stuff.

from expremigen.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.