Kyma Forum
  Kyma Sound Exchange
  autosampler tool in Wiki

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   autosampler tool in Wiki
Luddy
Member
posted 19 October 2008 10:15         Edit/Delete Message   Reply w/Quote
Hi,

I posted an auto-sampling tool in the Wiki, under Share / Tools / Sampling. The tool creates a multisample from a Kyma sound. The sound must be parameterized by the ?KeyPitch variable. The tool has input fields for beginning and ending pitch, and sample duration. It then walks through each pitch in the specified range, playing the sound and capturing the result in a wave file that is stamped with the appropriate base pitch. The samples are placed in a user-specified directory. The sound to be sampled must be saved in the compiled sound grid that is included in the tool's directory.

It is easy to use this tool to sample hardware synthesizers as well (through the excellent Kyma A/D converters!) To do this, you create a sound that uses MIDINote to play ?KeyPitch to the MIDI output; the MIDI Note should be mixed with an Input sound that listens to the Capybara input that the synthesizer's audio output is plugged into. If this is unclear and anyone is interested, I can post a sound that does this.

Another interesting possibility that I've experimented with is to sample a sound that plays a short MIDI sequence, transposed by the value of <sequence pitch> - ?KeyPitch. For example, the sequence might play the note C3, and send some pitch bend and channel pressure. You could then sample it over an octave, to get the effect of those control messages on the individual pitches in that range.

-Luddy

IP: Logged

Phi Curtis
Member
posted 20 October 2008 00:44         Edit/Delete Message   Reply w/Quote
Wow, that sounds brilliant. Thanks for sharing!

IP: Logged

cristian_vogel
Member
posted 20 October 2008 17:25         Edit/Delete Message   Reply w/Quote
nice! thanks man

IP: Logged

Luddy
Member
posted 21 October 2008 01:16         Edit/Delete Message   Reply w/Quote
Thanks, let me know if there are problems.
-L

IP: Logged

Bill Meadows
Member
posted 27 October 2008 21:39         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by Luddy:
Thanks, let me know if there are problems.
-L

Well, it's a bit slow and primitive, but it works - far easier than doing it by hand. I haven't tried sampling an external synth yet, but that could be handy.

A possible enhancement: Could you add an "interval" control so it wouldn't be limited to semitone steps? For example, one could set the interval to 12 and get only one sample per octave in the note range specified.

Nice work. Thanks.

IP: Logged

Luddy
Member
posted 28 October 2008 09:49         Edit/Delete Message   Reply w/Quote
Hi, yeah, I have been thinking of adding that (interval param) as well. As soon as I get a bit of time, I'll drop that in and update it on the wiki.

Do you mean that it's slow, even if you discount the actual sound playing / sample recording time? Maybe I've got some unnecessary delays in there somewhere...

-Luddy

[This message has been edited by Luddy (edited 28 October 2008).]

IP: Logged

Bill Meadows
Member
posted 29 October 2008 19:37         Edit/Delete Message   Reply w/Quote
It seems like it re-compiles the Sound for every sample. Maybe that's necessary, but it adds a lot of overhead.

btw - I liked your example Sound.

IP: Logged

Luddy
Member
posted 29 October 2008 20:05         Edit/Delete Message   Reply w/Quote
Aha! I have to look more deeply into the sound grid that is available to tools. Seems like it ought to be possible to arrange for the sampled sound to be precompiled somehow ...

-L

IP: Logged

cristian_vogel
Member
posted 17 November 2008 10:10         Edit/Delete Message   Reply w/Quote
the tool doesn't send !KeyDown or !gate ?

so how can I trigger the sample or MIDI keyboard?

also the recompiling for each recording makes it very time consuming, when the sound is a big one...

I managed to get the tool to send a gate true to ?gate , but until we can make it step through the pitches and send gates and record to disk, without recompiling each time, its not going to be saving that much time in my case...

[This message has been edited by cristian_vogel (edited 17 November 2008).]

IP: Logged

Luddy
Member
posted 17 November 2008 17:48         Edit/Delete Message   Reply w/Quote
Hi Cristian,

I use OutputMIDIEvent or OutputMIDIEventInBytes to send notes to external modules. I trigger them unconditionally, i.e., with a '1'. I had not thought of putting !KeyDown into a sound that I am automatically sampling, because that would mean that the sound would be waiting for external events to arrive, whereas I simply want it to play unconditionally at the same instant that the recording begins.

Concerning compilation, I think to avoid it a different approach would be needed. When a tool invokes a named sound from a sound grid, and passes parameters to it, then a compilation occurs. This is necessary to turn the parameters into capytalk, I think. If instead the tool created just one sound, played it from beginning to end to generate all the notes, then separately cut the recording into samples, that would avoid the compilation I think. Maybe there is another way that I'm not thinking of?

The tool doesn't save you any time unless you do something else while it is running, haha.

-Luddy


[This message has been edited by Luddy (edited 17 November 2008).]

[This message has been edited by Luddy (edited 17 November 2008).]

IP: Logged

Luddy
Member
posted 19 November 2008 00:35         Edit/Delete Message   Reply w/Quote

testsampler.kym

 
Well, I attempted to create a sound that would do all the recordings but that would still record each pitch into a separate file so that no cutting would be necessary. Chopping up a big sample file seems like a headache.

Anyway, the problem is that this thing is also not very fast, and it compiles the input sounds many times, although only in the context of a single overall compile-and-load.

Any ideas about how to design something that would do this with just a single compile of the sound to be sampled?

-Luddy

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c