milkey-mouse / swood

Turn any sound into an instrument
https://meme.institute/swood/
MIT License
10 stars 3 forks source link

Multiple sounds for "soundfonts" #1

Closed milkey-mouse closed 8 years ago

milkey-mouse commented 8 years ago

I think .memefont is a good file extension

Basically for each MIDI instrument, have a section in a .ini file (not necessarily with any specific extension).

Sample section contents

[default]
file=doot.wav
volume=90 #out of 100 instead of the 127 native to MIDI
#vol is an alias for volume
pan=0.5 #0.5 default, 1 is all the way to the right, 0 is to the left

Section naming/numbering

[001], [01], [1], and [acoustic-grand-piano] are all accepted ways of saying MIDI instrument #1. To cover a group of instruments, use the Wikipedia section name, e.g. [piano] is MIDI instruments 1-8.

Options

For each command-line option (which I should really organize better, BTW) you can set them in the ini file too, in a section marked [options]:

[options]
fullclip=true
transpose=12
output=dootalovania.wav
milkey-mouse commented 8 years ago

After further consideration it should just be .meme

milkey-mouse commented 8 years ago

progress with commit 0bf0358

milkey-mouse commented 8 years ago

Nah it should be .swood but it should be flexible about different ext's

milkey-mouse commented 8 years ago

Remember to implement channels (as ch1 or channel1 or channel 1 1-indexed) but other than that I'm done

milkey-mouse commented 8 years ago

I was thinking of tracks, not channels: t1 track1 track 1`

milkey-mouse commented 8 years ago

Done! It's a bit slower for simple requests as it has to generate a compatible default SoundFont (not to mention the extra lookups in tight loops, mainly in render.py), but I think that's acceptable. Once PyPy gets Py3.5/3.4 support I'll ensure the installer (issue #19) works with PyPy by default.