You can put it anywhere. Just go to Preferences->Path and add the DIY2 folder to the list. Actually, if you're using extended, on OSX it's easier if you don't put it in Pd's .app package. You can't access those folders with the file browser in Path's dialog.
-
DIY2 - Effects, Sample players, Synths and Sound Synthesis.
-
so some new suggestions
1. make the gain slider so that it has a real 0 to so that one can mute the effect/instrument whatever
2. make a default bypass-button or wet/dry-slideri added a fast example of mono-template with bypass and one possible version of the gain mod
i know you'll make your own decision how to do this if you want it so i didn't put much time into italso i made a mono-gate but it has some issues which can be found through the mono-gate-help
does someone know how to get rid of those bugs?pd redefining mathematics |expr fact(0)|==0
-
so some new suggestions
1. make the gain slider so that it has a real 0 to so that one can mute the effect/instrument whatever
2. make a default bypass-button or wet/dry-slideri added a fast example of mono-template with bypass and one possible version of the gain mod
i know you'll make your own decision how to do this if you want it so i didn't put much time into italso i made a mono-gate but it has some issues which can be found through the mono-gate-help
does someone know how to get rid of those bugs?pd redefining mathematics |expr fact(0)|==0
-
so some new suggestions
1. make the gain slider so that it has a real 0 to so that one can mute the effect/instrument whatever
2. make a default bypass-button or wet/dry-slideri added a fast example of mono-template with bypass and one possible version of the gain mod
i know you'll make your own decision how to do this if you want it so i didn't put much time into italso i made a mono-gate but it has some issues which can be found through the mono-gate-help
does someone know how to get rid of those bugs?pd redefining mathematics |expr fact(0)|==0
-
Love this great collection. Its really helping me learn Pd.
One thing though, in the 303 sequencer, it doesn't seem to properly send the glides out of its outlet. When I print the packed (accent/notelength/pitch/time) message from the outlet, the 4th argument is always 1 whether or not glide is enabled for that step. I can't figure it out because the float object that is supposed to input the extended note time appears to be doing its job, but somehow once its packed, it just ends up as 1. Does anyone else have this problem?
-
the whole 303 thing was just a bit of an experiment. it is full of bugs. i'm not too sure what the cause of the problem is in this case, but there is a pretty high chance that it is just something i messed up. (-matt hardoff)
sorry!
-
Thanks mod for this amazing set of patches and everyone who has contributed.
Any update on the status of DIY3? I would love to get my hands on a revision with the [loadbang] reset issue fixed.
Have you thought about putting the working code on github or another repo?
I have had a lot of fun working with DIY over the last 6 months -- making a lot more music and doing a lot less silent tinkering in Pd.
-
diy3 is a mess! there are too many parts which depend on other parts, and it is a long way from what it should be.
that said, there are some good new bits, and i really should look into fixing it all up. i actually do have the time to do it, but not the patience, at the moment.
hmm, i'll try to get motivated.
-
I will look forward to that!
-
Dear Hardoff,
I echo everyone, this is a truly amazing library.
I have been tinkering around with some of the synths.
Recently I posted a Singal-to-Midi patch (see below) and I am trying to control your [syn-stringsynth] and having trouble finding a way to turn notes off. I tried using one of your envelope generators to help trigger an envelope, but I am having a hard time trying to figure out what the inputs take and what the outputs deliver.
Any help is most appreciated, especially with the amount of work you have already delivered in your amazing library.
Thanks again for the library, and thanks for any help you may provide.
sincerely,
dkeller -
you can't really turn notes off. it's just a synth waveform. so, you would plug in an envelope after the [syn-stringsynth]
i think the envelope is called [eee-adsr~] or something like that
-
Hi Mod,
Thanks for the speedy reply and by your description of what to do, that would seem logical and I tried it. however.....
what I figured out is that you need something like this:
[syn-stringsynth] [eee/adsr~]
\ /
\ /
\ /
\ /
\ /
[*~ ]
l\
l \
l \
[dac~ ]Thanks again, Mod!
dkeller -
@mod said:
>>another suggestion: why not make a lib sub-folder. where you can store such things like modulate. or a scale log which then could work with arguments. <<
that's how i originally did it, but i just wanted to make it so that the modules would just 'work' even if they were removed from the library. i guess i was kind of successful in that regard, because i have spotted some of my drums and stuff inside other people's projects. the only abstraction they need is the 808_state for state saving, but they will work fine without that anyway.
>>currently i guess it would be annoying to change all modulates.<<
i sometimes have a lot of free time
the other day i went through the whole library and replaced all the [loadbang] objects with a subpatch to allow for loadbang on dynamic creation. this meant changing around 100 patches and resaving them.
i will do DIY3 soon then. it is not 'finished', and i have some worries that it is not at all backwards compatible with DIY2, but at the end of the day i am a musician more than a programmer, so the function is what matters.
diy3 'upgrades' include:
a built in sound editor, so you can record loops and sounds and edit them within pd and then export them to .wav files.
some more 'synth' like modules and effects units (tape echo, etc)
inbuilt diy-clock module that ties everything together for sequencing, and then of course some sequencer modules.
vanilla pd compatibility (this unfortunately meant removing some really useful things like the 7 and 13 band EQ's, but they could always be imported from DIY2)
Hello,
I happen to be researching ways to make a tape echo like the old roland type using pure data. Would it be possible for you to put up some of the effects from DIY3 such as the tape echo you mentioned?
-
they are all up, at the link given in the original post:
-
I don't see tape echo in there and the 7 and 13 band EQ's are still there. Are you sure the link has been updated?
That's awesome you went for vanilla compatibility. Maybe I can get some DIY2 action on Android via libpd.
-
not sure, no.
really have to get around to sorting out all the bits and pieces i have and making a new version of this library anyway. i have the time, just not the motivation.
-
mod / hardoff... I'm using these effects for my proyect. Thank you very much.
I discover, using delayfb, that after applying the same effect two or more times, the resulting audio has a negative DC offset.
Use the attachment file and start doing loud sounds and noise. You'll see on different arrays the result.
Can it be fixed?
-
DC offset can be tamed by using a highpass filter. Miller's examples usually go with [hip~ 5]
-
I'm using these FXs A LOT in my project. They are really useful to me. When I have more FXs working in my system, I'll post another WIP post (http://puredata.hurleur.com/viewtopic.php?pid=37430)
Now, I'm trying to emulate a KP3 FX, called "Talk Filter". As the KP3 has a X-Y pad, the manual says that X is for the 1st Formant and Y, the 2nd Formant. I don't think that it really works like that.
It has a feedback delay and, for me, X is a formant modifier, but Y controls the main gain.
Anyway, I'm using a DIY2 st-delayfb and st-material (in "china") to emulate this FX. It sounds very similar. But, when X is at 0, the material change and sounds more "throgh a tube".
Please, hear the mp3 with only that X-Y position and, if you know, tell me how can I modify st-material to get that sound, what are the formants frequencies. I tried by myself, but I couldn't get it.
Or maybe I have to use another filter?
ZIP contains: the mp3, a test version of the FX ("MAIN-fx-talk-filter") with st-material.pd and st-delayfb-modified.pd (only sounds the delay, not the input) and a linear-equation-converter abstract. It uses adc~ and dac~. Be carefull with materials glass1, glass2 and metal... because of the feedback!
Thank you!
-
@unstable said:
Hey I got a question. in the compression patches I can kind of get my head around the amp factor section. But I don't get any of the att/rel section. Can anyone explain what that sgn~ (signum) is/does ? Secondly I can see the table is effected by the release but not really on the attack. I can hear the attack. The block size is 2. I'm guessing if the default block size is 64 samples then 2 means 128?? Or is it actually 2 ? This outputs a frequency between 0.019 and 57 into a VCF along withe the original amp factor. Any advice ?
ok, so the [amp-factor] stage is giving the amplitude of the signal, scaled according to our threshold and ratio settings. This will either be positive if the amplitude is rising, or negative if it's falling.
next we go into the [att-rel-filtering] section, where we separate the attacks (positive) from the releases (negative)
[block 2] really does mean that the blocksize is only 2 samples. This is so that the [tabsend~] and [tabreceive~] objects deal with packets of two samples at a time,
giving us a sample delay between the input signal and the signal received by [tabreceive~]. If the blocksize were the default of 64, then we would have a 64 sample delay, and our compressor would not work at all well.sgn~ just gives the sign of the signal, so -1 for negative numbers and 1 for positive ones. note that we are dealing now with just the AMPLITUDE of the signal, which has been scaled in the [amp-factor] section so that rising amplitude (ie, attack) is positive and falling amplitude (release) is negative.
that is then split apart using [max~ 0] with attack sent to the left outlet and release sent to the right outlet. The attack and release stages are both scaled separately (attack scaled by 0.019 to 57, and release by, i think, 0.00019 to 5.7) (and i don't know exactly WHY 57 was chosen, i'm sure the patch would work just as well with 50 or 60)
then we go through the [vcf~]. Although vcf~ is normally used to shape the frequency content of a wavform, in this case, it has a different use. It is smoothing the amplitude signal. So, if we set a fast attack, then the vcf~ will have a cutoff of 57hz, and our compressor will attack within 20ms. if we set a slow attack, then the vcf~ will have a frequency of 0.019hz, and the compressor will take a few seconds to fully attack.
finally, the original signal is multiplied by the compression factor, and sent along its way.
There are some quick mods you can do to this patch, too. A sidechain compressor, essential for any sort of 'french' electro sound, can be made by adding another inlet~ for a second audio signal, and taking the inverse of the compression factor, like this:
[pd att-rel-filtering]
|
[-~ 1]
|
[*~ -1]and then multiply your second signal by that.
also, it is fun to take the compression factor output to its own [outlet~] and use it as a modulation source for filter cutoffs for synth sounds, etc.
anyway, hope that clears things up a bit?
have fun!