Kyma Forum
  Tips & Techniques
  Memory writer stopping in sync.

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

next newest topic | next oldest topic
Author Topic:   Memory writer stopping in sync.
Alain Guisan
Member
posted 07 November 2004 06:10         Edit/Delete Message   Reply w/Quote
Hello,

When the Memory Writer is in cyclic mode, it seems that it continues to record until the end of the buffer when we switch the trigger to 0. Is there a way to stop recording exactly at that time or, even better, to stop and go when the trigger switch between 0 and 1?

Thanks

Alain

IP: Logged

Alain Guisan
Member
posted 07 November 2004 06:19         Edit/Delete Message   Reply w/Quote
BTW,

Is there other prototypes that can read from the memory writer, apart from the Sample player and the SampleCloud?

IP: Logged

SSC
Administrator
posted 07 November 2004 15:34         Edit/Delete Message   Reply w/Quote
Right now, the MemoryWriter starts at the beginning of the recording when triggered whether its set for Cyclic or not; it also always records to the end when the trigger is removed.

You also can use the Waveshaper with recordings from MemoryWriters.

Perhaps there is another way to accomplish what you are trying to do without requiring changes to the MemoryWriter. Could you briefly describe what you want to do?

IP: Logged

Alain Guisan
Member
posted 08 November 2004 06:48         Edit/Delete Message   Reply w/Quote
What I am trying to do is to record in the memory writer when the sound is above a certain threshold, so when there is no sound at the input it should stop recording, otherwise it is inserting silence in the memory. Then, when there is some sound again, it should feed the memory writer again, ideally right after the last bit of material that was recorded. The application is a sound installation with various sounding objects, so when people are touching the objects, the sound should be feeding the memory writer and when they stop touching the objects the Sample player should continue looping with this material. As it is now, the process is pretty random, if we stop playing and the memory writer is by chance pretty much at the end of the buffer, then there is little silence inserted. But if we stop when it is at the beginning, then it is fed almost entirely with silence.

The other application is a bit more simple. I have the memory writer in cyclic mode recording all the time, but at a certain moment of the performance it must stop recording (and exactly at that time), then the Sample player continues to loop with the material that has been recorded until then.

I hope my explanation is clear enough ;-)

Would it be a solution to buy the Looper Construction Kit?

Thanks a lot for your help.

Alain

IP: Logged

SSC
Administrator
posted 08 November 2004 10:27         Edit/Delete Message   Reply w/Quote
You can restrict the playback of the Sample to the non-silent parts by adjusting the LoopEnd (or End) of the Sample. To determine the length of the recording, use

!Gate durationOfGate

which will give you the number of seconds that !Gate was turned on. If you divide this number by the CaptureDuration of the MemoryWriter, this will give you your LoopEnd. Their might be an example of this in the Kyma Sound Library in Sampling/Live Capture and Looping.kym.

----

The best way to determine whether the Looper Construction Kit will do what you need is to read their on-line documentation describing all of their modules. (http://www.greenteasoftware.com/lck.htm)

IP: Logged

pete
Member
posted 08 November 2004 14:11         Edit/Delete Message   Reply w/Quote
Hi Alain

I think peteDSPModules (Found on the tweaky) will do what you want. If you use a StepWriter module with an UpDownCounter module feeding its index, you should be able to control it all at sample rate. The logic modules may help with the senceing control if they need to be at sample rate too.

Pete.
http://www.symbolicsound.com/cgi-bin/bin/view/Share/Microsounds

You will need to be logged in before you can get to the link.

You will need both the UserCode.zip and the PetesDSPModules9-12-03.kym to get it working.

[This message has been edited by pete (edited 08 November 2004).]

IP: Logged

mathis
Member
posted 08 November 2004 18:36         Edit/Delete Message   Reply w/Quote
Yes, Pete´s sound rule for your application! (and in general, too! )

IP: Logged

Alain Guisan
Member
posted 08 November 2004 21:43         Edit/Delete Message   Reply w/Quote
Hi Pete,

I'm eager to try your microsounds. But I couldn't make them running yet as it seems I didn't put the .asy file at the right place (could not find any folder with other .asy files in the Kyma X.app folder). I could open the .kym file though and check the various modules. It looks really exciting, a nice addition to the existing Kyma library. It will also be very usefull for other projects I have in mind. Thanks a lot for sharing this with us!

SSC: I will try with the "durationOfGate" command too. I was thinking to keep the sample length constant but it would be interesting to see what's happening in this case, with the kind of mess around I do then with the sample player. Thanks!

Alain

IP: Logged

pete
Member
posted 09 November 2004 05:47         Edit/Delete Message   Reply w/Quote
Hi Alain
I'm not running kymaX at the mo but I think you should put the .asy file in the kyma folder to make it auto boot the microsounds. alternativly you can put it anywhere and select "Choose Microsounds" under the file menu in kyma. This way you would have to do the same every time you reboot Kyma.

If you are using a mac I think you need to import them first before using them.

Maybe some other kyma users can help out here as I've never had to import them myself.

Pete

IP: Logged

mathis
Member
posted 09 November 2004 13:25         Edit/Delete Message   Reply w/Quote
yes, just save it to the root "kyma" folder. (on PC)

IP: Logged

Alain Guisan
Member
posted 09 November 2004 23:51         Edit/Delete Message   Reply w/Quote
Yes, you are right, it was as simple as that ;-) I've put the file in the root of the Kyma folder adn the microsounds are compiled at boot up now. Still have to modify my patch though, I'll let you know how it works (unfortunately, I'll be off for 10 days...).

By the way, is there any "index reader" too. This way of reading the memory might be more efficient than the Sample module for the "pattern playback" algorithm that I'm trying to implement (basically, it is a small loop of a few ms that span slowly through the memory buffer with a few samples increment at each loop).

Alain

IP: Logged

pete
Member
posted 10 November 2004 14:13         Edit/Delete Message   Reply w/Quote
Hi Alain

I've said this a few times before, but the waveshapper module is probably the most badly named module in Kyma. It implies something you use for creating destortion and nothing much else. It is actualy one of the most powerfull modules in Kyma and should realy be called memory reader or random access memory player as that is what it is. What ever you put in it's index input determines what point of sample RAM is outputed. If the index rises towards +1 it plays forward and if the index goes towards -1 it plays backwards. This is the module you need just ignore the name. Maybe I should wrap it in a new class and call it memory reader then it may get the popularity it rightly deservse.

The ramps counters and index manipulators in petes DSPModules are optimised to work with this module and the memory writer in petes DSPModules is it turn optimised to work with them.

Pete.

BTW Mathis
The microsounds haven't yet been give optimum Cappy360 scheduling but I still wanted then to work with the cappy 66. Also I'm still not 100% sure about the querks of the DSPs cycle requirments so I've left them longer then is ness to be on the safe side. If we find that they are scheduling badly, I'll try to do something about it, But remember these are sample rate modules so they will be prossesor hungry in any case. The version that SSC posted to you on the last thread has the two modules you used optmised for the Cappy 320/LE, but these should not be used on a cappy 66 or less.

IP: Logged

keph
Member
posted 10 November 2004 18:02         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by pete:
Maybe I should wrap it in a new class and call it memory reader then it may get the popularity it rightly deservse.


heh. i was just thinking the same thing.

one thing to note about the "memory reader" is if you are playing audio back, be sure to use an audio rate control if you want smooth scrubbing through the file. if you use constant with somelike !index + (!indexrange * (1 repeatingRamp: !scrubspeed s)), then the scrubbing will run at control rate (1000 hz) and have a downsampled feel to it.

IP: Logged

Alain Guisan
Member
posted 26 May 2005 04:06         Edit/Delete Message   Reply w/Quote
Hi Pete,

I know it's a long time, but I wanted to thank you for the step writer and other modules of your library. They have been extremely useful and I could build the kind of circular buffer I was looking for. However, I'm running now into a problem as I use three different step writers in a patch and this causes the Out of Realtime problem. It seems they are all scheduled on DSP 5 (I have six of them). the other four DSP's are totally empty in the DSP meter but I still get this error. (I have a Capy 320).

Do you have any idea of what I could do?

Thanks again for sharing those modules with the community ;-)

Alain


IP: Logged

HectorBenard
Member
posted 26 May 2005 05:46         Edit/Delete Message   Reply w/Quote
Have you tried doing a forced processor assignment?

H

IP: Logged

SSC
Administrator
posted 26 May 2005 13:10         Edit/Delete Message   Reply w/Quote
I think the problem is that the modules that Pete has made do not have estimates of the processing time cost, so Kyma is being overly conservative.

Last year, we modified some of Pete's modules to include accurate processing time estimates and posted it to this forum. Please read the thread for more info: http://www.symbolicsound.com/cgi-bin/forumdisplay.cgi?action=displayprivate&number=7&topic=000160

IP: Logged

Alain Guisan
Member
posted 26 May 2005 17:47         Edit/Delete Message   Reply w/Quote
I tried with the ForcedProcessorAssignement prototype that I could find thanks to Hector's suggestion and this effectively solved the problem, but only when the sound is played from the editor, not in the timeline. In the timeline it seems that the sound is simply not executed anymore (I've put the module right before the output of the sound).

SSC: I will check your version of Pete's modules. Thanks for the link. Hopefully this includes the StepWriter as well. The thread looks very interesting anyway.

Alain

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