new project: auto soundfont assembler
-
- KVRian
- 500 posts since 13 Oct, 2004 from Durham, NC USA
I'm considering starting a programming project to create a soundfont assembler program. The goal of the program would be to make it much easier to create a single-instrument soundfont with lots of samples, especially lots of different velocity samples.
If you're interested in something like this, please check out this other thread, in the forum for programmers.
Even if you're only interested in using such a program, please let us know (either here or on the other thread). But if you're a programmer or have other expertise that might be useful to a project like this and you'd consider contributing, please post on the other thread. Ideally, it would be open source, if I can swing it.
The resulting program would be free in any case. I'm doing this for fun and learning, not for profit. Plus, I'd like to be able to use it!
If you're interested in something like this, please check out this other thread, in the forum for programmers.
Even if you're only interested in using such a program, please let us know (either here or on the other thread). But if you're a programmer or have other expertise that might be useful to a project like this and you'd consider contributing, please post on the other thread. Ideally, it would be open source, if I can swing it.
The resulting program would be free in any case. I'm doing this for fun and learning, not for profit. Plus, I'd like to be able to use it!
-
- KVRAF
- 6490 posts since 14 Jun, 2004 from Rochester, NY
he said it would be free... anyways jeff if you actually do this stuff, make sure theres some "easy" way to tune the samples, especially having some kind of comparison with a volume based beeping tone that hits the "true" tuning, as a reference... something like that would be awesome. id recommend talking to that guy who has that soundfont editor --- kind of a buggy sf2 thing, but maybe you could work with him, since he has a lot of stuff there already
RoNC
RoNC
- KVRAF
- 4090 posts since 31 Oct, 2002 from Montreal, Canada
Sure would love to try it, I am always open to new tools.
-
- KVRAF
- 2401 posts since 29 Dec, 2002 from In the dark
What a great idea. I am no programmer. I have done the odd macro in excel - does it count?
As a user I would be very interested in following the progress.
As a user I would be very interested in following the progress.
-
- KVRian
- Topic Starter
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Good opint, RoNC. I'll add that to the feature list. I hadn't thought of fine-tuning samples to account for tuning inaccuracies in the original, but that's definitely a useful feature. (If nontrivial, because there are only about 30 different tuning scales ...)
And thanks for the show of support, guys.
And thanks for the show of support, guys.
-
- KVRAF
- 2401 posts since 29 Dec, 2002 from In the dark
Here are some ideas on how it could work:
-Let the user record the instrument e.g. piano in one continious session.
-Detect notes by finding silence. Levels could be set by user or the program can have the option to test for background noise before the recording start
-Chop the recording into small clips and add fade ins and fade outs to ensure no clicks and pops. The length of fade ins and outs can be set by the user in the options.
-Detect pitch and velocity by analysing the clip. Map each clip to a single keay according to detected pitch. A seperate function can be run later after the recording to fill in the blanks if all keys were not sampled.
-Auto fine-tune each sample.
This is basicaly based on my own workflow when I sample my guitar. If I can think of more ideas I'll let you know.
-Let the user record the instrument e.g. piano in one continious session.
-Detect notes by finding silence. Levels could be set by user or the program can have the option to test for background noise before the recording start
-Chop the recording into small clips and add fade ins and fade outs to ensure no clicks and pops. The length of fade ins and outs can be set by the user in the options.
-Detect pitch and velocity by analysing the clip. Map each clip to a single keay according to detected pitch. A seperate function can be run later after the recording to fill in the blanks if all keys were not sampled.
-Auto fine-tune each sample.
This is basicaly based on my own workflow when I sample my guitar. If I can think of more ideas I'll let you know.
- KVRAF
- 4176 posts since 2 Feb, 2003 from lost in music
I´d love to use this.
one thing that comes to my mind,
I tried to make soundfonts with chainer,
but when I do some PAD sounds, chainer doesnt detect the release time properly.
So this would be fine if it could do it.
one thing that comes to my mind,
I tried to make soundfonts with chainer,
but when I do some PAD sounds, chainer doesnt detect the release time properly.
So this would be fine if it could do it.
sound is vibration, vibration is life
-
- KVRian
- Topic Starter
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Sepherito, my old tools already did most of that, except that each velocity layer was in a different recording session (wave file). The new program would get rid of that requirement.
Read the other thread for a more comprehensive "vision" of what it does. Very much like what you're thinking.
rsmus7, I'm afraid I'm not familiar with chainer. At first, this tool would focus on unlooped samples.
For a good tool to do loop editing, and automatically setting the release point (based on my request to them), try Extreme Sample Converter, which was $50 when I bought it earlier this year. It's a great program.
Read the other thread for a more comprehensive "vision" of what it does. Very much like what you're thinking.
rsmus7, I'm afraid I'm not familiar with chainer. At first, this tool would focus on unlooped samples.
For a good tool to do loop editing, and automatically setting the release point (based on my request to them), try Extreme Sample Converter, which was $50 when I bought it earlier this year. It's a great program.
Last edited by learjeff on Sun Oct 02, 2005 5:41 pm, edited 1 time in total.
-
- KVRAF
- 2285 posts since 20 Dec, 2002 from The Benighted States of Trumpistan
Having tried -- remarkably unsuccessfully, alas -- to use sf2comp, and preferring a single file to a mass collection (as with sfz), I find this proposed project to be an excellent idea.
Err, wait, this isn't a paper...
Dude! Way bitchin' idea -- ain't nothin' like it, and we totally need it!
Seriously, this is a great idea. I am no programmer, but might I suggest Python as an implementation language? It's a bit trendy, but it seems a lot less limited and its binaries seem to have greater speed and stability than Java's.
Err, wait, this isn't a paper...
Dude! Way bitchin' idea -- ain't nothin' like it, and we totally need it!
Seriously, this is a great idea. I am no programmer, but might I suggest Python as an implementation language? It's a bit trendy, but it seems a lot less limited and its binaries seem to have greater speed and stability than Java's.
Wait... loot _then_ burn? D'oh!
-
- KVRian
- Topic Starter
- 500 posts since 13 Oct, 2004 from Durham, NC USA
My current tools are written in Python, and it's too slow for what I envision. I'm surprised you find it faster than Java -- can you give any details? Thanks!
-
- KVRAF
- 2285 posts since 20 Dec, 2002 from The Benighted States of Trumpistan
The toy programs I write (badly!) seem to run better in Python than their equivalents in Java, but that's probably due to my greater Java ignorance; also, P may be better optimized for toy programs than J is. The scripted functions in FontLab (written in P) run much faster than those in DoubleType (pure J), but FL is primarily native code... However, I seem to recall that the Norton Commander clones written in P ran faster than the J ones.
Wait... loot _then_ burn? D'oh!
-
- KVRian
- Topic Starter
- 500 posts since 13 Oct, 2004 from Durham, NC USA
Well, after thinking about it, I don't see why I thought Java would be faster. They're both compiled into intermediate code & interpreted, and in both cases numbers are objects. So I guess that means Java is out, because Python is too slow. Thanks 
