Meditation background generator
Great work, hamster!
Like lead, I've been playing this patch for over an hour and continue to be impressed. Along the way, I printed everything out and have been analyzing your meditation generator.
I'm not done yet, but the following may help others get started with their own analysis:
Starting with main.pd and working your way down:
1. main.pd can be broken down into three major sections. The top section consists of everything between [metro 5000] and [snapshot~] / [route ...]. The middle section is the row of ten identical structures that each start with a [stream~ ...] and end with a pair of [throw~ ...] objects. Finally, there is everything below those ten structures.
2. The top section produces LFO modulated envelopes on the left and ten-note sets on the right. This data is passed down to the middle and bottom sections.
3. The middle section is a row of ten similar synthesizers. Each synth gets its initialization from the top section. The meat of the synthesis is in [stream~]. As far as I can tell, it is very carefully filtered noise. The output of [stream~] is sent to a tuned bandpass filter, and then panned slowly from left to right.
4. The bottom section has four significant subsections: The mixer/processor is at the top left and the pad generator is on the right. Below these two sections is a pair of custom reverb units. At the very bottom is the [master] output and recording section.
5. I don't fully understand what is going on in the mixer/processor, though it appears that the left and right channels each get bandpass filters (by stacking a pair of [hip] on top of a pair of [lop]) and are randomly assigned independent control envelopes.
6. The pad synth on the right sounds like white noise, but is built around a trio of [osc~] units. Ironically, the ten identical synths in the middle section are built around [noise~] but don't sound like noise!
7. The custom reverbs are defined in [freezeverb]. It seems to be built on a total of 28 300ms delays. I don't understand how it works, but the layout is very nice to look at!
8. Finally, the output and record sections at the bottom seem fairly obvious.
Sample masher and drum sequencer
Hi Tim,
First, I'm using pd 0.42.5-extended on a Windows system.
I discovered that your drum sequencer and possibly other sections of the patch are not working due to problems in "pd effectsunit" referenced by drumguts
In effectsunit:
First thing I noticed was that there were numerous [spigot~] objects. Evidently [spigot~] does not exist in the windows version, but I did find this thread with an abstraction that works: http://puredata.hurleur.com/sujet-1181-spigot
After adding that abstraction to my system, the drum sequencer is working properly. I observed however that the system wigs out if the bpm is set to 0 (the default), so you may want to set some non-zero default BPM.
The Vanilla Samples section is also working as expected.
However, I'm not able to get anything to happen with the left and right turntable sections. I can load a sample into it, but nothing happens.
Also, I'm not sure what is supposed to be going on in the area between the two turntables, but I'm getting an error in the console window:
playlist .text 150 100 \{Helvetica 10 bold\} white grey black red
... couldn't create
GEM and multiple video signals
Well yes I need to take 3 video signals and stack a section of them to form one body or image.
so divide the image plane into 3rd's and put them one on top of the other. The idea is to have a section for head, torso, and legs, so they will be stacked vertically.
[gemframebuffer] i am assuming is the entire buffer for that video frame? So could you unpack it as raw YUV / RGB data and recombine the sections into one frame or is there an easier way to do this?
Woblay
Woblay is a stereo vibrato effect. It contains a left and a right section, with a link toggle which makes the right follow the left controls. Each section contains 3 sets of two controls (being frequency (F) and frequency-multiplier (oX)), with each set having different values. In the middle is a feedback slider (fbk). This feedbacks the right output to the left input and vice versa. It adds some kind of phasing.
Each section also contains a time (T) slider which will smoothly evolve the change of parameters.
There are no presets yet, but what i do is :
- enable link
- choose some values left (right will follow)
- slightly change the right values (a bit more or less)
- turn up the feedback
Its sounds range from mild boards-of-canada-like vibrato (on synths e.g.) -> total mashup of beats.
To use it just copy the controls and the [pd woblay] subpatch into your own and connect input at top, output at the bottom.
Have fun,
Domien
This is a slightly improved (i guess) version with the following changes :
- graphical : it's now visually indicated which slider (freq / oscX) has been last selected.
- functional : added a random slider to the right section. When link is on, the right counterpart will be randomized according to the selected amount
- functional : time sliders are now also linked
- functional : added some patch initialization
There's a serious amount of overhead now in the patch and people might ask why i have not implemented some parts using abstractions. That is because i like patches to be self-containing and therefore easily reusable by just copy/pasting a sub-patch/GUI from one patch to another, without worrying about missing abstractions.
Have fun,
Domien
Woblay
Woblay is a stereo vibrato effect. It contains a left and a right section, with a link toggle which makes the right follow the left controls. Each section contains 3 sets of two controls (being frequency (F) and frequency-multiplier (oX)), with each set having different values. In the middle is a feedback slider (fbk). This feedbacks the right output to the left input and vice versa. It adds some kind of phasing.
Each section also contains a time (T) slider which will smoothly evolve the change of parameters.
There are no presets yet, but what i do is :
- enable link
- choose some values left (right will follow)
- slightly change the right values (a bit more or less)
- turn up the feedback
Its sounds range from mild boards-of-canada-like vibrato (on synths e.g.) -> total mashup of beats.
To use it just copy the controls and the [pd woblay] subpatch into your own and connect input at top, output at the bottom.
Have fun,
Domien
This is a slightly improved (i guess) version with the following changes :
- graphical : it's now visually indicated which slider (freq / oscX) has been last selected.
- functional : added a random slider to the right section. When link is on, the right counterpart will be randomized according to the selected amount
- functional : time sliders are now also linked
- functional : added some patch initialization
There's a serious amount of overhead now in the patch and people might ask why i have not implemented some parts using abstractions. That is because i like patches to be self-containing and therefore easily reusable by just copy/pasting a sub-patch/GUI from one patch to another, without worrying about missing abstractions.
Have fun,
Domien
CompDR drum generator
This is my try at a no-sample drummachine. It's a rather complex machine, so i'll try to explain it as clear as i can, but still probably very unclear
To just make sound, you should (normally) do this :
- select a preset (bottom left)
- press the run button (top left)
Some more functions:
- there are four instruments (2 bassdrums, 1 snare, 1 hihat/cymbal thing), you can control their levels in the mix section
- each instrument follows one of the tables at the right (not the fifth one)
- to access each instrument's controls click the [pd controls] object. I won't explain each control, just try them. However, each instrument has a pink radio-strip, this selects which table the instrument currently uses. The brown radio skips notes.
- to ad grit, use the woodfire section (beware of your ears, although it will diminish the output level). This is my go at a constant-output-level thing (is this some form of compression?).
- there's a (vst) reverb section for which i normally use the free PSP pianoverb (its controls are mapped in the verb section parameters). The input to the plugin can follow the fifth table, by using the [folw] toggle. This might be a rather confusing section
- there's an FM section which can follow the snare and/or hihat (blue toggles in the mix section). The five sliders in the main section control the fm amount/depth/filter
- the green slider in the main section is the main level
- the organe [hp] slider is the main highpass-level
Something about the tables. Each table has a set of controls:
- Dark red clears the current pattern
- Dark blue randomizes the entire pattern
- Switch the green toggle on the record notes with the spacebar
- Light red button clears all notes except the recorded ones
- Light blue button randomizes all notes except the recorded ones
- The buttons marked < and > shift the pattern left/right
- The radiostrips selects an other pattern
- Patterns can be loaded/saved by the green/red buttons bellow the radio strip
- The very small green toggles enables/disables the auto-load-pattern function
- The randomization depth is controlled by the yellow slider bellow
- The orange slider / grey radio controls the number of steps played
Enjoy it.
Domien
Best EQ for save CPU load
[*~ ] just multiplies the signal by a number or fraction. so, if you multiply by 0.5, the volume of that signal will be half.
then, a basic eq would have stuff like this:
a) lowpass
[lop~ 500]
midpass
[hip~ 500]
|
[lop~ 2000]
c) highpass
[hip~ 2000]
for ease of drawing here, let's use a send/receive pair to show what happens to the signal in a simple one channel eq:
[inlet~]
|
[s~ my-signal]
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[lop~ 500]
|
[throw~ eqd-signal]
there's the lowpass section. we just multiply the signal by a fraction between 0 and 1 to decide how much of the signal goes through the lowpass section.
here's the mid eq:
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[hip~ 500]
|
[lop~ 2000]
|
[throw~ eqd-signal]
again, we just multiply the signal's amplitude to decide how much will go through the mid-eq section.
and finally the high end:
[r~ my-signal]
|
| [0 ....-> 1]
| |
[*~ ]
|
[hip~ 2000]
|
[throw~ eqd-signal]
then...we just catch~ all the signals at the end, and output to our speakers, or headphones or whatever:
[catch~ eqd-signal]
|
[dac~]
so, if you were to multiply that into 120 subpatches, every subpatch would contain 3 amplitude multiplications [*~ ] , and then 3 sets of filters.
however, because the 3 filter sections will be the same in every subpatch, you can just multiply the amplitudes (very cheap on cpu) and then output all 120 signals to one group of filters before going to the output.
if you look at the eq i posted as a patch, the aplitude multiplication occurs AFTER the filters. so it would be like:
[inlet~ ]
|
[lop~]
|
[*~ ]
|
[outlet~]
but, you can switch the order and have the same result:
[inlet~ ]
|
[*~ ]
|
[lop~ ]
|
[outlet~]
Savepanel/openpanel
i had a good look. it's still difficult to find the source of your error.
the stuff you posted originally about the [openpanel] and the [t b b s] all seems to be ok. i checked through it, and nothing seems to be out of order.
so then i read your post again, and you said that the Q and FW sections are working fine, but the q, w, e, r sections have trouble.
so, i looked at those sections, and found one main difference:
the Q and FW saver sections all only write one float value into the tables.
HOWEVER, your q,w,e,r saver sections contain [unpack] objects, and distribute those numbers to various tables.
for example:
[pd MW-q-saver] starts with:
[r $MWq-llfo]
|
[unpack f f f f f f f f f f]
i think somewhere, when you are packing those numbers together, you may have an error.
have a look and see if that's your problem.
also, i don't think this is the source of your errors, but as far as i know,
is not really 'correct' in pd. for sends and receives, you can use $0-abcd, $1abcd, $999xyz, etc...but the $ is meaningless without a number after it.
anyway, for the moment have a look at how you are using [pack] and [unpack] because i think you may find an error there somewhere.
also, try to save some presets in your q,w,e,r sections, and then open the textfiles in a text editor and see if you get the numbers you expected. if the numbers are correct, then you know that your save mechanism is working, so the error must be in the load mechanism. vice versa, if the textfile numbers are wrong, then you know you are making a mistake when saving the text.
good luck. it looks like an interesting project. are you using pd to control your beehive or something???
Cannot access Startup dialog!?
Hey there
I tried installing Gem by specifying the binary file in Pd, after reading the Gem readme.
I tried typing various things into the Startup dialog box but none of them worked, so I tried typing explcitly what was written in the readme (i think it was "pd -lib Gem"), including the speech marks.
Now when I load up Pd the Startup dialog box won't open at all! I've tried re-installing Pd to reset it, as it obviously doesn't like what I put in, but even when I re-install it still remembers the command i input... why is this? Needless to say it still won't open the Startup dialog.
Any suggestions?
Pd digital waveguide implementation
Sorry, I was not clear enough... What I want to implement is a digital waveguide model of a human vocal tract, which is like a tube with a variable section along x axis. But the first step is to do it for a constant section tube.