![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Petes New DSP Modules | |
pete Member |
![]() ![]() ![]()
I've just started programing in DSP code. Attached are a bunch of building Brick type modules that might come in handy, but don't get carried away with them as I still need to do more refining , although I'll try to keep the front end the same. It contains an RCL emulating filter (I don't know if this is the musical filter that people have been talking about but it does ring quite nicely when you turn up the Q). It contains a multi tap delay line (max 50 taps), a step writer and many Indexing modules for reading and writing at different rates and directions. A bunch of logic modules and latches all for use at sample rate. A divide module with scale. Where possible I've made them controllable at sample rate (not Hot rate) and tried to keep every thing else hot. Hope you find them useful and I wouldn't mind any bug report's. Enjoy Pete IP: Logged | |
Mark Member |
![]() ![]() ![]() A question for everyone, but primarily SSC, is there a simple way to combine userprog files, or append them? Between David's filters, Dennis Leas's LCK, and now Pete's DSP modules, it'd be nice to be able to either combine them or somehow load more than one userprog file. P.S. A big thank you to the above mentioned and everyone else who has taken the time and effort to share their work on the sound exchange! Best- Mark IP: Logged | |
SSC Administrator |
![]() ![]() ![]() Sorry but for the moment, it's not possible to merge the user microsound collections. It's on our list, though! IP: Logged | |
pete Member |
![]() ![]() ![]() For the time being If David and/or Dennis give me an email address (or if they want me to send it through SSC (SSC willing)), I'll send them an opened up copy of my "USERPROG" or If David gives me permission I'll add his to mine when I get around to it, that's if enough people want it. Pete. IP: Logged | |
capy66n320user Member |
![]() ![]() ![]() Hi, It would be greatly appreciated if David, Dennis, Pete and SSC would combine Thank you all in advance! IP: Logged | |
David McClain Member |
![]() ![]() ![]() Hey Pete!! Nice going!! Here's my E-mail address for getting together in the microsounds... dmcclain1@mindspring.com Cheers! - DM IP: Logged | |
Bill Meadows Member |
![]() ![]() ![]() This is a very nice set of additions to the Kyma prototypes - I have an immediate use for several of them! This is the great thing about an active user's group - adding to and extending the power of the tool. This has been going on in the MAX/MSP world for years, which means you can find a widget for just about everything. Thanks, Pete! (Now if we could just use everyone's user code at the same time!) IP: Logged | |
Bill Meadows Member |
![]() ![]() ![]() Pete, I can't seem to use your microsounds. I renamed them "User Microsound Classes" and put that file in the program folder. When I start Kyma, it initializes the Capy twice, then generates an error message. Was this compiled for Kyma 5.26, or an earlier version? IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Bill If you want to use it on a mac , prior to changing the name you have to do an import in kyma. This has to be done while the .asy extension is there. Then you can change the name. If its not that then I'm not sure which ver of kyma I used . I won't be able to find out until Tuesday, but I don't think they've changed that bit. Let me know if your still having problems and I'll try to reposting it. pete IP: Logged | |
dennis Member |
![]() ![]() ![]() Alright! New microsounds! Yes! Let's get together on this! dennis@greenteasoftware.com - Dennis Leas IP: Logged | |
tenhus Member |
![]() ![]() ![]() Pete, Fantastic job! Very useful stuff! One function I would like to through in the suggestion hat, is a tap delay with a 4 or 6 band eq as part of the feedback loop. This is a tremendous tool for building high end reverbs with realistic wall absorption on each unique random echo. Cheers! IP: Logged | |
pete Member |
![]() ![]() ![]() Hi tenhus What you want to do can be achieved by turning off the feedback inside the module and using the kyma feedback pair externally to the module. The kyma feedback pair is a delay in itself, therefore if you mix the input with the "feedback out" signal going through the EQ module and feed this mix into the "feedback in" module and the multi tap module you will get the same result. If you need the delay of the feedback path to be hot variable then you can put a normal kyma delay (with variable delay) module before EQ and set the feedback modules delay to say 32 samp. This would be like putting the EQ in the FBTap path. If you wanted the EQ in the "OutputFeedback" path then do the same as above but with the "feedback in" module being fed by the output of the MultiTap and set the feedback modules delay to its minimum. The three feedback paths built into the MultiTap module are single common to all types of feedback and were added in because it didn't need much processing. What I do have in mind is another module with multi independent delays each with there own feedback and each feedback with its own simple low pass filter, all separately controllable. This would be for making the hope it helps Pete. IP: Logged | |
tenhus Member |
![]() ![]() ![]() Yes to use complex eq’s on each tap is more for the bulk tail of the reverb, where fewer elements are required. What I’m trying to do is to manually simulate a ray tracing early reflection pattern. There’s a new VST verb out called “silver spike” http://www.silverspike.com/PlugIns/Reverb_it/reverb_it.html Regards, “What I do have in mind is another module with multi independent delays each with there own feedback and each feedback with its own simple low pass filter, all separately controllable. This would be for making the IP: Logged | |
tenhus Member |
![]() ![]() ![]() Here’s a thought, and you tell me if it’s crazy or not. How about a single filtered tap delay where each time it feeds back it picks a new delay time and filter freq from a table? Tobias IP: Logged | |
pete Member |
![]() ![]() ![]()
David McClain has kindly merged both his and my USERCODE.asy s into one. So attached is the merged code, code named "SemiWombat". also a corrected version of my class "SlewRateLimiter". It now allows a pulse wave to be turned into a saw tooth if the up time is set to zero. IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Tobias I don't think that the silverspike is dynamically changing it's state. What I think they my be doing is using multitaps with feed back out of the final tap through a filter and back into the input similar to what was described with the FBtap version above but making the multi tap so long that any repetition is unnoticeable. therefore to do this part you might need more than fifty taps and need to have a second or third multi tap module running in parallel This could help out with creating sterio. This would mean that if a short sound were passed through the system that the damping effect would tend to switch in steps during the decay process. Maybe there algorithm makes a gradual dampening by choosing the best tap setting to cause natural damping as happens in convolution. I suspect that the EQ for the early damping and the late damping is like having separate multitaps for the early reflections and late reflection and EQing there outputs. We may find that they are using resonators as used in most conventional reverbs (as per the multi resonator I had in mind) , to give the bulk of the reverbs decay and then using a more humble multitap to add a bit of randomness to it. With out playing with it I can only guess what they're doing. Does this make sense ? Pete IP: Logged | |
pete Member |
![]() ![]() ![]() btw LFOs and changing control setting on the multitap is not very good. The kyma delay has good smoothing built in but the extra DSP power needed for me to add it to the multitap would have been too high. The reason I made the controls hot was so that you could try different setting with out having to re compile. IP: Logged | |
taylor12k Member |
![]() ![]() ![]() so, from what i've gathered, it's only possible to use ONE user microsound file, correct? which means it's either these, or the green tea software ones.. yes? not that i can't switch back and forth.. but it would be great if they ALL merged, or if SCC implemented some way to use multiple microsound files...
quote: IP: Logged | |
pete Member |
![]() ![]() ![]()
I've played with the silverspike demo and I think I know what there doing. About 4 years ago I thought of an idea of making damping happen with out putting the EQ in the feedback path or having to have an EQ module for every tap , and I think they are doing the same thing. First they are not using any resonators, it is purely many Multytaps interlinked. It seems that the level of each tap is calculated by its position in time of exponential curve determined by the Decay control. The randomness is in the timing of the taps but there is no randomness in the actual level. The level feedback from the last tap to the input is calculated by the same formula so that the same exponential decay is maintained no matter how many times a signal has gone round the loop. For this you wouldn't even need external feed back the internal would work just the same. The Tap times never change only the levels therefore with my multi tap you would never get the none smoothing clicks. A separate delay would be needed for the pre delay (not the one in the module). This is how the damping works. First we use two multitap modules as above with exactly the same tap time positions but there levels and feedback are controlled by different decays. The multi tap with the shortest decay is fed to the output mixer. The short decay multi tap is also inverted and mixed with the longer decay multitap which is the fed through the Damper EQ and then goes to the output mixer. So when a sound pulse first arrives it is being routed to the output but nothing is routed to the filter because both multitap outputs are at max level and get canceled out .As time goes on the fast decaying multitap reduces the non EQed signal but the two multitaps are no longer the same level and signal starts to arrive at the EQs input.That's how it works with one EQ and a third multitap can be used for the second EQ. I need to remember the interaction between them but it can be done. The other filters are just non time dependent and can be added to the input. To get stereo it will need another three multitaps. A seventh multi tape would be needed on the input. Its taps would be very much closer in time and the levels would be more random. Adjusting an exponential attenuation to these taps this would control the density. I've attached some aiffs recorded from the verb which show the tap placement when the density is turned down I think it repeats after every 30 taps meaning that that's how many taps the multi taps would need. I couldn't see a difference between the hi quality and the lo quality but I've attached both. does this make sense Pete. IP: Logged | |
tenhus Member |
![]() ![]() ![]() Pete, Your EQ damping theory is genius! I have a strong feeling this is how the big boys are doing it too. Both the TC6000 and the 960 have very nice sounding EQ curves on the reverb. Doing it this way would allow for a better sounding EQ without loosing tons of DSP, since all you need is one perhaps two instances. However they use convolution or beam tracing for early reflections. So Silver spike has 30 taps and yours 50. That’s the way to go! smoother long decays. Also your model would be fairly easy to implement in surround. By the way, here’s a pretty interesting link to a research paper on beam tracing reverbs. http://www.cs.princeton.edu/%7Efunk/acoustics.html Take care! IP: Logged | |
tenhus Member |
![]() ![]() ![]() Pete, I’ve been playing around with your idea a bit, but there’s a few things I’m wondering about. If the only reason having two tap elements inverted and linked, is to create the decay, then why not just use an envelope to change the blend between pure and EQ’d signal? How about using the second tap with different timings instead to create a more dense randomness? Regards, IP: Logged | |
pete Member |
![]() ![]() ![]() Hi Tobias When we think about what is happening inside reverb we have to think about one moment of sound and how its being treated, that's the only way we can get our head round it . We must however remember that it is really a stream of sound and that while that moment of sound is being treated , the previous moment of sound and the next moment of sound and all the other moments of sound before and after them are all being treated at the same time by the same equipment but at different stages of there life cycle. An envelope would not treat all these moments in the same manner. i.e. when would the envelope start, what would trigger the envelope ? If it where the peaks of the sound that triggered this envelope what would happen to a decaying sound if another peak came along. Any way your idea about a second multi tap to increase randomness was just what I was thinking about. If we used two 16 tap delays instead of one 32 tap and gave them slightly different feedback times we would increase the randomness. Then again if we used four 8 tap delays we would increase randomness even more. If we take this to the extreme we get thirty two slightly different single delays each with there own feedback. Guess what it becomes ? Answer: A multi resonator. I'm not sure that the big boys use the duel multitap decay filter method, as it has a different sound. If the filter is in the feedback paths , it's as if the signal is being passed through it again and again. This means that the cut off frequency moves with each iteration. The multitap method only changes the amount if filtering during the decay time not the cut off frequency. It was the sound of the Silverspikes decay that led me to think it was using this different method, but I don't find the silverspikes decaying filter unpleasant. Anyway I've worked out how to do it with two decay filters and three multitaps. Inside the multi taps the Tap time is filled with a list of the Tap times in seconds, and the 31st tap time is put in the FBTap time. In the tap levels, each entry into the list is put like this where X is the No of second the corresponding tap time is, and Decay is the time it would take for the level to decay by half. {1/(x/Decay) twoExp)} FBTapLevel will have the same formula but x would be the FBTap time. In "MultiTap A" the Decays would be the overall reverb Decay. These formula can be shortened using the collect function. I'm doing this from my head and as I only have a cappy 66 in sunny surbiton they might be a bit wrong. Pete IP: Logged | |
taylor12k Member |
![]() ![]() ![]() hi, i'm having trouble getting Pete's new DSP modules to work. i thought simply renaming the ASY file to User Microsound Classes and putting it in my Kyma folder would do the trick, but i think i'm missing a step. can someone tell me what to do with both the ASY file and the "Pete'sDSP..." file? thanks... (ps: i'm on a Mac, if that makes a difference)
quote: IP: Logged | |
pete Member |
![]() ![]() ![]() Hi taylor The first thing you must do on a mac is to import both the USERCODE.asy and the PetesDSPMods.kym. You do this by choosing import from the file menu within kyma, and selecting the files one at a time. You can just cancel when it asks you to select a third file. It is IMPORTANT that you do the import BEFORE you change the name of the "USERCODE.asy" file to "User Microsound Classes", as the ".asy" tells kyma what to convert it to. After importing and changing the name to "User Microsound Classes" you should place it in the "Program" folder which is inside the Kyma folder. Then you must restart kyma and you should see a message "loading user microsounds" sometime during bootup. Then you can open PetesDSPMods.kym as if it where any other sound file. It doesn't matter where this file lives. This contains the new modules (that make use of the DSP code) which you can use in your own sounds. btw If you use the USERCODE.asy file posted on 15 may half way down this topic, instead of the one posted at the top of this topic, you should be able to use David McClains modules as well. Let us know if you have any problems. Pete IP: Logged | |
taylor12k Member |
![]() ![]() ![]() hi pete thanks for the info.. however. after following your steps (i have done this before, successfully, with the LCK modules, so i know it can work!) the message #errorInClass:with Code:errorString:,sent to nil, an instance of class UndefinedObject, was not understood. i have taken my User Microsounds Classes file that belongs to LCK and filed it away in an LCK folder... you don't think Kyma is still finding that one, do you? any help would be appreciated.. thanks for your time
quote: IP: Logged | |
pete Member |
![]() ![]() ![]()
It looks like I've been using an old version of Kyma. I've now encoded it using 5.26 instead of 5.25. I think this attached one should work. Its semi wombat i.e. it contains both David McClains and my code. Please let me know if it woks O.K. Pete. IP: Logged | |
taylor12k Member |
![]() ![]() ![]() i think everything is working now... i can successfully open "Pete's DSP mods", the LCK prototypes.... but, which files are David's? is there a separate file... ie: "david's dsp mods" that i should be able to open? or are his mods mixed in with "Pete's DSP..."? thanks
quote: IP: Logged | |
Bill Meadows Member |
![]() ![]() ![]() quote: David's are separate - filters mostly - that he uses in several of the Sounds he has posted over the last year. IP: Logged | |
dennis Member |
![]() ![]() ![]() Hi All! I've successfully merged David's and Pete's microsounds with the LCK microsounds. The combined "full wombat" distribution is available free for registered Looper Construction Kit owners at the Green Tea Software website (www.greenteasoftware.com). The wombat distribution coincides with the newly released update, version 3.02, of the LCK. If there's community interest (and the authors' permission), I can post David's and Pete's prototypes that go with their microsounds to a publicly accessible download area, too. Dennis Leas IP: Logged | |
phillipm Member |
![]() ![]() ![]() I'm still having trouble with installing 'usercode' (never done it before) .... anyone know where the procedure is covered in the manual?
[This message has been edited by phillipm (edited 12 June 2003).] IP: Logged | |
cristian_vogel Member |
![]() ![]() ![]() Can anyone post a guide how to get these new DSP modules into Kyma X ? I'm a new user, and I can't seem to figure it out - Davids IIR filter always seems to be not installed IP: Logged | |
yenorom Member |
![]() ![]() ![]() File->Choose microsounds IP: Logged | |
photonal Member |
![]() ![]() ![]() Dennis Do you have a TryOut version of your LCK available? btw, "Looper Construction Kit without CD on-line distribution only $349 Considering that you could almost buy Ableton Live for not much more, I think your prices are way too expensive. It's a shame you don't share your sounds with the Kyma Community Best regards, Andrew [This message has been edited by photonal (edited 28 March 2006).] IP: Logged | |
cristian_vogel Member |
![]() ![]() ![]() quote: I would have to agree there. Good art has no set-price , but software?? 35 - 50 bucks would be about right, if you don't want it to be shareware. [This message has been edited by cristian_vogel (edited 28 March 2006).] IP: Logged | |
armand Member |
![]() ![]() ![]() Does the LCK still work under Kyma X? I haven't seen an update ever since! Is there still support on the LCK? IP: Logged | |
Scot_Solida Member |
![]() ![]() ![]() LCK seems fine to me... IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.