Kyma Forum
  Tips & Techniques
  sample-load

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

next newest topic | next oldest topic
Author Topic:   sample-load
sm
Member
posted 13 January 2001 11:18         Edit/Delete Message   Reply w/Quote
since there is no way to load samples in background to a compiled sound, this would be a very helpfull (for me ineviteable) feature to the next update.
or is it already possible and i just didn`t know about it?!

IP: Logged

sm
Member
posted 15 January 2001 04:17         Edit/Delete Message   Reply w/Quote
i am getting nervous. maybe to less sleep. but i just cant believe that i am the only one which is craving for an "sample load in background" - funktion.
to do this with compiledSoundGrid is not possible because it takes to long time to switch.
hm, if the system and the overall design forbids this feature i give up hope and try to live with it. but i didnīt get any answer yet.
cheers
->michael

IP: Logged

SSC
Administrator
posted 15 January 2001 09:04         Edit/Delete Message   Reply w/Quote
Michael,
Try using a timeline with WaitUntil modules in one of the tracks. That way you can schedule several different Sounds, including crossfades from one Sound to the next, and you can control when the transition is to take place by triggering the WaitUntil (either by MIDI or by a test for some condition in the audio signal). Or you can click in the time ruler to jump from Sound to Sound instantaneously.

IP: Logged

sm
Member
posted 15 January 2001 09:47         Edit/Delete Message   Reply w/Quote
i am already using the waitUntil-trick which works fine, except that i just can use a certain amount of samples til i run out of RAM.
maybe i am spoiled by MAX/MSP where you can load a sample in a samplebuffer without the use of compiling. this helps a lot when you fool around with different routines of sample-readouts since the output changes dramatically with different input material.
so, does this mean that there is no use for waiting on dynamical sample assignement?

and another thing:
in some sounds i would like to set the parameters according to the lenght of the sample which is currently loaded. is there a possibility to send parts of the sampleheader directly to the vcs to set the parameters?

IP: Logged

pete
Member
posted 15 January 2001 10:04         Edit/Delete Message   Reply w/Quote
hay sm
don't forget it is the weekend and although both you and I seem to be sitting and kymaifiying at unearthly hours in the morning, maybe the rest of the world are not as sad as us ?
quite often I find that if symbolic sound take a long time to answer then quite often its because they are trying to find a solution but when they answer immediately then there is no realistic solution .
somtimes no news is good news.
The idea of loading sounds in compiled sounds is great but it opens up so many other posiabilities.
i.e.
Do we have a file manager type selector or pre compiled list.
Does the file manager selector ap on the VCS and or the timeline.
What happens to the sound when when the new selection is made (does it start from the begining or where the last sound left off )
As the new sound is a different length what happens to loop points that are set to 50% of the total length.

There are a lot of things that could be done here bit adding it a bit at a time at a time ,it could become very messy.

It's not a quick job and I'm happy to wait till time can be allocated to do the whole thing.


IP: Logged

sm
Member
posted 15 January 2001 14:34         Edit/Delete Message   Reply w/Quote
"Do we have a file manager type selector or pre compiled list.Does the file manager selector ap on the VCS and or the timeline. What happens to the sound when when the new selection is made (does it start from the begining or where the
last sound left off )"
i guess i made a semantic error: i didnīt want to talk about kyma sounds but samples to load dynamically whithout the need to compile them. this would also free us from lack of ram.
As the new sound is a different length what happens to loop points that are set to 50% of the total length.
the total length of a sample could be sent to the vcs as soon as the sample is loaded. so 50% stay 50% regardless of the actual sample length.

IP: Logged

pete
Member
posted 15 January 2001 15:07         Edit/Delete Message   Reply w/Quote
hi sm
I should have said samples as I knew thats what we were talking about. what I ment with the looping problem was that if the new sample was shorter you could be trying to loop yet had already passed the loop end or even the end of the file.
I'm not saying that it is imposiable to find a set of rules that will work every time but that there is a lot of things to consider that would be best done as one big upgrade.
does this make sence ?

IP: Logged

pete
Member
posted 15 January 2001 15:15         Edit/Delete Message   Reply w/Quote
I see where the confusion is now.
My answer was in response to your second entry that is the first one on monday morning and it seems like every one had moved on by the time I'd posted it.
I'm gonna have to learn to type faster.
pete

[This message has been edited by pete (edited 15 January 2001).]

IP: Logged

Bill Meadows
Member
posted 15 January 2001 16:17         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by sm:
in some sounds i would like to set the parameters according to the length of the sample which is currently loaded. is there a possibility to send parts of the sampleheader directly to the vcs to set the parameters?

Yes! I need a signal which indicates when the sample has finished playing. (a "bang" from ~buffer in MAX/MSP)

I have samples of different lengths. I want to play them one at a time, all the way through.

There are many uses for the sample length information...

IP: Logged

SSC
Administrator
posted 16 January 2001 09:41         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by sm:
i am already using the waitUntil-trick which works fine, except that i just can use a certain amount of samples til i run out of RAM.

Michael, If you are running out of RAM, you might try using MultifileDiskPlayer or the KeyMappedMultiSample with FromDisk checked. That way you are reading the samples direct from disk and not from the RAM on the Capy.

IP: Logged

Marcus Satellite
Member
posted 19 January 2001 15:59         Edit/Delete Message   Reply w/Quote
i second the request for a variable
that gives you sample header info.

think of the algorithmic possibilities
if you had the sample length available
to you. it would make batch jobs possible.

let's say you have a cool sound that you
want to run on a folder of samples. you
could set up a script that would run the
sound on each sample in the folder and
record to disk with the correct length.
much like a photoshop/aftereffects way
of working.

IP: Logged

sm
Member
posted 28 January 2001 10:15         Edit/Delete Message   Reply w/Quote
so is this topic asleep now?

i would really like to see some response frome symbolic sound about the chances for the sampleHeader info and prompting.

cheers

michael

IP: Logged

SSC
Administrator
posted 28 January 2001 12:00         Edit/Delete Message   Reply w/Quote
You can find an example of getting information from a sample file in the template for BPMSampleLoop. You can see the template by dragging a BPMSampleLoop from the System Prototypes into a new Sound file window. Select this Sound and choose Edit class from the Action menu. Then choose Retrieve example from class from the Action menu. This will place the template Sound for the BPMSampleLoop class into the Sound file window. Look at the Script to see an example of how to read the duration of the sample file.

For an example of how to open a file dialog to choose a sample, look at the script in the Sound "SampleCtrlLoop pts 1, 2, 4, 8" found in the Rhythmic Loops Sound file in the Sampling folder of the Kyma Sound Library.

IP: Logged

sm
Member
posted 13 February 2001 15:41         Edit/Delete Message   Reply w/Quote
ahhh, this is interesting stuff.

i guess i understand that BPMSampleLoop is made out of sample and script.
1st: would be very interested how this is done.
2nd: the commands in the script are rather cryptic to me.
3rd: still do not see an easy way of getting the duration of an loaded sample.

would be very helpfull if you could tell why and how this script worx:
| file sampleDur |

file := SamplesFile fromOldFileNamed: ?sample ifCancelled: [self abortForKyma].
sampleDur := file fileDuration.

loop start: 0 s
sampleName: file filename asString
beatsPerBar: (?BPM bpm / (sampleDur / ?NbrBeats) bpm) twoLog rounded twoExp * ?NbrBeats
oldDurToNewDur: (sampleDur / ?BPM bpm s)
thanx->michael

IP: Logged

SSC
Administrator
posted 13 February 2001 17:23         Edit/Delete Message   Reply w/Quote
Here is the blow-by-blow:

| file sampleDur |

Declare two local variables.

file := SamplesFile fromOldFileNamed: ?sample ifCancelled: [self abortForKyma].

Place a SamplesFile object into the variable "file". The SamplesFile object is to be an already exisiting file (old file) with the name given in the green variable ?sample. If you are asked to locate the file and you click Cancel, then Kyma will stop compiling (abortForKyma).

sampleDur := file fileDuration.

Ask the SamplesFile object for the duration of the file in seconds.

loop start: 0 s
sampleName: file filename asString
beatsPerBar: (?BPM bpm / (sampleDur / ?NbrBeats) bpm) twoLog rounded twoExp * ?NbrBeats
oldDurToNewDur: (sampleDur / ?BPM bpm s)

Create a copy of the input Sound called "loop" to start at 0 seconds, with the green variables set to the values listed in the rest of the message. For instance, ?sampleName will be set to the string version of the filename of the SamplesFile, and ?oldDurToNewDur will be set to the ratio of the SamplesFile duration in seconds and the duration of one beat (MM=?BPM) in seconds.

IP: Logged

pete
Member
posted 14 February 2001 05:29         Edit/Delete Message   Reply w/Quote
whats the difference between = and := ?

IP: Logged

David McClain
Member
posted 14 February 2001 09:04         Edit/Delete Message   Reply w/Quote
Pete,

In Smalltalk you use := to represent a variable assignment, while = is simply a comparison test between two operands.

- DM

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