Spatialization in PD
Hello, absolutelyfree:
These two posts are on the same path you want to walk on:
http://puredata.hurleur.com/sujet-5550-zodiac-flow-based-sequencer-groovebox-gem-gui
http://puredata.hurleur.com/sujet-5515-gem-alternative-guis
It's going to be hard at first, but after some (many) days of training you will be able to do something that suits your needs. Whether you consider yourself a beginner or not, you may like to check on this posts:
http://puredata.hurleur.com/sujet-248-suggestions-noobs
There is also a library in pd-extended to do ambisonics, if I'm not wrong. Type ctrl-b and search for it in the menu.
Best regards, che.
sumidero
NVidia puredyne vs vista
Hey
Once again I'm back on vista. My brief journey to puredyne goes something like this.
from puredyne
partitioned new hard drive with 4 partitions 1-swap , 2 ext4 200Gib, 1 NTFS 200GB . Copied Vista to NTFS partition with gparted(started to do this with dd but with new Gibabits stuff I was skeered but hey a platter is a platter and a cluster is a cluster right). Actually there was a 5th partition in there which was the vista restoration partition but I eventually deleted it for obvious reasons.
Removed old drive ,
took machine to ethernet connection with internet,
booted to vista ,
installed Norton virus scanner - only 1 virus, 2 tracking cookies, and one gain trickler after over a year with no virus scanner, Thats pretty good and shows you can be selective about what you download and where you visit on the web and not get any viruses.
Was trying to get windows movie maker to work with mov codec which it doesnt.
Installed auto updates for the first and only time. this took about 3 hours and still needed to install service pack 1, 2. Aborted trying to update win movie maker
****Problem 1***** MS movie maker does not work with GEM mov video output codec.
Installed latest Nvidia drivers for vista.
Woohooo OpenGl hardware acceleration GEM works so much better in vista now.
*****Problem 2********ASIO for all does not allow 2 applications to run with audio and midi at the same time. If I wanted to run Widi and play my guitar so puredata can receive midi input from guitar ASIO will not allow it but ASIO for all is the only way I can get latency down so this would be feasible.
Got frustrated.
Installed fresh copy of puredyne onto 2nd ext4 partition.
ran puredata audio latency good with fresh install. gem video bad.
used synaptics to install nvidia drivers. v185 I think.
ran GEm error no opengl config.
downloaded gdeb , flash player, google chrome, nvidia drivers from nvidia site.
installed gdeb from terminal, flash and chrome from gdeb.
rebooted to log in as root and iunstalled nvidia drivers.
woohoo hardware acceleration for opengl
******problem 3************
gem works great but audio glitches with puredata window visible.
when only gem window is visible i can unaudioglitchily move the mouse around to control same parameters that would normaly be controled with sliders in pd window.
Seems like before i upgraded nvidia video drivers hw:do o whatever it is, was listed in JackD as realtek HD Audio, now it is listed as NVIDIA HD Audio.
So Gem works great but not when Pd window is open and I think my audio drivers were replaced with Nvidia.
I would really like to get back to my patch and stop wasting time on these operating systems and hardware configurations I thought in the last 15 years all this hardware acelleration and autodetection would be figured out but no all we got is rc.0, rc.01, rc.02, rc, etc...... instead of just rc.d.
Ok I'm getting an error when I exit puredyne that says pid file not found is jackd running. anyone know what that means?
Also does anyone have a keymap for gem keyboard for linux, windows and mac so I don't have to record them.
Any suggestions about what to do about my ASIO problems in windows?
Any suggestions about my audio driver in Linux?
Any suggestions about my GEM mov video / windows incompatibilities?
I can import the mov video and audio to SF Acid 3.0 and output a 2Gb avi then import it into windows movie maker but this is crazy to do for a 7 minute 12fps 320x240 video.
Ahhhhhhhhh!
Any suggestions are welcome!
PS I believe someone could rewrite puredata's audio and video interface in assembly language to control their hardware before figuring out how to get these operating systems to do it.
Beginner
http://puredata.hurleur.com/sujet-248-suggestions-noobs
Start from the bottom (most recent and relevant) and work your way up. And definitely go through all of the examples in Help -> Browser -> PureData -> 2.control.examples at least.
Newbe
http://puredata.hurleur.com/sujet-248-suggestions-noobs
Don't get confused by the first posts there is actually much of use later in this thread.
Handy little oxygen8 midi middleman patch
hi guys! so i've had an oxygen8 for a few years now and i see them everywhere, so i'm sharing this handy little patch i made.
basically you're stuck with 8 knobs, and two sliders (modwheel and data entry). all this patch really does is takes the keyboard's input, numbers those 8 knobs and 2 sliders in sets of 10, and lets you switch between those sets with the hradio for up to 120 different controller values. the key input is passed straight through so even when you switch between various controls you can play the keyboard consistently.
even if you don't have an oxygen8, this patch will give you a little selfcontained set of sliders that you can use as a midi controller... so it's still useful for when you're not at home with your keyboard, or if you don't even have one.
basically all this patch does is take those 10 controls and lets you switch between 12 sets of them. it's useful for me in ableton so when i need to map more parameters than i have knobs for, i can assign more, and the numbering system is much easier to stay on top of than the default control values for those knobs (it's like 17, 80, 74, no consistency it seems).
on linux you should be able to jack the keyboard to pd's midi in, then jack the output to wherever you want. i'm currently on windows and i select usb keyboard in for input, and loopbe for output.
the numbers do nothing but change when you switch the hradio - the sliders are the corresponding controls (with the mod wheel as slider 9 and the data entry knob as slider 10).
come to think of it i don't think i tested the pitch bend wheel, i've been using this patch almost entirely for parameter controlling and not playing the oxygen8 notes at all. [notein] is patched directly into [noteout]
any questions/comments/ideas please, post them. this is a real quick patch i put together that worked almost better than i wanted it to but it can be very expanded upon. i was going to add symbols so you could tag/name all 120 controls but i was having trouble figuring out a way to store them and recall them, and send/receive to the symbols... so i just scrapped that.
basically all i do is make a tiny pd window and make [SCET], and just have that sitting at the bottom of the screen under my DAW (in this case ableton).
i haven't run into any conflicts yet for the most part but it's possible the controller numbering system might conflict with certain apps/synths/etc.
cheers guys!
More midi output device options needed
Yes, I already use something like midi yoke now. It is the standard osx midi routing software called IAC.
I forgot to mention in my question that I use one IAC output port to send signals from the PD patch to Ableton. In ableton I route signals from this IAC port to my MIDI outs (connected to the machines).
The other output I use to send signals to my controller, so that when I change the parameter of a knob I can send the current value of that parameter to the knob of the behringer (when I turn this knob the value doesn;t jump but starts from the value it is actually on).
This liimits my possibilities, I want to be able to filter out signals for certain machines. But now I can only use one actual midi output, The IAC bus.
The nice thing about PD;s midi controller interface is that another midi output is a different midi channel. So when I could have 4 midi output possibilities it would enable me to press a button that says to a knob: send to channel 17 (channel one of the second midi output device) instead of sending to channel 33 (channel one of the third midi output device).
I hope this is possiible. I think it actually is, because there are four midi inputs available.
Getting started with midi controller
I have tried this with the electribes before. The problem is the electribes use the midi control change messages a little funky. From what I remember (I got busy and never actually finished the patch) they send 2 messages for each knob move, one to identify the knob and one to identify the value of the knob. This makes the whole thing a little more complicated then it would be otherwise, but on a good note it looks like it differentiates what it sends based on which sound is actively selected (Example. Synth 1 Low Boost sends a different control then Hi-Hat low boost). This means that if you get it working properly you could potentially have 78 different knobs or so to play with.
Here is a link to the midi implementation.
http://www.korg-datastorage.jp/Software/MIDIImp/ER1.pdf
I will be working on this again but I don't think it will be anytime soon as I have too many projects at the moment.
Delay Pattern
I'll take another stab at a knob.
check this one out. You can send it [label $1( and [background $1( to change the color, and the knobs work much better. Still eats way too much cpu.
http://www.dafe.lukifer.net/pdpatches/crazymachineredux/knob.pd
Still needs to:
autoresize eg. [knob 100] for big knob
eat less cpu.
etc... what else?
Just tried pd but....
> yes, probably. but now I'll try to run it on my Atari ST
Seriously try it if you get time one day. Oddly the Atari ST is still *THE* choice for some serious techno musicians. Why? The simplicity of how the UART is addressed and clocked gives it rock solid midi timing. It's something that seems to elude complex architectures even with the best preemptive scheduling, buffering etc. I've watched top producers take a midi file on floppy disk from their $5000 super Mac/PC systems to have it play back on an Atari for final mixdown. It's one of those analog vs digital type debacles where real experience of good ears trumps what "technically shouldn't be so". The ST lacks enough grunt for useful audio DSP, but as a midi processing hub or sequencer it could be an astonishingly powerful tool with pd if you can compile it.
>mhh... this is just a anthropomorphic vision of reality...
You got me.
>what I need to ask now is where I can find reference for all objects:
>I know that there's no menu of them and i have to type their name in those little boxes, but
>I need to know, at least, what objects I can create, typing their names, is it true?
Yeah that bothers me too. Even after using for it some time I forget the name of an atom and have to go looking for it. I often do something like "ls /usr/lib/pd/externs/ | grep pd_linux$ | less" to see if I actually have something. For windows likewise search the externals directory for .dll files
>so, I would like to have a list with the object identifier (for oscs, filters etc.), their
>details (kind of filters, slopes, ripples etc. for filters, as example ), their parameters (cutoff, Q, etc.)
>is there a documentation like this?
The help files are detailed, well written and easy to use. Once you know that such an object exists. Just right click any atom and select "help". Usually there's an example case.
Check these to find common atoms
http://puredata.hurleur.com/sujet-248-suggestions-noobs
http://ccrma.stanford.edu/courses/154/pd-reference.html
http://pure-data.sourceforge.net/documentation.php
>I know... but I still feel more confortable with a traditional language (C++, pascal), also
>for writing my personal VSTs (you know, for those weirdest things...) I think it's still easier to write "algorithms" with a textual language,
>without a graphical metaphore.
Raw code is not an expedient or practical way to make music. Having used Music(N), Csound, Nyquist (LISP/SCHEME), and all that stuff I can say this from the bottom of my heart after 15 years experience. Pd gives you two really important things from a software engineering point of view. It's modularity and clarity of interface in abstracting things just beats any C++ classes hands down for it's intended purpose - digital signal dataflows. Consequently you get better decoupling and better reuse. One of the few pitfalls for a trad programmer imho is that pd is very dirty on types, in a way it's one of the most badly typed languages I've ever experienced. Ironic for a tool called "pure data", but you get used to it's lovable idiosynchrocies vis lists, messages, numbers, arrays, symbols and generic "anys". Also it's scoping rules leave a lot to be desired, everythings global within one instance of the server unless you say $0- at the head of a name.
>But now I need to teach a course on "languages for electronic music" in classical, academic shool.
>they don't know DSP matchematics or something like,
>so I need to urgently search for use a more "abstract" instrument for doing the lessons...
You couldn't wish for a more appropriate tool. For non maths/physics students you can use the power of abstraction to build "black boxes" like synths, analysis tools and sequencers and then open them up later in the course. As Claude says, it takes about 9 months or more before you really take to PureData. Electronic music is BIG, really big, not as big as space but it's a discipline that just explodes in scope once you get into it. You can waste weeks writing externals in C, or designing a synth, or creating a composition method...you can get really lost on a random walk in d>2. The best way forward is to have a context and a goal. Teaching this course sounds like an excellent vehicle to focus your scope.
>Tried also Jmax but on Windows (required OS, because > 95% students use billgatesware ) is quite unstable
I would make it "unrequired". Put your foot down as course leader/tutor that Windows is unsuitable. In order of preference I would go with Mac, then Linux, then Win. If the students only have Windows then try Dyne:bolic ( http://dynebolic.org/ ), a minimal GNU/Linux distro that runs from a CD in RAM and comes preconfigured with PureData and a smorgasboard of other digital media tools. That said, I've seen it work really well on Windows. Once. I've no hard evidence to back this up, but I feel a disturbance in the force when Pd runs on Windows, as if a million threads cried out at once and were suddenly silenced. I don't think it likes heavily loaded machines and I guess 99% certain the reason it's unstable on Win is down to *other* things running. Hint: a music machine shouldn't double as an email server and GCHQ spyware centre. Start with a clean install and nothing else running and you may have better luck, but that will probably remain stable about as long as a schizophrenic Z-boson particle if you network it.
Sukebe waraii
I like that track, kept me interested and made me smile, and when it finished I wanted to listen to it again - I've listened to it about 5 times this evening. Good work!
I've been trying to make similar sounds. I'm working on doing more live stuff with Pd, it's mighty fun, I can spend hours twiddling with midi knobs making freaky noises. I think I spend too much time fiddling with the knobs and not enough time enhancing my patches - I've not got much to show for the last six months of Pd-ing.
At first I was mapping each midi knob to a single control of the patch, but poorly thought out - in one patch I have 4 breakbeats, and I had 4 knobs mapped to the bpm control of each beat - "bpm 1", "bpm 2", "bpm 3", "bpm 4" - and it was a nightmare trying to get anything to sound good with it. Now I am trying to have more useful controls - "master bpm", "second pair/first pair bpm ratio", "pair 1 bpm spread", "pair 2 bpm spread". Still having 4 knobs to control the 4 bpms, but in a more musically useful way. Like a mathematical change of basis or change of coordinate system.
Another way I am trying to make live performance easier is using algorithmic processes - instead of controlling every beat I control aspects of a process that generates the beats - instead of being the drummer and the bassist and whatever else I am more of a conductor or director, controlling "jitteryness" or "density" or whatever. These processes can have a random part, so the live performance takes on a new element of reacting to the unpredictable output.