text:
99 result(s) matching "has-anyone-considered-running-net-label", (0.10 seconds)
Has anyone considered running a Pd Net Label?
Similar to Cycling '74: [http://cycling74.com/products/c74music/][0] Now keeping in vein with the Pd community; Back in the day, I released original music on a (free) net label based in Manchester, UK called "Hippocamp." It was a fantastic electronic community with peeps from all over the world. Sadly, no one had the time to continue running it. [http://hippocamp.net][1] All releases were free to download and all under Creative Commons License. All music was stored on [http://archive.org][2]. I got my first every national BBC radio airplay thanks to this kind of operation. Just a thought, perhaps worth considering. Ricky [0]: http://cycling74.com/products/c74music/ [1]: http://hippocamp.net [2]: http://archive.org
How to add/remove MIDI notes from a list using MIDI in and note on/off?
I need to populate a list with the MIDI notes that are being pressed, and remove the note from the list when the key is released. One idea is to use [notein], and if the velocity is> 0 then add the note to the list, and if the velocity == 0 then remove the note from the list. But I have no idea of how to implement this. I think I need [list-extend], [list-find], and [list-delete], but I just can't figure out an implementation. How can I do this? **EDIT: solved the problem and have a working patch. See my reply below for details.**
Audio clicks when a not audio related section of my patch is run.
Each time a big sectoin of my patch is run it causes an audio pop. The section of the patch uses [until] to iterate over arrays and do calculations. How do I stop this from happening? There is nothing in that seciton of the patch which is audio related.
Two DIFFERENT midi notes in PD send the SAME note to synth
Hi folks, Making a sequencer. Everything was going fine until suddenly this problem showed up, and I'm not exactly sure when or how, but now it is persistent. I have cut out nearly everything in the patch, just to show you the bare problem. I have PD going through IAC bus to Massive (also tried with other external synths), but MIDI note 52 and 53 sound the same. I have noticed this occurring with other notes too that are a semitone apart, like 57 and 58 sometimes. Anyway, if I manually put these numbers in instead of the sequencer, the external synth can suddenly play the two independent notes, but not if the sequencer sends the notes. Sending these MIDI notes to a PD oscillator works just fine. Any idea? This realllllly has me stumped... File as attached. Cheers lads! [http://www.pdpatchrepo.info/hurleur/NoteoutSequencerBetaXXX\_copy.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/NoteoutSequencerBetaXXX_copy.pd
Problems running PDMTL after activating needed libraries
hi everyone. first of all thanks for your time. i cant run pdmtl. i activated all the libraries it needs. checked info.pd, no red squares there (except for pyext but its optional) so it should run just fine. however when i open any help file on pdmtl when i activate the gem window it shuts down PD. i saw the step by step installation on wiki.dataflow.ws/PdMtlAbstractions/Installation. it looks funny that the PDMTL folder should be on the root directory on C: instead on the extra folder. is this ok or should i try the extra folder? and dont quite understand step 2\. why is it not running right? please can someone help me? i really need to visualize a sondwave on the gemwindow and i think the best way is with the gemscope of pdmtl also if someone knows a better way to visualize an array on gem feel free to post it.
Minimum specs needed to run this patch at low latency?
Hello. I put together this guitar patch for live effects and some recording capability. I quite like it, and the sounds that I can get, but its usability is really limited by latency which by me estimate is close to half a second. I am running it on a dell inspiron 1420, which was a cheap laptop even when it was released about 4 years ago... So I was wondering, especially since I am planning to buy a new (laptop) computer, if it is even realistic to run this patch at usable latencies (\>50ms or so). and if so, how "good" a computer would have to be. I attached the patch... Thanks in advance! [http://www.pdpatchrepo.info/hurleur/guitarrr.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/guitarrr.pd
Note off - Note On
Hi all I'm working on a generative music system. My system creates a stream of midi notes that I can play through any midi synth. The problem is that some times the system plays a note that is still playing and this create an unwanted sound effect (like a very short - staccato note). I trying to figure out how to solve the problem! I think I need to know what are the notes the system is playing at every time, so I can check if every new note the system is going to play is similar or different from those notes. Do you know if exist any externals or patches to solve this problem? Do you have any idea about how to solve this problem? Alon
Transposing midi notes with controller and note si
Can anyone suggest a patch to look at or give advice on the following?: I want to raise all recieved midi notes one semitone in response to the arrival of one specific midi note (eg 51), while at the same time preventing note 51 itself being passed on. I also want to transpose notes by a specific value in response to recieving input from a continuous controller. I would be grateful for any ideas you might have
Missing notes using vst~
Hello, I am using vst~ module in order to generate audio from MIDI files with a VSTi plug-in. I have noticed some missing notes in the audio: when simultaneously sending several "note" messages, it seems that only the last one is taken into account and generated. I must add a delay between simultaneous notes, say 1.5ms, in order to have them played (which is not convenient). It seems to be independant from the VSTi plug-in since I have the same error with various plug-ins and no error when using Cubase. Do you know what happens and whether there is a solution? An example file is attached, which used a free VSTi (MrTramp.dll, [http://www.soundfonts.it/?a=read&b=20][0]). BR, Valentin [http://www.pdpatchrepo.info/hurleur/test\_vst.pd][1] [0]: http://www.soundfonts.it/?a=read&b=20 [1]: http://www.pdpatchrepo.info/hurleur/test_vst.pd
File not found error
I have used MAX a little and just downloaded PD. Why can't I get it to find and play my sound files? -Under preferences I set the path to Users/Shared/PD/ This is where I put all the .aif files I wanted to use as well as patches. -In the patch I tried \[open Users/Shared/PD/file.aif\] and \[open ../file.aif\] connected to the readsf~ object. Neither of those ways worked. Whenever I try to open I get 'error: dsp: No such file or directory' I'm using version 0.40-2 on OSX 10.4.8 Pretty basic thing I need to get started. Thanks.
Externals not found...
I know this topic has been raised a number of times before, but i still can't get externals to be loaded. I've downloaded the LyonPotPourry port for Win32\. I've created a folder in the pd "extra" folder and copied all the dll's there. Then in pd (0.38.4) i've set things in the STartUp options and verified with regedit that everything was ok. This seemed to be the case. I don't get it some seem to load (gem, pmpd, vasp, xsample objects) others don't (fftease, potpourry, pdp, pidip,...) What's going on? D.
Extended objects not being created
Re-learning Pd after a couple of years. Downloaded 0.43.4-extended, installed it in a Windows 8.1 machine. It runs, but apparently some or all of the extended functionality is missing. Objects including atoi, coll, button, and beatpipe (selected at random from the Floss manual list) get a "...couldn't create" message in the Pd window. Ditto for a bunch of seemingly essential stuff. If I hit "About Pd" in the Help menu, I get "couldn't create" messages for things like bng, expr, del, and lgl, all of which are evidently used in the About pop-up. Plainly there's something wrong with the install. But what?
Arrays in Pure data are not really arrays....
In PD you can only store one value per x step. That means you can not make a sequencer that uses polyphony. In real world, arrays are used to store multiple values and can have even 3 or more dimentions, values could be stored on any point without one affecting another. Are there any alternatives to this in Pure Data? Currently I assume it is only possible to do this by writing an external file/list, like xml, but that really isn't the most efficient solution. Is it possible to actually store real value on any coordinate in array, like [x2 y10 23]?
'Electric Nights' Festival open call!
'Electric Nights' is an annual festival on experimental electronic music, held in Athens, Greece by the artist collective Medea Electronique. Check the open call for the upcoming edition here http://www.medeaelectronique.com/2014/12/electric-nights-open-call/
Midi file written but does not produce sound when played
I am fairly new to PD, and am working on an algorithmic composition patch as part of a project, and I am attempting to save the midi output to a midi file, using the seq object. I am currently able to write data to the seq object, but when I create the midi file, it plays for the length that I recorded but it does not produce any sound. I have attached the patch - any advice would be extremely appreciated! Here is the patch: [relaxed.pd](/uploads/files/upload-01d42346-af15-4c68-a27b-72624d373dde.pd)
PD Midi to Logic not working Properly
So I've been using IAC and noteout objects to send midi values to logic. The only problem is even when I have the output channel in PD set, [noteout channelnumber], and the input channel set in logic to the same value, the values are still either sent or received on all channels. I've tested this via a very simple setup sending a note to channel 1, and a note to channel 2, with 2 different software instruments set to the right channels, but whenever any midi value is sent, it still arrives at both instruments. Anybody have any ideas as to why this is happening? (And yes, I have auto demix for multitrack already checked). I'm pretty new to this area in general, so it's possible there's something I'm not understanding about the setup.
envgen need help
hello, I just try to use `envgen` with message boxes (ie like it is not GUI), and I have to said I find quite difficult. the most difficult thing is that the user had to understand the messages syntax by himself : there are nothing indicated in the help patch. moreover, this help patch present some method ([sustain 1000] and [release ]) where I don't see any change... what we can do ? how to modify the help patch ? this will be really helpful for example : [0 50 1 50 > 0 : yvalue for the first point (t=0 inevitably) 50 : take 50ms to go to next point 1 : yvalue for a second poin 50 : go to the last point (O inevitably) in 50 ms finally, this syntax is quite hard to get because it is not the same as in `line~` or `vline~` objects. thanks cheers ps : I join a patch which can help understanding `envgen` [understanding envgen.pd](/uploads/files/upload-3d2ff18e-3284-4493-8863-d89d4ba4e5d6.pd)
Abstracted patch seems to work but not its calling patch
This little exercise patch somehow computes the successive factorials of a counter and the computation stops when the counter reaches the number Maxcount. ![Screen Shot 2014-11-06 at 21.55.00.png](/uploads/files/upload-f50a195d-1495-468b-a5fa-ffe33c8c6e05.png) I am here interested to work for abstractions, starting with this one ![Screen Shot 2014-11-06 at 22.00.24.png](/uploads/files/upload-fc98ef14-1fd9-430d-bb50-67319f298ae1.png) which replaces the center top incrementation process. This abstraction - called "+=1" - looks fine : after one bang, the abstraction outputs the value 1. But the calling patch doesn't output the value 1 as shown here : ![Screen Shot 2014-11-06 at 22.00.04.png](/uploads/files/upload-f35a0b1b-4d09-40d5-b67c-b46f2a0f45fe.png) I don't understand that the "+=1" abstracted patch outputs 1, and that this value "1" is not pushed down to the "product" box to make the 1 * 1 operation : who can help discover the error ?
cc input into MIDI CC and Note input
Hello everybody! I have a question: I have a Brain V1 from Livid Instruments and I have it connected with a couple of FSR sensors sending cc inputs. I would really need to convert that input into note + cc input. Can I do it with PD!?!? (I'm a truly new user of this software so far..:) I thank you in advance guys!
how do you run a shell script in osx from pd? (SOLVED)
Hi, I am trying to run a shell script in osx from pd using the shell object. The shell script works perfectly fine in the terminal, but nothing happens when I try to execute the script from pd using the shell object. Does anybody know what I am doing wrong? Look at the patch below. [ blabla/blabla/convert.sh' ( | [ shell ] Regards, Hans Willem
I think my patch is looping infinitely but im not sure where.
[Rhythm prototype.pd](/uploads/upload-faa6cdf8-6772-48b2-bc5c-ec685419a773.pd) I want to convert a simple array of note durations(in multiples of beats) to an array of volume values based on ADSR. But it crashes PD, obviously there is an infinite loop somewhere but i dont know where. Would someone mind having a look at it?
ODroid and Pd - anyone uses it and has nice sound without drop outs?
I'm trying to get rid of drop outs I get with an ODroid-U3 running Debian Jessie for ODroid and Pd-0.46-0 with a Focusrite Scarlett 2i4. I've set real time priority, pulseaudio is disabled (I think), I'm renicing Pd with "sudo renice -10 $(pidof pd)" but I still get drop outs (even without the GUI). The sound card is USB class compliant so it could work... Can anyone help?
Object active in the help patch but not outside it
Hi there, I'm running PD extended 0.43.4 on W7. I'm trying to communicate with VPT (an external software for video mapping downloadable at http://hcgilje.wordpress.com/vpt/) using OSC. So I opened the packOSCstream-help.pd patch. All boxes are OK (so far I did not manage to connect... but did not try so hard either). The problem is, that when I try to create a packOSCstream box in a new patch, I get a non working box (red scattered box). This happens even when copying-pasting the whole patch into a new one. What's wrong? Thank you for any advice. Gaspar PS: By the way; if there are any examples of driving VPT from PD, I would happy to have a peek ;-)
Anyway to store data separately inside abstractions not using arguments?
Is there anyway to store data separately inside abstractions not using arguments? For example, say if there's an abstraction that writes a waveform to array from it's input, is there anyway to store the array values in abstractions separately when the parent patch was saved?
Noteout only send one note at a time
Hi, I've come up against a problem that I can't get my head around. I'm making a 16 step drum sequencer which should be working fine. The problem is that noteout will only send one midi note at a time, meaning that if I have hi hats on 16th notes no other drums will sound. I made a simple chord patch and had the same problem. Is this a bug with noteout? Shouldn't I be able to send a number of midi messages simultaneously?[Drums.pd](/uploads/upload-52722fde-ab24-43dd-a80d-94d14b138d3d.pd) Thank you in advance
no output when running pd-extended in -nogui from auto login
Hi all, I'm using a Pi to auto run a script that runs pd-extended in nogui made on startup. On start up, the script appears to run fine, no errors in the log, but there's no sound. If I stop that process and then run the same script again manually, it runs fine and there is sound. I've tried putting a 1 sec delay between loadbang and dsp in the patch as suggested elsewhere, and I've also tried running the login script from both crontab and /etc/rc.local, both with the same results. Any suggestions?
FFTease in Ubuntu 64bit not working
Hello, i can't manage to use the* FFtease library* with my *Pd-extended 0.43.4* on *Ubuntu 14.04 64-bit*. I downloaded the library, extracted it and added the new path in 'edit > preferences' but it always says *"burrow~ ( ect...) couldn't create ..."* Is this a known issue? How can I make it work? Thank you
Need help with a vst host
That is oriented more on the live performance, than studio work. Kinda like IL Minihost Modular , but it would be loads better if you could have one midi keyboard zoned to multiple plugins ( based on velocity, zones, etc ). I usually work with 2 or 3 instances of Synth1 ( yeah i know, cheap ) and it would be nice if host could change patches on them all... kinda like mastermind foot controller. Any ideas? ( because having a cheap laptop + a few instances of synth1 is way cheaper than having nord lead ;) )
To set up text keyboard for musical note entry
This could be used to assign midi notes to keys either for producing files or performing, using some other input to handle velocities etc. [I expect to use a joystick for volume, tempo -- and to add a smaller table to associate these numbers (mod 7) with whichever scale I'm using at the moment-- with joystick buttons to modulate in real time...] ie You can use any arrangement of keys you find useful, not necessarily chromatic, not necessarily linear! If the subpatch doesn't load, please ask! [keymapw.pd](/uploads/upload-c1d6d017-6ef2-4dcd-8025-14d35514e9a4.pd)
Anyone who lives in Copenhagen?
I'm looking to find a Pd user who can work with me in Copenhagen. You can have a chance to participate in the 3 month program of the startup accelerator called Startupbootcamp through me. You can get a free working space and free lunches here. It is located close to Norreport station. I think it will be a really good opportunity to learn many things and meet with wonderful people. If you are interested, please let me know. firstname.lastname@example.com
Help with PD GEM externals - need something similar to part_vertex
Hi, I am after a bit of advice regarding GEM and how to extend it using externals. Is it possible to do in the normal way (as described on the website)? I have downloaded the entire source code for PD and GEM, in order that I can take an existing object and change it to suit my purposes, but I'm not sure how to compile it without rebuilding the entire GEM library. I was hoping it could be possible just to compile my new object as a singular entity. The new object I need is one which is very similar to part_vertex, except that instead of generating a new particle for every render frame, I need it to only generate a particle if it receives a bang message. Maybe there is already some other way of doing it? Hope someone can help. Many thanks, John.
Why are output midi notes getting rounded to pitch values in 12-tone equal temperament?
I've tried a few different programs, and in all of them, whenever I try to send a pitch value through noteout, the pitch value gets rounded up or down to a value in 12-tone equal temperament. I'm not sure if the problem is with Puredata or all of the programs I've tried using. Either way, I would like to know what to do to fix this, whether that means changing something in Puredata or switching to a soundfont player that correctly handles all midi notes. EDIT: I did some research, and apparently MIDI is (stupidly) designed to round notes to 12TET pitch values, the only way to get around this being pitch bends. So somehow I'm going to have to get pitch bend values for every note that plays at any given moment and attach each pitch bend value to the correct note. I'm not sure if that's even going to be realistically possible. It will probably require me to give every note a unique MIDI channel, and only 16 notes at a time will be allowed. EDIT 2: Puredata is refusing to send pitch bend messages. Bendout does nothing when sent to a MIDI channel with a note.
PDContainer objects not loaded by default?
I'm creating a patch that uses an `h_map` object. I noticed that if I open my patch or try to create an `h_map` without first looking at the help-file for PDContainers the object fails to create (shows as a red-dashed outline and the console complains "... couldn't create"). Once I have opened the PDContainers help-file, I can re-open my patches that use `h_map` (or create a new `h_map`) and the object initializes successfully.
Poly (or something) not transferring notes simultaneously
When this patch receives a harmony, it spits out the constituent notes in quick succession instead of all at once. If I play a C major chord, I will get a C, then an E will join it, and finally a G will pop in to complete the triad. I'm using a program that sends out all the notes at exactly the same instant. \[notein\] | \\ | \\ \[poly 2\] | \\ \\ \[pack f f f\] | \[route 1 2\] | | \[unpack 0 0\] \[unpack 0 0\] | | | | \[number boxes\] <----- Here's where the problem appears. One box after another displays a note until the full chord is written out. It happens almost in the blink of an eye, but that isn't good enough for my purposes. I need the notes to arrive simultaneously. Also, this is a little off-topic, but there's some kind of bug with the division object. It receives a 1019 in the left inlet and a 3 in the right inlet, and then declares that 1019 divided by 3 is 509.5 (it seems to dislike the number 3, as it will do the math correctly when it receives a 4). It only does accurate division when the numbers reach it by certain routes of an unknown nature or happen to be numbers which, for mysterious reasons, it is capable of dealing with. As far as I know, it shouldn't matter what routes the numbers reach it by, and there's certainly no reason it should cut a number in half when told to cut it into thirds.
Pduino not receiving analog data
Hi, I'm starting with a an Arduino Decimila board, I've connected a potentiometer to Analog 0 input and I want to receive some numbers in PD, So far... - loaded Firmata into board - opened arduino-test patch - tried sending data from PD to board and it worked (board led blinking) What's not working: I can't receive data while changing the analog input from the board. (Just to be sure I tested de analog input from the IDE environment and it worked ok). Seems like I'm not selecting the input correctly at Pduino, but I tried setting AnalogIn = 0 and all the others with no success, any ideas? thanks! MMson
Pix_Background not working with External Webcam
Hi, I'm using pix\_background to do some background subtraction. My internal webcam does this fine. However when using an external webcam, ( USB HP HD 2300) while it shows me what the external webcam 'sees' in the gemwin, it is as if the pix\_background object isn't there. Closing the patch and opening it again with my internal cam and it takes the pix\_background object into consideration again. Does anybody know why with the external cam it bypasses the pix\_packground object? Or how to get it to work. Thanks [http://www.pdpatchrepo.info/hurleur/pix\_background\_webcam.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/pix_background_webcam.pd
Subpatch opens, but does not display?
I seem to be running into a problem with subpatches. Occasionally, when I click on one to open it, it doesn't display. Anyone else run into this problem? I'm on windows 7
Two identical subpatches - one not working? Help!
I'm trying to create a sequencer for myself, and I'm working on a section to freeze an audio signal to create a drone - the actual freezing part is taken from the patch ralf posted [here][0] - thanks ralf! How FFT works is way beyond me at the moment... I'm trying to have two copies of the freeze patch running in parallel with a crossfader on the outputs, so I can blend them together, but because I'm aiming to run this patch on a 10-year-old laptop, I'm recording the output of the FFT subpatch into a table, then playing it back with bangs coming from the metronome section of my sequencer. Problem is, while one freeze subpatch works fine, the other doesn't at all and I can't understand why. There's all the tables, but there's no naming conflicts. Aside from that, freeze two is just a copy-and-paste of the one that works. ![](http://i.imgur.com/826IKiE.png) Far too much of this is reliant on other bits of this, so to make it work, out have to first press INIT in the top-left, then the toggle for On?, then Go!, then make sure the input volume is OK, then Clr on the freeze patch, and only then can you press Freeze. I need to learn more about INIT on each control :/ [http://www.pdpatchrepo.info/hurleur/freezer-6-3.pd][1] [0]: http://puredata.hurleur.com/viewtopic.php?pid=26135#p26135 [1]: http://www.pdpatchrepo.info/hurleur/freezer-6-3.pd
Pd-extended start, audio does not work
Hi: I have this problem with the audio of my computer. When i start pd-extended the audio seems to be only working for pd. If I am playing music from my harddrive or from youtube it just stop until I close pd. I use Elementary OS Luna (based in ubuntu 12.04) and install pd from the official repositories([http://puredata.info/docs/faq/debian][0]) I've alredy googled the issue but i could find anything. Anyone? I would appreciate the help. [0]: http://puredata.info/docs/faq/debian
\[open( message not working with soundfiler
I have a sampler that starts like so \[bang\] | \[openpanel\] | \[read -resize $1 samp2( | \[soundfiler\] | sampling goodness However, I'd like to replace openpanel with a series of \[open( messages because i have a fairly large amount of samples to load and I don't want to menu dive every time I run this patch. If I replace \[openpanel\] with \[open filename.wav, 1( I get the error "usage: read \[flags\] filename tablename... flags: -skip
-resize -maxsize ...
-raw ."
And if I try to bypass openpanel and the read -... message and run \[open filename.wav, 1( directly into \[soundfiler\] i get the obvious error "soundfiler: no method for 'open'
soundfiler: no method for 'float'"
Any ideas to get soundfiler working with the \[open( message?
Compile pd-0.40-2 on PowerPc G4 running OS X
Hi. Im trying to compile the Pd-0.40-2 on a PowerPC G4 running OS X and i get this error: gcc: installation problem, cannot exec 'i686-apple-darwin8-gcc-4.0.0': No such file or directory lipo: can't figure out the architecture type of: /var/tmp//ccPB9Ubs.out make: \*\*\* \[../bin/pd\] Error 255 I As you see I use gcc-4.0.0 to compile it. Any suggestions? Thank you. Sergio.
Sketch not recognizing tables and standard "voice.wav" files
I'm having a really strange problem... so pure data doesn't seem to recognize certain locations of certain files, but it recognizes other locations of other files. For example, I can use an object called "open yes.wav, 1" to open an audio file called yes.wav, processing recognizes that. I can also run the "B09.Sampler.Loop.Smooth.pd" and it recognizes all the files in it fine and works fine. However, if i try and directly copy and paste all that patch and save it as a new patch to the pd file, pd no longer recognizes "voice.wav" or "table18". Basically, i can apparently use the open object to load a sound but pd can't locate the tables or the out of the box "voice.wav" that is in the pd folder. I've also noticed that my pd reg keys are now located in a "HKEY\_CURRENT\_USER" folder instead of the "HKEY\_LOCAL\_USER" folder which this webpage [http://puredata.info/docs/faq/pdsettings][0] tells me they should be located in. Windows 7, btw Kind of a strange problem that seems to be either a file path or registry problem... But maybe you guys can help? [0]: http://puredata.info/docs/faq/pdsettings
CPU issues while running Pduino and GEM
Hi guys I'm pretty new to using Pure Data but I am absolutely loving it! It is a very intuitive system for code novices like myself to learn! I recently endeavored to create a video mixer using Pure Data and GEM with an Arduino interface (please have a look at the project page located here; [https://www.behance.net/gallery/16942195/VideoCaos-Visualiser-Interface][0]) but encountered a few problems that are out of my technical knowledge to be able to debug. The key issue that I encountered was that the current patch is too CPU intensive and tends to crash. This tends to hapen when the render chain is initiated in the wrong order or the Arduino hardware is activated. I have attached the patch I used to run the program so if anyone would like to have a look and suggest where I could improve that would be amazing! It would be great to get this design to a point where it is stable enough to run the Arduino and Pure Data setup for live performances, so some advice would be greatly appreciated!! FYI: the graphics computer being used is a MacBook w/ 2.26GHz processor, 4GB RAM and 155GB available HD space. Thank you very much in advance! Ryan [http://www.pdpatchrepo.info/hurleur/VideoCaos.pd][1] [0]: https://www.behance.net/gallery/16942195/VideoCaos-Visualiser-Interface [1]: http://www.pdpatchrepo.info/hurleur/VideoCaos.pd
CPU issues while running Pduino and GEM
Hi guys I'm pretty new to using Pure Data but I am absolutely loving it! It is a very intuitive system for code novices like myself to learn! I recently endeavored to create a video mixer using Pure Data and GEM with an Arduino interface (please have a look at the project page located here; [https://www.behance.net/gallery/16942195/VideoCaos-Visualiser-Interface][0]) but encountered a few problems that are out of my technical knowledge to be able to debug. The key issue that I encountered was that the current patch is too CPU intensive and tends to crash. I have attached the patch I used to run the program so if anyone would like to have a look and suggest where I could improve that would be amazing! It would be great to get this design to a point where it is stable enough to run the Arduino and Pure Data setup for live performances, so some advice would be greatly appreciated!! Thank you very much in advance! Ryan [http://www.pdpatchrepo.info/hurleur/Mixer10.pd][1] [0]: https://www.behance.net/gallery/16942195/VideoCaos-Visualiser-Interface [1]: http://www.pdpatchrepo.info/hurleur/Mixer10.pd
Beginner issue: arrays not created
Hi, I'm trying to learn PD and stuck with a problem: I create oscillators (that works fine) and want them to make graphic output in arrays/graphs. Nothing happens though. What do I need to do? The patch looks like: \[Hslider\] | \[mtof\] bang or toggle | / \[osc~\] \[metro 100\] |\\ \\/ \[dac~\] \[tabwrite~ sine\] so the right part doesn't produce anything. Should I explicitly make an array? and somehow feed infos into it? or is anything wrong with settings? thanks for any feedback. Lena
Turntablism mod: Midi Note Fader
Hi all, I'm really a beginner when it comes to PureData but have been playing around with some things in the last few years. As a turntablist I've always been interested in modding and improving my hardware, and I've now actually gotten something concrete, with software help of PureData. The idea is to have midi+note control with a x-fader in a mixer, by moving it vertically. First I needed to mod my turntable to receive midi in, to change pitch along a notescale. Second was to hack a USB controller so I could attach a fader which attached to a rail, to measure vertical movement. I'm using Puredata to read the HID values of the controller, and am translating those into midi notes. Here's a video explaining what it can do: [https://www.youtube.com/watch?v=W-EmgwavBEQ][0] One thing I was wondering is 'how' I can share this with other people, who wouldn't necessarily be using PD. Is there a way I could compile it into an app or something? In any case, hope you like the vid. Cheers, Machiel [0]: https://www.youtube.com/watch?v=W-EmgwavBEQ
Bang or soundfiler do not work properly
Hello I cannot upload or change a soundfile to playback. I did it until yesterday. Thanks beforehand in case you might know how to solve it. Please find attached a patch/ Ciao, Betta. [http://www.pdpatchrepo.info/hurleur/Patch\_01.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/Patch_01.pd
Electric Nights Festival, program and line up
This is the festival of an open call posted here as well. Some Pd people will be performing there. If you're around Athens join! [http://www.medeaelectronique.com/2014/04/electric-nights-program/][0] [0]: http://www.medeaelectronique.com/2014/04/electric-nights-program/
A 'stream' of midi notes
Hi all, I'm new to using Pd and need a way to do the following, I'm reading MIDI note numbers from a text file, I want to take 12 of them at a time and play them at the same time, is this possible? Thanks in advance!
Zexy not loading on start-up
Hi there! I am having a strange issue, which hasn't really happened before. Pure Data extended 0.43.4 does actually recognize the zexy library, and I am able to use it, but when starting PD, the zexy extensions can't be created. Well, until I open one of the help patches containing the extension i want to use. I read somewhere that PD extended doesn't load all libraries on start-up, so I'm guessing that may be the reason. So my question to you is, how do I make PD load a library at start-up? It is somewhat frustrating to have to rewrite all the parts of the patch that depend on externals. Then, maybe that isn't the reason at all. In that case, what do you think is causing the issue?
Escher-esque chord progressions
I've been getting into writing patches that generate music all by themselves, using mathematical rules that apply quite nicely to music theory. I've made a few rhythm patches that make nice cross rhythms using metronome division and delays (with values derived from multiples of the master metronome), and i'll post these too if anyone is interested. In this thread I'm showing off my "Mauritz Escher like Chord progressions" patch. Screenshot: ![](http://responsible7.googlepages.com/zenpho_escher.gif) Mp3: [http://responsible7.googlepages.com/zenpho\_escher\_pd.mp3][0] Patch: [http://responsible7.googlepages.com/zenpho\_escher.pd][1] **First some basic music theory:** (skip this if you're comfortable with chords, 7ths, and inversions) A major scale is constructed of 8 notes, with the "root" note doubled at the 8th note. For the key of C major (all the "white" notes on a piano) the names and numbers of the notes in the scale of C-major are: Name, Number: C, 1st (root) D, 2nd E, 3rd F, 4th G, 5th A, 6th B, 7th C, 8th (remember the root is doubled at the octave) A triad is constructed of the 1st, the 3rd, and the 5th notes in the scale. A SEVENTH chord is constructed of a triad (notes 1,3 and 5) PLUS the 7th note in the scale. So a C major 7th is note 1,3,5,7 or C,E,G,B. Up until now we've been describing "standard" voicings of the chords, in other words, the notes are played so that the root is the lowest pitched note, the 3rd is higher, the 5th is higher still, and the 7th is the note just below the octave of the root. At the risk of sounding redundant, "octave numbers" after the note name help clarify which octave the note is to be played in. To play a C major 7th on the third octave, we would write: C3,E3,G3,B3\. To play it an octave higher we would write: C4,E4,G4,B4\. "Inversions" of chords re-order the pitches of the notes, but still play notes with the same "name" as the 3rd, 5th, 7th etc. For example: C3,E3,G3,B3 is a standard C major 7th... ...and G2,C3,E3,B3 is an inversion. All the notes are there (C,E,G,B) but they are in a different order to the normal "Root, Third, Fifth, Seventh" arrangement. In this case, we say that "the fifth is in the root". ---- Okay so now we know what a major 7th chord is. Lets deal with chord progressions. Now imagine playing C3,E3,G3,B3 and removing the "root" (the C3) from the notes played, we have a chord that reads "E3,G3,B3" - we were playing C major 7th and now we're playing E minor. \*THIS IS A VERY IMPORTANT STEP\* Moving from C major 7 to E minor sounds "natrual" because the notes that occour in C major 7 ALSO occour in the E minor. Now lets make this E minor chord a 7th... We've said before that a 7th chord can be constructed by playing the 1st, 3rd, and 5th notes, PLUS the 7th note in the scale. The scale of E minor (a flavour of minor) is: Name, Number E, 1st (root) F\#, 2nd G, 3rd E, 4th B, 5th C, 6th D, 7th E, 8th (octave) The 7th note is "D" so we add the D note to our E minor triad to make E minor 7th. E minor 7th is therefore: "E3,G3,B3,D4". We can extend this E minor again, removing the root, working out the new scale for G major, adding the 7th to make G major 7th, and again, and again, and again... but if we do - we keep moving \*UP IN PITCH\* and spiral off the end of the keyboard. ---- **HOW THE PATCH WORKS** Okay, so what my patch does is to take the idea of generating new 7th chords over and over, but to play inversions of these chords so that the notes stay inside a single octave. If the "root" note is in the 3rd octave, C3 for example. Then when I move to E minor, the D4 is transposed to be a D3, to keep within this octave range. Due to the fact that there are 12 semitones in an octave, and notes that fall outside the octave range will wrap around to be an octave lower. The maths for generating the new chords basically involves taking each note in the current major 7th chord and adding two semitones to each note in turn. Now our terminology could cause confusion here, because there are "notes in a scale" and "notes in a chord"... So I'm going to define some notation to show when i'm talking about the notes in a chord. For example: A C major 7th has the notes C3,E3,G3,B3\. Note-1-in-the-chord is to be defined as chord\_note\_1\. Note-2-in-the-chord is defined as chord\_note\_2\. Note-3-in-the-chord is defined as chord\_note\_3\. Note-4-in-the-chord is defined as chord\_note\_4\. chord\_note\_1 has the pitch C3\. chord\_note\_2 has the pitch E3\. chord\_note\_3 has the pitch G3\. chord\_note\_4 has the pitch B3\. It is important to be clear about the idea of "pitch", "chord\_notes" and "scale\_notes" because because chord\_note\_3 has the pitch "G3" and scale\_note\_3 of C major which is the pitch "E3". ---- Back to the procedure for generating new seventh chords. We generate a major 7th to begin with. C3,E3,G3,B3\. We add 2 semitones to chord\_note\_1 to get "D3", and we leave the other notes alone. Our chord now reads: D3,E3,G3,B3\. Which is an "inversion" of E minor 7th. This time we add 2 semitones to chord\_note\_2 to get "F\#3", and we leave the other notes alone as before. Our chord now reads: D3,F\#3,G3,B3 This is an inversion of G major 7th. This time we add 2 semitones to chord\_note\_3 to get "A3", we leave the other notes. Our chord now reads: D3,F\#3,A3,B3 This is an inversion of B minor 7th. This time we add 2 semitones to chord\_note\_4 to get C\#4... \*BUT C\#4 IS OUTSIDE THE OCTAVE 3! So we TRANSPOSE it down to C\#3\* Our chord now reads: D\#3,F\#3,A3,C\#3 This is an inversion of D major 7th. After my patch modifies all 4 chord\_notes, it moves back to chord\_note\_1, and adds another 2 semitones... over and over. Eventually we get back to C major 7th again, but on the way we move through a variety of different chords that evokes very interesting changes of moods. **Want to try playing with it?** Mp3: [http://responsible7.googlepages.com/zenpho\_escher\_pd.mp3][0] Patch: [http://responsible7.googlepages.com/zenpho\_escher.pd][1] [0]: http://responsible7.googlepages.com/zenpho_escher_pd.mp3 [1]: http://responsible7.googlepages.com/zenpho_escher.pd
Arduino and pure data
Hello. I'm trying to use Arduino with Puredata using the Firmata Library. I downloaded Firmata and installed the library as instructed in the readme, and then loaded 'AnalogFirmata' from the library examples. When I try to compile this example (or any of the others) I receive a string of error statements. Code and errors listed below. Any suggestions? Code: /\* This firmware supports as many analog ports as possible, all analog inputs, \* four PWM outputs, and two with servo support. \* \* This example code is in the public domain. \*/ \#include
/\* servos \*/
Servo servo9, servo10; // one instance per pin
/\* analog inputs \*/
int analogInputsToReport = 0; // bitwise array to store pin reporting
int analogPin = 0; // counter for reading analog pins
/\* timer variables \*/
extern volatile unsigned long timer0\_overflow\_count; // timer0 from wiring.c
unsigned long nextExecuteTime; // for comparison with timer0\_overflow\_count
void analogWriteCallback(byte pin, int value)
switch(pin) {
case 9: servo9.write(value); break;
case 10: servo10.write(value); break;
case 3:
case 5:
case 6:
case 11: // PWM pins
analogWrite(pin, value);
// -----------------------------------------------------------------------------
// sets bits in a bit array (int) to toggle the reporting of the analogIns
void reportAnalogCallback(byte pin, int value)
if(value == 0) {
analogInputsToReport = analogInputsToReport &~ (1 << pin);
else { // everything but 0 enables reporting of that pin
analogInputsToReport = analogInputsToReport | (1 << pin);
// TODO: save status to EEPROM here, if changed
void setup()
Firmata.setFirmwareVersion(0, 2);
Firmata.attach(ANALOG\_MESSAGE, analogWriteCallback);
Firmata.attach(REPORT\_ANALOG, reportAnalogCallback);
void loop()
if(timer0\_overflow\_count \> nextExecuteTime) {
nextExecuteTime = timer0\_overflow\_count + 19; // run this every 20ms
Interfacing PD with the Arduino ... how?
i got a problem in uploading the file to the board. ( I have press play, same error found. When I press upload to I/O, below error found) anyone can help? thx //////////////////////////// /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: typedef 'callbackFunction' is initialized (use \_\_typeof\_\_ instead) /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: 'byte' was not declared in this scope /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:61: error: expected primary-expression before 'int' /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: typedef 'sysexCallbackFunction' is initialized (use \_\_typeof\_\_ instead) /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'byte' was not declared in this scope /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:64: error: 'argv' was not declared in this scope /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:81: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:86: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:87: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:88: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:90: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:91: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: 'callbackFunction' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:96: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:97: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'sysexCallbackFunction' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:98: error: 'void FirmataClass::attach(int, int)' cannot be overloaded /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:95: error: with 'void FirmataClass::attach(int, int)' /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:99: error: 'byte' has not been declared /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:104: error: 'byte' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: ISO C++ forbids declaration of 'byte' with no type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:105: error: expected ';' before '\*' token /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:107: error: 'byte' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:108: error: 'byte' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:109: error: 'byte' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:110: error: 'byte' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:112: error: 'boolean' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:115: error: 'callbackFunction' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:116: error: 'callbackFunction' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:117: error: 'callbackFunction' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:118: error: 'callbackFunction' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:119: error: 'callbackFunction' does not name a type /Applications/arduino-0012/hardware/libraries/Firmata/Firmata.h:122: error: 'sysexCallbackFunction' does not name a type In function 'void setup()':
Tarmtott - ep by swamps up nostrils
This lil' thing just got released on the great netlabel Control Valve, it is 6 tracks of whacky looping made with PD. Download @: [http://www.controlvalve.net/][0] inforz: "ctrlvlv\#007 IS NOW READY FOR DOWNLOADING!!!!!!!!!!!!!!!!&\#8207; ctrlvlv\#007 IS NOW READY FOR DOWNLOADING!!!!!!!!!!!!!!!!&\#8207; ctrlvlv\#007 IS NOW READY FOR DOWNLOADING!!!!!!!!!!!!!!!!&\#8207; artist: swamps up nostrils title: tarmtott artist statement: "Swamps Up Nostrils is a spatiotemporal mishap again and again focusing on both experimental wrongdoings and ancient traditional musical structures like beats and harmonies. What you hear is not what you get but it will however seem pretty close anyway, so why bother? Swirling the eternal wormholes between the familiar and the unknown, we hope to entertain but admit that to most people it must seem like meaningless idiocy, but then again most people seem like meaningless idiots too, including ourselves, so I guess it balances out. Only by admitting to being an idiot yourself will you understand what it means to be one, and understand just how many idiots there are around here. We, the failed abhorritions of monkey-like beings of ancient times, will not let us be controlled by our biological shortcomings, although we admit to them causing us both irritation and confusion. This irritation and confusion is not the source of this music. This music was made by utilizing magick and computers, if you believe in such stuff. If you do not, this music was made by utilizing science and computers, if you believe in such stuff. If you do not, this music was made by utilizing faith and computers, if you believe in such stuff. If you do not, this music was made by utilizing computers and computers, if you believe in such stuff. If you do not, this music was made by utilizing music and music, if you believe in such stuff. If you do not, this mucus was made by utilizing mucus and mucus, if you believe in such stuff. If you do not, this made not was believe and unbelief is by whom was finalized as not more. If you do not, please ignore all above statements as they are irrelevant to the audial experience anyway. There appears not more than what vibrates in your ear, and how your brain interprets that on the basis of your own very personal framework of reference. Anyone telling you otherwise is either trying to highjack your brain or may be lying, or may be convinced of otherwise and acts on a compulsion of good faith, although faith can never exist as something good outside someone's subjective defenition of the matter so the statement is meaningless. Now stop reading this nonsense and listen to the music instead, because, as implied in this body of textual represented idiocies, the point is not to read about this music it is to listen to it. Get it?" swamps up nostrils is arnfinn killingtveit from trodheim, norway. no one can ever be sure what will come out of the speakers when playing a swamps up nostrils release. the first time i heard one it was some sort of drum and bass mixed with circuit bent electronics, with just a tad of field recordings. you might be getting some sort of techno, drone, noise, minimalism, analog, digital, ect...... whatever it might be, it is always top notch sound work, great composition, and a highly enjoyable listen. killingtveit also runs the superb cd-r label Krakilsk 6 tracks of looping-layered sound composition 320kbps. mp3 cover image" [0]: http://www.controlvalve.net/
Best way to do this tree...
Thanks obiwannabe. Before you posted, I had just found a way to get things working. It's messy and probably not the most efficient way of doing things though, but again it works how I need it. Right now, I'm using routeing, moses, and some send/receives. I'll take a look at lists since they seem like that may have been a better route to go. I'm sorry, I probably didn't explain well what I am trying to achieve. Every 8 notes, I wanted a pattern (algorithmic) to go back to Note 1 and find a new pattern (which may be the same as the previous one). Looking at the diagram, each box is the option(s) that can be chosen by the random generator. A 1/2 = 500ms, 1 = 1000ms, 2 = 2000ms, and 4 = 4000ms. At note 1, if a 2 is chosen, the next one can only be a 2, and the next only a 1, next a 3, next a 4, 3, or 1\. If a 1 is chosen for note 5, then the next note must be a 4, next a 1/2, and last a 1/2, then back to note 1 again ( 4 or 2). There is no direct link between step and note length other then the fact that the order of note lengths reach an even point at the end of every 4 and 8 notes. Basically, I originally had an algorithmic note generator, where the notes were picked from moses divide/split points. The problem is, with 4 instruments playing simultaneously, the rhythms were too random. So, I wanted to line them up every 4 and 8 notes. With the diagram setup, every 4 notes and 8 notes, the notes start together, while in between they can deviate randomly in their rhythm (note length). I hope that makes more sense. I'm a student, and learning PD for the first time. So I'm sure my way isn't the most efficient, but it's all I could think of. =) The patch is almost completed, and I can upload it once finished if interested.
Best way to do this tree...
I'm making an algorithmic based program and I just thought of a new way that I'd like to generate length of notes. I'm still new to pd and programming in general, so I was wondering what the best and easiest way would be to go about making something like my chart below: 4 = note lengths of 4000ms (4 seconds), 2 = 2 seconds, 1 = 1 second, 1/2 = half second. So similar to whole, half, quarter, and eight notes. If the first note (when banged from a random 50/50 chance) is a 4, then the second note can be a 1 or a 2\. If the second note is a 1, the third note must be a 2 and so on. I hope the diagram explains what I am trying to accomplish. The goal in doing this is so that on every 4 and 8 notes, the notes line up again (since I have 4 parts to this music generation). I originally was doing something else to get note lengths, using a route 8 and a random note was triggered by a metronome, and then the metronome (received this length and) didn't choose another until the length of the first note finished. I'm having a hard time switching over to this new concept. This notelength, is passed to a random note chooser using route 8\. Any help would be great! =) ![](http://h1.ripway.com/cerupcat/chart.png)
Help Building Midi Generative Patches
Hi everyone, I'm not really a programmer and i need help creating some patches that i can keep and use to generate midi for my compositions. Nothing too complex. I can't afford Max, so will have to be in either PD or Bidule i guess? Idea 1 I need a patch that generates a metronome rhythm, just a simple note on/note off metronome for one definable note, but with the ability to control the speed of the rhythm, from slow, to really fast, on the fly and with the note length set as a percentage of the interval between notes, again changeable on the fly. This then goes out to my DAW to trigger a sample. Idea 2 Pretty much the same as Idea 1, but with a definable range of note outputs, so as to trigger different samples within a soft sampler in the DAW, choosing each sample randomly. Idea 3 Same as Idea 2, but output to go to a synth. So would be cool to be able to output chords and for each note on trigger to also output random triggers for lfo/cut off/other cool parameters etc. too. Idea 4 I'd also like a simple sequence tool which outputs a short repeating predefined sequence of midi note on and note off to send to the DAW, but where I can control and change the interval/time between each note on trigger on the fly to create varied and interesting patterns and again where the note length is changeable on the fly and set as a percentage of the interval between notes. I want to record the midi output into a DAW where i can then edit it down into the most interesting bits and build compositions. None of the ideas need a GUI. I just want these useful tools to keep and produce works with and that I can maybe add to and develop in the future when I've learned how to program! Any ideas, help building or tips would be really appreciated! Thanks, Henry
Trigger multiple send messages inside abstraction
Hi everyone, I'm new to this forum so I hope I got the right one :-). I'm fiddling with Pd since a couple of weeks and am now in the process of building a 16x16 routing patchbay (I didn't find anything like that via search, but maybe I didn't search well enough ;-)). Everything is going well but it seems I'm hitting a wall with the following: Inside the patch I have a number of canvas objects which I plan to use to label the patchbay. All of them have receives ala $0-1h-label, $0-2h-label, $0-1v-label and so on. Now I figured out how to set one individual label sending one message \[1h-label string( - however, for 32labels that's a tad bit too cumbersome, so I'd like to handle this using a message of the form: \[ 1h-label string; 2h-label string; 3h-label string ... 16h-label string( But I have no idea how to process such a message so that I end up with individual \[; $0-\>foo string( messages (I know, I could as well just make the abstraction use an $1 argument and set the receives to $1-h1-label - but I figured there must be a way). I suppose I have to somehow loop through the individual messages but I don't know how. I'd be glad about any pointers into which direction I should proceed. Thanks in advance :-)! I've attached the abstraction (it's not finished yet, audio routing etc. works but I want to add some Midi/OSC handling as well). [http://www.pdpatchrepo.info/hurleur/patchbay16x16.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/patchbay16x16.pd
Serious problem with poly object!!
I have used the poly object to route the midi notes to voices in order to have polyphony. I am constructing a patch like piano so I use pedals also. I've program the right pedal to cut the velocity 0 message, when it is pressed, in order to have a sustain sound. The problem is that when I repeat a note in the keyboard the route object gives to the same midi note other voice numbers so the same note goes to different voices. I want the same note to remain in the same voice number (note in-note off, or note on-note on without note off). Is there a way for poly object to do such a thing or I have to program every note correspond to a voice sub-patch? Thanx anyone who will help in advance!
Trigger multiple send messages inside abstraction
@arif said: > I don't know other than the \[; $1-$2 label $3( solution you already have, what to suggest, I don't think I understand the question.\[/quote\] > I try to clarify. At the moment the receives of the canvas objects look like $0-1h-label. I'm using $0 throughout the whole abstraction for all sends/receives. I want to be able to pass a long message of the form: > > \[1h-label label1; > 2h-label label2; > 3h-label label3; > ... > 16h-label label4( > > into one inlet of the abstraction. Now, inside the abstraction I would have to translate all those parts of this long message to single \[$0-1h-label label label1( messages to set the respective canvas label (prepending $0 to all parts of the incoming message). I'm looking for a more abstract way to handle this so I don't have to create a massive amount of "routes", but instead just handle this one incoming long message and dispatch it, i.e. like foreach(incoming\_msg as part) { set label $0-\[label\] to label }.
\[key\] stops working when PD is not the active window
Thanks ... it is indeed. What does it do? The help file just has a patch which lists devices without explaining what it does ... How can it help me route keystrokes to PD when its not the active window ? if it helps this is what I get when I run the patch hidin: \*\* found 9 devices on your system DEVICES: -1 None DEVICES: 1 DEVICES: 2 DEVICES: 3 DEVICES: 4 hidin: -- could not get device \#5: Access is denied. hidin: -- can not read from mouse and keyboard DEVICES: 5 Unsupported Device hidin: -- could not get device \#6: Access is denied. hidin: -- can not read from mouse and keyboard DEVICES: 6 Unsupported Device hidin: -- could not get device \#7: Access is denied. hidin: -- can not read from mouse and keyboard DEVICES: 7 Unsupported Device hidin: -- could not get device \#8: Access is denied. hidin: -- can not read from mouse and keyboard DEVICES: 8 Unsupported Device hidin: -- could not get device \#9: Access is denied. hidin: -- can not read from mouse and keyboard DEVICES: 9 Unsupported Device Thanks again. W
UBUNTU Pd install libjack0.100.0-0 error
Thanks but all this did'nt slove the problem. When I try to install Pd with in a terminal with the command: sudo dpkg -i Pd-0.39.2-extended-rc4-debian-stable-i386.deb I get the following messages: Selecting previously deselected package pd-extended. (Reading database ... 90801 files and directories currently installed.) Unpacking pd-extended (from Pd-0.39.2-extended-rc4-debian-stable-i386.deb) ... dpkg: dependency problems prevent configuration of pd-extended: pd-extended depends on libjack0.100.0-0; however: Package libjack0.100.0-0 is not installed. pd-extended depends on tcl8.4; however: Package tcl8.4 is not installed. pd-extended depends on tk8.4; however: Package tk8.4 is not installed. pd-extended depends on libflac7; however: Package libflac7 is not installed. pd-extended depends on imagemagick; however: Package imagemagick is not installed. pd-extended depends on libpng3; however: Package libpng3 is not installed. pd-extended depends on libmpeg1; however: Package libmpeg1 is not installed. pd-extended depends on libmpeg2-4; however: Package libmpeg2-4 is not installed. pd-extended depends on libmpeg3-1; however: Package libmpeg3-1 is not installed. pd-extended depends on libquicktime0; however: Package libquicktime0 is not installed. pd-extended depends on libimlib2; however: Package libimlib2 is not installed. pd-extended depends on libmagick++9c2a; however: Package libmagick++9c2a is not installed. dpkg: error processing pd-extended (--install): dependency problems - leaving unconfigured Errors were encountered while processing: pd-extended martin@martin-desktop:~/PD\_extended$
Random Note Value?
Thanks for the reply boonier. I tried your suggestion but not really the thing I was looking for. I'll see if I can explain my case better. For example I have a steady rhythm beat going on @120bpm. I would like to throw in there a pre-define notes(C=48, D=50, E=52, G=55, Bb=58 or 8ve) in whole (1 note per 1000ms), half(2 note per 1000ms or 1 note per 500ms), quarter(4 note per 1000ms or 1 note per 250), eighth(125) etc... So I would like to be able to play a random notes with a random note value. And Im not sure if my patch above will do that. In other words its kinda playing it in a 16-note sequencer but not playing the same note & the same note value over & over again. Then maybe later with added random velocity & other random parameters... :) ciao
MIDI NOTE OFF velocity question
stripnote filters out zero velocity bangs, not note off bangs unfortunately. Pd doesn't recognize note off it appears, it only recognizes zero velocity note events and assumes that they're note offs. if your master keyboard transmits note off velocity (which is MIDI standard btw) the note offs pass because they're not non-zero. In my patches I use stripnote to take off the zero velocity note offs as my cheapo plastic keyboard at home doesn't transmit note off velocity (it sets it uniformly to zero), but it doesn't work with a 'better' master keyboard because note its note off is not zero velocity (when I lift my fingers off the keys in slow motion I still get values of ~20). I should write to Miller... :-))
Wishlist - Homemade MIDI turntable for PD
Heyy mate! @casainho said: > However, I am looking for a cheap and simple way to communicate with Pure Data, without the need to write any special driver for Pure Data and OS. That would be the nice thing about ethernet, and why I though of these really cheap COM (computer on module) things that are about now. Maybe it seems overkill but now these things are really commodity items it may turn out cheaper to use a thumbstick sized SBC than to make your own PCB with a microcontroller. Just an idea, I haven't done a serous comparison. @casainho said: > About hardware, I am already using a microcontroler(not an FPGA, I have no knowledge for that but I would like) with C programing but with a RTOS, Real Time Operation System, in this case, the FreeRTOS, with a license alike GPL :-) Ah yes! I've seen these too. Never played with one though. I used to use PICs but found them just too slow and limited to anything much with. How much are they per chip? And if you make the PCB, roughly how much does the total cost of the board and uC come to? @casainho said: > I must say that for now, this microcontroler with C and with FreeRTOS is more than enough :-) Okay, yeah I misunderstood - sorry, I wasn't concentrating - I was thinking you were going to make something that needed to run Pd on the board and then send out your signals from that. @casainho said: > The problem is to get a cheap turn table!! For cheap and simple project, It will not have any motor... Its more just a circle that we can turn right or left, more quick or not... I keep thinking about this and it's difficult - like how the hell do they manufacture turntables? Ones I've seen look like die cast aluminium, and it's not relly a garage industry technology. Cutting a perfect circle 12 inches diameter isn't easy for any material. I think it has to come down to what I said - finding an existing mass produced item you can subvert. After the platter the next hardest part is the bearing. I had an idea for that... just use an electric motor, most have holes for mounting tapped into the front already and you get two really good bearings (one in each dime) for the price of one. Plus you can pick up motors for almost no money. Just because you're not going to use the motor to drive it - you can stil use one :D @casainho said: > I would like that this project grow with Pure Data community help, for Pure Data people, so, I would like that It be simple and cheap. People who will test this and give you cool feedback are DJs, whether they are Pd users or whatever. The reason I suggest Reaktor is nothing to do with that software really (although it is a good choice because Reaktor has OSC) but because there are lots of people who use it who are probably also DJs while Pd has a few, probably less because it is more cerebral (no offence meant to any DJs). @casainho said: > The optical sensor was chosen because is really cheap, easy find on local shops and have good detection of movement. That's a really good design I think, not just cos it's cheap but because it's clever - robust, reliable, no physical or electrical contact! @casainho said: > I just talked about commercial project, because It would be simple, more accessible to Pure Data community If anyone could buy already assembled or at least the parts to assembly. Sure, but if you're going to make more than 100 of anything you should look on it as a business I think, not hugely profitable but consider the time you put into making this. You don't have to limit to Pd - it's a general purpose controller once you manufacture it. He he - I did get carried away thinking of you starting a little factory for these and one day being able to go to my music store and order one and say I know the bloke who designed this :) I want to see lots more success stories like Reatable with people developing with Pd and manufacturing products. I spoke with some guys at O'Reilly a long while back and they were enthusiastc about Pd for the magazine called Make, but since then I haven't seen any ideas they took up to publish deigns with home designed hardware and Pd. Maybe you should get in contact with them - Steve Weiss was the guy I spoke with, dunno if he's still there. Building and selling hardware seems one of the most attractive and fair ways of using FOSS in a profitable business. Because you're actually selling something that you designed and manufactured yourself. Well, I think whatever scale you make this on it will be desirable and you will sell a few. I'd buy one off you! @casainho said: > What I have difficult now is to get an kind of turntable in wood, just a simple base in wood with a circle that turns left and right... Here's a brain fart....! What is already the perfect size and very very cheap to buy lots of? A 12" vinyl LP... Maybe glue a couple together to get more weight. You need ones that aren't warped. Older ones, 1970-1980 are better quality - thicker. Somehow you have to adapt a spindle to fit the center perfectly. Question: How are you going to mount the optical sensor? Will it read from the edge of the platter or will it shine down on the surface? Hmm, exciting stuff. :D Have fun with your experiments. a.
Suggestions for noobs
0\. Fondamental links : ---------------------- \* site de Miller Puckette : \[url=[http://www-crca.ucsd.edu/~msp/][0] \][http://www-crca.ucsd.edu/~msp/][0] \* communauté internationale : \[url=[http://puredata.info/about][1] \][http://puredata.info/about][1] 1\. Sarting adress : ----------------------- \* Official Documentation de Miller Puckette : \[url=[http://www.crca.ucsd.edu/~msp/Pd\_documentation/][2] \][http://www.crca.ucsd.edu/~msp/Pd\_documentation/][2] \* FAQ, you need to read this too : \[url=[http://puredata.info/docs/faq/][3] \][http://puredata.info/docs/faq/][3] \* IN FRENCH -\> lire ma doc en html offline : \[url=[http://impala.utopia.free.fr/pd/patchs/documentation\_pd\_fr.zip][4] \][http://impala.utopia.free.fr/pd/patchs/documentation\_pd\_fr.zip][4] ou online sur le site d'idecibel : \[url=[http://www.idecibel.com/modules/xfsection/index.php?category=9][5] \][http://www.idecibel.com/modules/xfsection/index.php?category=9][5] 2\. Asking questions : --------------------------- \* FRENCH FORUM : \[url=[http://idecibel.com][6] \][http://idecibel.com][6] \* ENGLISH FORUM : \[url=[http://puredata.antibling.org/][7] \][http://puredata.antibling.org/][7] \* MAILING LIST ARCHIVES : \[url=[http://lists.puredata.info/pipermail/pd-list/][8] \][http://lists.puredata.info/pipermail/pd-list/][8] \* LIST OF OBJECTS : \[url=[http://umatic.nl/workshop/objects.txt][9] \][http://umatic.nl/workshop/objects.txt][9] \* SEARCH AN OBJECT: \[url=[http://iem.kug.ac.at/pdb/][10] \][http://iem.kug.ac.at/pdb/][10] \* MOST of OBJECTS COMPILED FOR WINDOWS IN .DLL : \[url=[http://whats-your.name/pd/extra/][11] \][http://whats-your.name/pd/extra/][11] 3\. Practice with patch : -------------------------------- \* see the whole patchs in the doc folder (when you have installed pure data) 2.control examples 3.audio examples 5.fft examples and 7.stuff (some tools to use and build your own patch easier) \* IN FRENCH, 2 workshops : \[url=[http://impala.utopia.free.fr/pd/patchs/workshop\_fr\_01.zip][12] \][http://impala.utopia.free.fr/pd/patchs/workshop\_fr\_01.zip][12] \[url=[http://mobil12.my-underworld.net/index.pd.php][13] \][http://mobil12.my-underworld.net/index.pd.php][13] \* Selection of patchs that I think very nice (grab froom INternet), usefull to start with : \[url=[http://impala.utopia.free.fr/pd/patchs/selection/][14] \][http://impala.utopia.free.fr/pd/patchs/selection/][14] 5\. To go more far : ----------------------- \* ECRIRE UNE EXTERNAL : \[url=[http://iem.kug.ac.at/pd/externals-HOWTO/][15] \][http://iem.kug.ac.at/pd/externals-HOWTO/][15] \* GEM WORKSHOP \[url=[http://www.ekran.org/pd/][16] \][http://www.ekran.org/pd/][16] \* GEM TUTORIAL : \[url=[http://taproot.dyndns.org/~cgc/tutorial\_gem/index.html][17] \][http://taproot.dyndns.org/~cgc/tutorial\_gem/index.html][17] \* FFT et Pd : \[url=[http://www.parasitaere-kapazitaeten.net/Pd/fft\_und\_pd\_en.htm][18] \][http://www.parasitaere-kapazitaeten.net/Pd/fft\_und\_pd\_en.htm][18] \* CVS ACCESS : \[url=[http://cvs.sourceforge.net/viewcvs.py/pure-data/][19] \][http://cvs.sourceforge.net/viewcvs.py/pure-data/][19] \* HOW TO USECVS : \[url=[http://puredata.info/docs/developer/sourceforge\_cvs/][20] \][http://puredata.info/docs/developer/sourceforge\_cvs/][20] \* Theory and Techniques of Electronic Music, Miller Puckette: \[url=[http://crca.ucsd.edu/~msp/techniques/latest/book-html/][21] \][http://crca.ucsd.edu/~msp/techniques/latest/book-html/][21] \* A developper/artist in pd : \[url=[http://at.or.at/hans/][22] \][http://at.or.at/hans/][22] 6\. list of links : ------------------ \[url=[http://pd.klingt.org/webring/][23] \][http://pd.klingt.org/webring/][23] \[url=[http://barely.a.live.fm/pd/][24] \][http://barely.a.live.fm/pd/][24] \[url=[http://www.mortmain.com/pd.html][25] \][http://www.mortmain.com/pd.html][25] \[url=[http://bill.teamtechno.com/pdspider/][26] \][http://bill.teamtechno.com/pdspider/][26] [http://giair.music.free.fr/links/][27] [0]: http://www-crca.ucsd.edu/~msp/ [1]: http://puredata.info/about [2]: http://www.crca.ucsd.edu/~msp/Pd_documentation/ [3]: http://puredata.info/docs/faq/ [4]: http://impala.utopia.free.fr/pd/patchs/documentation_pd_fr.zip [5]: http://www.idecibel.com/modules/xfsection/index.php?category=9 [6]: http://idecibel.com [7]: http://puredata.antibling.org/ [8]: http://lists.puredata.info/pipermail/pd-list/ [9]: http://umatic.nl/workshop/objects.txt [10]: http://iem.kug.ac.at/pdb/ [11]: http://whats-your.name/pd/extra/ [12]: http://impala.utopia.free.fr/pd/patchs/workshop_fr_01.zip [13]: http://mobil12.my-underworld.net/index.pd.php [14]: http://impala.utopia.free.fr/pd/patchs/selection/ [15]: http://iem.kug.ac.at/pd/externals-HOWTO/ [16]: http://www.ekran.org/pd/ [17]: http://taproot.dyndns.org/~cgc/tutorial_gem/index.html [18]: http://www.parasitaere-kapazitaeten.net/Pd/fft_und_pd_en.htm [19]: http://cvs.sourceforge.net/viewcvs.py/pure-data/ [20]: http://puredata.info/docs/developer/sourceforge_cvs/ [21]: http://crca.ucsd.edu/~msp/techniques/latest/book-html/ [22]: http://at.or.at/hans/ [23]: http://pd.klingt.org/webring/ [24]: http://barely.a.live.fm/pd/ [25]: http://www.mortmain.com/pd.html [26]: http://bill.teamtechno.com/pdspider/ [27]: http://giair.music.free.fr/links/
Time-counter, Flip - flop, comparitor...?
Hey there. I'm trying to biuld a patch which run realtime count-ups (in msec) between zero crossings. I haven't sound the right modules necessary to do the tasks below. I'd appreciate anyone's advice. So, I need a counter that generates a streaming signal of upcounting time. it needs to be resettable, and just keep counting upward. having some maximum time-argument or stop-out would help prevent stacks from overflowing. the trick is, this needs to run at signal speed (default 44.1khz), and be able to stream out fractions of a millisecond, thus, I can't use a metronome, because the metronome seems to only go down to 1 millisecond. (unless I'm mistaken). I need to reset these counters eveery time the signal crosses above and below zero, so I need some kind of comparitor signal unit, which outputs a bang only and exactly when the cross to one side is made. I want to use this with a flip flop of sorts, which simply changes input status every time it recieves the bang. I'd really appreciate it if anyone could: ...direct me to existing modules or applications/combinations that could do this kind of thing. ...refer me to existing abstractions that people have cooked up for this kind of thing. cheers, G...
Opencv Linux Installing???
Just gave it another look. It seems that they both come with precompiled objects. What you can do is check to make sure that they'll work propperly on your system. One way to do this is to check their links. Run an "ldd" command in the pdp\_opencv folder ("pdp\_opencv $" is the prompt, not command): pdp\_opencv $ ldd pdp\_opencv.pd\_linux linux-gate.so.1 =\> (0xb7f31000) libcxcore.so.1 =\> not found libcv.so.1 =\> not found libhighgui.so.1 =\> not found libcvaux.so.1 =\> not found libml.so.1 =\> not found libc.so.6 =\> /lib/libc.so.6 (0xb7daa000) /lib/ld-linux.so.2 (0x80000000) See where it says "not found"? That's because I don't have openCV installed on my machine. If I did then ldd would properly show that link. Make sure all the links are pointing somewhere (like how libc.so.6 is pointing to /lib/libc.so.6 (0xb7daa000)) Do the same in pix\_opencv: pix\_opencv $ ldd \*.pd\_linux I'm not showing the output here because there are 9 pd\_linux files. If everything seems ok copy these pd\_linux files to your pd's path. In my machine it's /usr/lib/pd/extra saturno
Windows or Mac?
If your intention is to use windows to develop and linux to perform, your patches should be portable between windows and linux. In fact going from windows to linux should be easier since the latter has certain pd features the former doesn't. But watch out for case insensitive filesystems. In windows and mac the filesystem is case preserving but not sensitive, while linux has mostly case sensitive filesystems. For PD this means that under linux you can have two distinct patches, ex: Not.pd and not.pd while in windows this would not be allowed. Porting from windows to linux this example shouldn't be a problem, but you might have an abstraction patch saved as not.pd and use it as "NOT" in another patch. Under windows this will work since "NOT" will be matched to not.pd, but under linux it won't work since it will be looking for NOT.pd
Error: tabsend~: $O-hann: no such array
Yes U are right but I am also not wrong:) Actually neither I am a signal processing student nor I have any ambition in this field. My actual task is some thing different. I have to evaluate (Only EVALUATION) of voice morphing technology. There are some other avaialble voice morpher tools (such as AVS, Vodi, and many others etc) but those tools do not serve my purpose as they are hard to integrate with my other application. So if I would not make myself dirty with DSP, it would not hurt my master:) I and my master goal and intentions are different. Even my master is not from Engineering field . He is a socialgist . :) at least her last degree is in socialiogy. I am also not an from electrical engineering field and I also know, that may be at higher level I would undersatnd the meaning of Filters, FFT, pitch, timbre, formant, pitch shifting, Vocoder, phase alignment etc. but I would never understand this domain in depth (not due to my incompetency rather due to my different domain) so as you said "It will not help you if I just change it to work. Neither will you learn much if somebody just completes your assignment for you :)". So it would works for me, as my final goal is some thing different. (that goal is experientaion/evaluation, Human Psycholgy etc ) So Guru, I assure you, that if you do this work for me. You would not be penalized by Plagrism act:). rather I would fully document your name in my final thesis.:) I give you some idea, what I want to do A says: let's go to cienma (centre) B says: no busy in course work (left of A) C says: me too (right of A) B says: hmm... we would go on TUESDAY. (morph into C,s voice) (morphed B,s voice into C's voice and send at right channel of A ). Now in this all conversation, A brain is tune up that what ever is coming from left is B's voice and on right it is C's voice. so Here i would challange the human brain in voice recognition process? and would try to identify that how much location matters in voice recognition? so you can guess that I have to do nothing with DSP:) Sorry I try to convience you - though I know It is really hard (impossible or even sin) to convience TEACHERS.
[metro] set to 1 ms cycle freezes the GUI - bad performance
OK, here it is: ``` #N canvas -4 -4 1826 1040 16; #X obj 799 324 bng 39 250 50 0 empty empty empty 17 7 0 10 -258113 -1 -1; #X floatatom 966 448 5 0 0 0 - - -; #X floatatom 853 996 5 0 0 0 - - -; #X floatatom 853 926 5 0 0 0 - - -; #X msg 799 436 1; #X obj 842 1108 nbx 5 14 0 128 0 1 empty empty note 0 -8 0 10 -262144 -1 -1 64 256; #X obj 881 1088 nbx 5 14 0 127 0 1 empty empty velocity 0 -8 0 10 -262144 -1 -1 127 256; #X obj 920 1068 nbx 5 14 0 2500 0 1 empty empty nt_lenght 0 -8 0 10 -262144 -1 -1 14 256; #X obj 929 1104 nbx 5 14 0 16 0 1 empty empty midi_ch 0 -8 0 10 -262144 -1 -1 0 256; #X obj 853 1028 loadbang; #X obj 842 1129 abs_mknote; #X msg 282 558 const 0; #X obj 1058 649 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 1057 847 5 0 0 0 - - -; #X obj 1091 650 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 799 162 notein; #X obj 799 208 stripnote; #X floatatom 799 238 5 0 0 0 - - -; #X floatatom 886 237 5 0 0 0 - - -; #X obj 799 271 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1587 492 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1353 512 nbx 5 14 0 128 0 1 empty empty note 0 -8 0 10 -262144 -1 -1 95 256; #X obj 1392 492 nbx 5 14 0 127 0 1 empty empty velocity 0 -8 0 10 -262144 -1 -1 127 256; #X obj 1431 472 nbx 5 14 0 2500 0 1 empty empty nt_lenght 0 -8 0 10 -262144 -1 -1 12 256; #X obj 1440 508 nbx 5 14 0 16 0 1 empty empty midi_ch 0 -8 0 10 -262144 -1 -1 0 256; #X obj 1364 432 loadbang; #X obj 1353 533 abs_mknote; #X obj 1057 816 mod 4000; #X obj 1057 909 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1057 879 sel 3999; #X obj 1380 68 tgl 35 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 1058 619 del 0; #X obj 1161 356 metro 300; #X obj 1159 557 sel 0; #X msg 1057 934 0; #X obj 1380 305 t i i; #X obj 1123 448 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1156 447 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 1058 356 metro 1; #X obj 1353 351 i; #X obj 1353 263 delay 100; #X obj 943 373 abs_mujSpigot; #X obj 1605 375 abs_delvel; #X obj 1215 406 abs_mujSpigot; #X obj 1206 455 abs_mujSpigot; #X obj 1094 756 float; #X floatatom 1057 783 5 0 0 0 - - -; #X msg 1058 674 1; #X obj 1057 756 +; #X msg 1094 726 0; #X msg 1070 697 -1; #X text 1104 675 increment; #X text 1109 698 decrement; #X text 1132 724 reset; #X obj 281 641 table $0-notes 10000; #X obj 853 957 tabread $0-notes; #X obj 799 477 tabwrite $0-notes; #X text 887 713 counter --->; #X text 629 214 MIDI INPUT -->; #X obj 282 585 s $0-notes; #X text 378 556 <-- clear the table; #X obj 1009 1057 moses 1; #X obj 1076 1088 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 1118 928 <-- stop the playback when a condition is met; #X text 1447 71 <--- RUN IT; #X text 1007 256 left metro goes through the table; #X text 954 284 right metro bangs some values into the table; #X text 687 374 custom spigot object -->; #X connect 0 0 4 0; #X connect 1 0 56 1; #X connect 2 0 61 0; #X connect 3 0 55 0; #X connect 4 0 56 0; #X connect 5 0 10 0; #X connect 6 0 10 1; #X connect 7 0 10 2; #X connect 8 0 10 3; #X connect 9 0 5 0; #X connect 9 0 6 0; #X connect 9 0 7 0; #X connect 9 0 8 0; #X connect 11 0 59 0; #X connect 12 0 47 0; #X connect 13 0 3 0; #X connect 13 0 1 0; #X connect 13 0 29 0; #X connect 14 0 49 0; #X connect 15 0 16 0; #X connect 15 1 16 1; #X connect 16 0 17 0; #X connect 16 1 18 0; #X connect 17 0 19 0; #X connect 19 0 0 0; #X connect 20 0 41 0; #X connect 20 0 26 4; #X connect 21 0 26 0; #X connect 22 0 26 1; #X connect 23 0 26 2; #X connect 24 0 26 3; #X connect 25 0 21 0; #X connect 25 0 22 0; #X connect 25 0 23 0; #X connect 25 0 24 0; #X connect 27 0 13 0; #X connect 28 0 34 0; #X connect 29 0 28 0; #X connect 30 0 33 0; #X connect 30 0 35 0; #X connect 30 0 40 0; #X connect 31 0 12 0; #X connect 32 0 37 0; #X connect 32 0 43 0; #X connect 33 0 14 0; #X connect 34 0 30 0; #X connect 35 0 39 1; #X connect 35 1 32 0; #X connect 37 0 44 0; #X connect 38 0 31 0; #X connect 38 0 36 0; #X connect 39 0 38 0; #X connect 40 0 39 0; #X connect 41 0 0 0; #X connect 42 0 20 0; #X connect 43 0 20 0; #X connect 44 0 42 0; #X connect 45 0 48 1; #X connect 46 0 27 0; #X connect 47 0 48 0; #X connect 48 0 45 0; #X connect 48 0 46 0; #X connect 49 0 45 0; #X connect 50 0 48 0; #X connect 55 0 2 0; #X connect 61 1 62 0; #X connect 62 0 10 4; ```
"winds of doom" soundscape-generator
@toxonic said: > i have to enhance some little things in my structure to save some cpu power (for example i use a noise~ object in every(!) voice, but i only need one for all voices) - at the moment it's not possible to run 100 voices on my machine. but i find, this many voices are not needed to get a good and fat sound. yes, a single instance of noise~ would help in reducing the cpu load. Another (maybe useful) suggestion is to use a switch~ for the voices that are not in use at a certain time. Anyway you're right, a nice sound does not need too many voices (96 are a lot, 128 too many ;-). @toxonic said: > what i found out in your patch is, that reducing the voices leads to a reduction of mainly high voices - was this your intention? I approached that problem by using a "frequency spacing" parameter, so even with few voices I can span the 20-20000 Hz region (each "voice" has a center frequency _f = f0 x n x dF_ where _f0_ is the "base" frequency, _n_ is the voice number and _dF_ is the frequency spacing), but in that case, if you reduce the number of voices and you want to preserve the full spectrum span you need to increase the frequency spacing.. Anyway, I really enjoyed winds of doom, thanks for sharing. I particularly like the "drops" effects (preset 2 if i'm not wrong), it's really good. @toxonic said: > p.s.: a skrewell adaption would be a nice idea too, but i didn't already get me into it.... i hate reverse engeneering... ;) Skrewell is an instrument for which I'd pay to have it ported in Pd (ok, kudos, not real euros :-).. In case you change idea let me know, maybe sometime we can join the efforts for this ... Anyone else? :-) Alberto
Changing the startup audio input default.... or something
First, thanks. I appreciate any reply to my questions... However, I read through the puredata.info/docs/faq/pdsettings and it had an explanation that did not coincide with what I am seeing when I run Pd. I am running on Mac OSX, and it says "On Mac OS X the settings are stored via the native plist-system (in ~/Library/Preferences/org.puredata.pd.plist). You can edit them with the command line util defaults, like defaults read org.puredata.pd" I tried finding Library/Preferences/org.puredata.pd.plist and looked at it with Text Editor and yeah..... that's about as far as I got. I know some aspects of Pd are not very user-friendly and I'm not as much of a computer nerd as I would like, so I'm still confused. I have not come across any button that says "save all settings" like it suggests. I'm at work right now so I'm not able to try anything at the moment. I'll keep trying later tonight though. Thanks again!!
Msg box , bang delay
thanks...but..this is not I wanted...sorry if i didn't make it clear... basically what I wanted was e.g. notes A pause 160ms; (duration of notes = 100ms) notes B pause 160ms; (duration of notes = 100ms) notes C pause 160ms; (duration of notes = 100ms) notes D pause 2000ms; (duration of notes = 150ms) then it will loop and loop again..... i got something like this..but i'm not sure how to set the duration.....any ideas? [http://www.pdpatchrepo.info/hurleur/bass\_test\_2.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/bass_test_2.pd
Wishlist - Homemade MIDI turntable for PD
\> What protocol should be used to communicate with PC?? \> MIDI isn't slow? MIDI is not just a protocol, it is an entire communication system from the physical layer right up to the data layer including baud rate and connector specs. MIDI as a protocol could be run much faster over USB2 or ethernet, but a sensible modern extension to MIDI would encapsulate it inside OSC or something like that and send it over a session aware layer. MIDI has had 20 years and now it's probably best to just bypass it and go straight for OSC over ethernet. That would also bypass all those "driver" issues for Windows users too. \> I plain to use Linux!! An excellent choice if I may say so sir! Perhaps it's time to look at Linux SBCs with built in network and USB. You can get tiny ones that are no bigger than a matchbox and single chip FPGAs that you can write your software into. Check out [http://linuxdevices.com/][0] \> I am having problems in getting an turntable to electrify with this \> electronics hardware :-( You will not drive a turntable motor from USB. The current demands will kill the source. You need an external PSU. 12v at about 1 amp is probably plenty. \> Should this project be commercial?? I would pay to someone that made for myself \> the turntable in wood, plastic or metal. Where can I find such shop? In your garage. There's no reason not to start a small commercial enterprise making these things but you need to do a bit of defining exactly what the function is, who will buy it and in what parts of the world. My honest advice at this stage is that you don't yet have a saleable product. Needs more development. It's a great project and demonstrates ingenuity in using the optical sensor, but you need to very clearly define the exact function and software it is designed to work with and why. In a funny way you have to think in reverse. Start with the constraints. The target customer is the overall most important consideration. Choose the biggest group like Reaktor users and build it for them. The housing is probably the single most important design factor. Guess how many units you might sell and design around that. A thousand is a reasonable prospect from a website shop, over a year or two. You need to work out the labor costs for manufacture, how long will it take you to build each one? Maybe you can do a deal with a manufacturer to buy and retrofit existing turntables for a first low volume project. Or change the design to be a turntable accessory because many people already have an old turntable in their junk room. Before getting anything manufactured you need a serious prototype, something you can show to an engineer who can give advice on large scale production. Product design is a lot of odd things you never thought of before, but many are common sense. Heat dissipation, EMI shielding, where to locate certain components for accessibility, physical strength, vibration. If you want to sell a product in most countries it needs to pass some basic safety requirements. Having external power supplies will solve 90% of these in one go. The most expensive ways are injection molded plastic. The best ways in the modern culture are good old fashioned wood and metal, renewable and recycleable materials. Do some cost calculations for folded steel box sections, extruded aluminium and plastic housings. Think about assembly all the time. Contact local engineering companies and get quotes, they are always happy to send single samples for free if you are serious. Use standard components wherever possible. Be creative in reusing things that are already mass produced and adapt them to the design. Think about weight because of shipping costs. Look at your competition all the time too. Think about why people would buy your turntable in preference to one of those DJCD boxes. How will you market it, what are the key features? The good news is that because of the economy in the US there will be a renaissance in small manufacture over the next decade. People have got used to the idea that we just design stuff in the West and let the Indians or Chinese build things. That economic pendulum will swing back and we find there's a shortage of skills in manufacturing. Getting a good base in product design now could pay rewards further down the road. Most first business projects are unsuccessful, don't let it knock you back. The second or third project is the one that pays. [0]: http://linuxdevices.com/
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][0] [http://ccrma.stanford.edu/courses/154/pd-reference.html][1] [http://pure-data.sourceforge.net/documentation.php][2] \>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/][3] ), 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. [0]: http://puredata.hurleur.com/sujet-248-suggestions-noobs [1]: http://ccrma.stanford.edu/courses/154/pd-reference.html [2]: http://pure-data.sourceforge.net/documentation.php [3]: http://dynebolic.org/
Your hardware equipment ?
I'm using PD on a very similar VIA EPIA board - an ME-6000\. Only a 600mhz chip in this one but it runs PD really nicely. Not easy to get it all running though with Linux though - graphics drivers are particularly fiddly to get working. I guess it would run XP fine, but haven't tried. Sound is easy to get running though - uses a standard VIA 8235 chipset. Not cutting edge, by any means, but sound is clear and clean. Haven't tried SPDIF on it yet. Best thing about it though - in a suitable case with an external fanless laptop-style psu, no cd-rom and a laptop hard drive you get completely silent fanless operation. Bliss! I'm using the board as a base for a home entertainment device I'm developing for a uni project. It may or may not incorporate PD. Andrew.
Arrays, canvases, other big questions
**sunji** - i did some experimenting and poking around the Pd source code and figured out what messages you can send to a canvas object. here is the list: dialog -- not quite sure how to use this one or what exactly it does size
-- determines the selectable size of the canvas
delta -- moves the position of the canvas relatively by x horizontally and y vertically
pos -- set x and y position of the canvas
vis\_size -- set the width (x) and height (y) of the canvas
color -- set the color
send -- set the send name of the canvas
receive -- set the receive name
label -- set the label
label\_pos -- set the x\_off and y\_off properties for the label
label\_font -- set the label font
get\_pos -- returns the x and y position of the canvas to the canvas send name
i think that's all of them. i'll post if i find any more
Pd and ableton live 6 clock
hi, i'm using IAC bus 1 to send midi between live 6 and pd, on mac OS10.3.9\. Does anyone know how to get midi clock into pd in this situation? There doesn't seem to be a \[clockin\] object of such, and there's no rewire in pd, right? One way i've kind of botched it together is by having ableton play a 1 bar loop consiting of alternating middle Cs (note 60) and C\#s (note 61), then using \[timer\] to measure the time between these two notes, and using that to set the speed of \[metro\]. one problem i've found is that, all other things being equal, at 120bpm, the \[timer\] object should measure 500ms, right? but it doesn't, it jumps around between about 490 and 510\. anyone know why this is? i tried using \[realtime\] instead of \[timer\], but it was the same (ish). anyone know a better/more elegant way of getting tempo? thanks stephen
Problem with sound / sound card
I hope anyone can help me out here.. I am by the way a newbie in PD, but have used Max/MSP for some time. I have a couple of problems with PD when it comes to the sound part. I am running OSX on a G5, with a Digidesign digi002 rack as main sound card. The thing is, that i can´t get sound even when I run the "Test Audio and MIDI" patch from "Media", nor can I see anyhting happening in the boxes under "pd ------ audio-----"; it 0 all the way. This is with the digi002 soundcard. The same thing happens when I run the digi002 sound driver through JackOSX (so, the sound card i select in other words is Jack). On the other hand, MIDI in and out seems to work with digi002\. Of course, I have also tried with the built-in sound card, and I have also tried with another sound card I got (M-Audio Ozone), and I get sound with both! Thanks a lot if anyone can give a hand on trying solving what´s wrong and how to fix it! Also, I have another problem, when I open a new patcher, and want to create a sound object, it won´t let me write ~ ! I have tried to write the same, the same way in TextEdit, Max/MSP, and it works fine there, but not in PD. Also, it won´t let me copy and paste! If anyone knows anything about this issues, thanks! Hanstein
How to run pd w/o gui?
Hi, Is it posibble to run pd without gui, without any window? I need it, because I found out the graphic rendering eats lots of cpu. I'd like to run "pd -jack -rt --no-gui -open /some/file" and record the track in a linux launched in text-mode. I won't use any sliders or bang buttons, I just need my patch to run in background and transform midi input to audio output. Yea, I know it sounds very funny, but no matter why do I need it, just: Is it possible to run puredata like that?
Lib pb on pd extended 0.40
hi i was working on pd ext 0.39 without pb and I recently I update to 0.40 and glaps! pd can't load any lib anymore (gem, zexy, etc.). I'm working on mac osX 4 11... anyone can help ??? thx yeli /Applications/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd\_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd\_darwin, 10): Library not loaded: /usr/X11R6/lib/libfreetype.6.dylib Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/Gem/Gem.pd\_darwin Reason: image not found Gem: can't load library cyclone: can't load library zexy: can't load library cxc: can't load library ext13: can't load library ------------------------------------------------------------------- FFTease - A set of Live Spectral Processors Originally written by Eric Lyon and Christopher Penrose for MAX/MSP flext port (version 0.0.0) provided by Thomas Grill, (C)2003-2004 ------------------------------------------------------------------- iemabs: can't load library iemmatrix: can't load library liblist: can't load library markex: can't load library maxlib: can't load library memento: can't load library mjlib: can't load library motex: can't load library oscx: can't load library pddp: can't load library pdogg: can't load library /Applications/Pd-extended.app/Contents/Resources/extra/pdp.pd\_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/extra/pdp.pd\_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/pdp.pd\_darwin Reason: image not found pdp: can't load library /Applications/Pd-extended.app/Contents/Resources/extra/pidip.pd\_darwin: dlopen(/Applications/Pd-extended.app/Contents/Resources/extra/pidip.pd\_darwin, 10): Library not loaded: /usr/X11R6/lib/libX11.6.dylib Referenced from: /Applications/Pd-extended.app/Contents/Resources/extra/pidip.pd\_darwin Reason: image not found pidip: can't load library pixeltango: can't load library pmpd: can't load library rradical: can't load library sigpack: can't load library smlib: can't load library toxy: can't load library unauthorized: can't load library ----------------------------------------- VASP modular 0.1.4pre vector assembling signal processor (C)2002-2007 Thomas Grill [http://grrrr.org/ext][0] ----------------------------------------- ------------------------------- xsample objects, version 0.3.2pre xrecord~, xplay~, xgroove~ (C)2001-2007 Thomas Grill ------------------------------- /Applications/Pd-extended.app/Contents/Resources/extra/zexy/z~.pd\_darwin: can't load library [0]: http://grrrr.org/ext
Building a modular synth
I'm not sure I entirely understand your first question. Why exactly would plugin support help your modular design in Pd? As for routing audio, I use jackOSX with Pd all the time. Here's how it works for me: - Open JackPilot. - In the preferences, set your buffer size and such to your liking. The virtual ins and outs are important. These are the number of connections that will be allocated to each app. - Start the server. - Open Pd and, under the media menu, select jack mode. This will open the audio setting dialog with jack set as the input and output device. Adjust the channels to whatever you need. - Open whatever other app you're using and set the input and output devices to jack server or whatever it says. - Now, go back to JackPilot and click the Routing button. In the send ports (which are your apps' outputs) unfold Pd's and select and output. Under receive ports, unfold the other app and double click the input you want to connect to. Or vice versa if you're feeding into Pd. Also, make sure that you're routing the app with the mixed signal (probably the DAW, if you're using that) to the sound card's inputs. This is always labeled "system." Yes, there will always be latency, but on OSX it seems to be minimized with jack. Even if you're using Pd on its own, you can get lower latency if you route through jack and then into the sound card. You will get added latency every time you go in and out, so try to minimize that. And multiple cores won't make a difference if you're only using Pd, as it will only run on a single core. If you're using other apps, then it might help as they may run on a different core than Pd. As for the standardization, I know there are some who would like to see everything scaled in a 0-1 range. But I don't think it's that big of a deal in Pd when it comes to sharing patches, as Pd gives you what you need to convert ranges if you need to. I would just go with what works best for your particular needs. Sometimes standards set by others can get in the way. :-) If you haven't yet, check out hardoff's DIY2 library. It might give you some ideas. [http://puredata.hurleur.com/sujet-1982-diy2-effects-sample-players-synths-sound-synthesis][0] Hope that answers some of your questions. [0]: http://puredata.hurleur.com/sujet-1982-diy2-effects-sample-players-synths-sound-synthesis
Phase Timing Help - basic
hmm. ah, okay, that's common sense. I should have picked up on that. Thanks for helping me out a second time on the same issue, haha. That will work for the main thing I have in mind. However, one thing I'd like to do eventually is have two oscillators running at independent frequencies and one phase modulating the other. So it would be useful for me to have a control that would reset the phase on a note-on message. That way I could toggle the control to have either free-running oscillators or oscillators that start at a specific phase each time a note is produced. to realize this should I just use a master phasor~ by default and toggle in additional phasors as independent frequencies become necessary? I feel like at that point I would still be lacking note-on phase syncing. The note-on phase syncing is handy for realizing predictable note attacks when the difference in frequency is relatively small. It's a feature in Ableton Live's Operator, for example (I don't own this actually). Thanks for bearing with me on this. The relative nature of phase has always confused me to a degree.
Serious problem with poly object!!
Your patch is very useful Maelstrom but it has one problem: it saves the note off messages and when the pedal is released it send all the notes off. But when I press a note twice and I want it to be sustained by finger and release the pedal then the pedal gives all notes off and the finger sustain doesn't work. That is problem because in a normal piano there is this mechanism for this and I want it to. Is there a way that the notes witch haven't sent a note off message (finger sustain) to be excepted from the final note off list? Thanks again for your precious help!
Scale in tonal intervals?
I saw the term "tetrad" on the internet, although have never seen anybody using it throughout my 6 years of academic life. In case of tonal music, simply saying 7th or added chord would be enough to mean 4 note chord since they are named after the fourth note added to a triad, such as Major 7th, Dominant 7th, min add9, Maj add\#11, etc. Similarly, saying 9th would immediately recall a five note chord; 11th - 6 and 13th - 7 note chord. In other cases, like, quartal harmony, atonal or micro-tonal music, it's the safest to say simply "4 note chord", "5 note chord", "12 note chord" etc.
Key polyphony
Just think of it as being similar to how MIDI works: there is a note-on and note-off for each pitch. When a note-on is triggered, the pitch continues until it gets a corresponding note-off; another note-on from a different pitch won't affect it. So if you just use \[key\] to trigger note-ons and \[keyup\] to trigger note-offs (or use \[keyname\] to do both) and couple them with a pitch, you can handle it like MIDI data. Then just use \[poly\] to handle the polyphony. [http://www.pdpatchrepo.info/hurleur/keyboardpolyphony.mmb.pd][0] [0]: http://www.pdpatchrepo.info/hurleur/keyboardpolyphony.mmb.pd
Multitrack Analysis Module
@lead said: > Maybe a small Linux distro that auto-boots/mounts PD and the patch from a CD, this would allow it to work on a PC and save CPU for the fft? He's on windows, so nix that idea. After some discussion in the Pd irc chan (\#dataflow-\>Freenode) it seems there's some confusion over the 'standalone' aspect of it. Ultimately what you'll likely need to do is run Pd with a flag to automatically launch the patch, and I think there are settings where you can disable certain windows (although keeping the main Pd window visible would probably be a plus for error messages and whatnot). Might I ask what you're using to run the actual video itself? If using a third machine is an option, running Ableton on the first one, into 16 channels on the linux box running the Pd patch, into the machine running the video, might be the most efficient way to do this and save processing overhead... however this will require not only another machine but an interface capable of 16 channels in/out \[edit: maybe not 16 channels out, but do they make interfaces with multiple ins and no outs?\]... But, if you went this route you could use lead's idea with the auto-booting/mounting CD (or even set up a small linux partition and dual boot). Ultimately what you're trying to do sounds relatively simple to do with Pd, it's just a matter of working out the kinks, and hardoff definitely knows his Pd... I wish I came across this post a little earlier, I would've given it a shot myself ;-) Anyways looking forward to posts on the progress! Always good to know that people are looking to Pd for cutting edge projects, and maybe ultimately this can draw some attention to the development of Pd itself. Cheers, -Ian Nault (@hotmail.com)
Apologies for cross-posts, please help spread the word --------------------------------------------------------------------------- Call For Artists: Soundwave\>Series ((3)) MOVE\>SOUND ME'D1.ATE is seeking artists and musicians for the third season of the Soundwave\>Series, the innovative Bay Area multi-venue event series exploring imaginations in sound. Scheduled for the Summer of 2008 in San Francisco USA, this season's theme is titled MOVE\>SOUND, where artists and musicians explore the intersection of motion and sound, in its production, collaboration, performance and interaction, and how this engages, inspires, and challenges audiences and performers with a new, bold and intense aural experience. Important Dates ----------------------- Call Opens: November 5 2007 Call Closes: December 17 2007 Invitations: February 4 2008 Performance Development: March-June 2008 Performance Dates: July/August 2008 The theme tries to reinterpret how we see, feel and experience our auditory senses, how this moves us physically, emotively, intellectually and spiritually. It investigates new and innovative ways to experience sounds relation to movement and explore how these connections invigorate and inspire new directions in sound making. ME'D1.ATE seeks proposals from sound artists, experimental musicians, vocalists, bands, classical/traditional musicians, orchestras, composers, performance artists, dancers, installation artists, media artists, filmmakers, animators, spoken word artists, visual artists and other artistic organizations and individuals that involve an exploration between sound and movement. Performers are encouraged to explore new and innovative ideas of getting audiences closer to their own sound/music using forms and concepts of movement. Possible ideas may include motion sensors, dance collaborations, film collaborations, theatrics, moving vehicles, visual cues, sound generating mechanisms, installations, audience movement, and any other ideas conjured by your imagination) ---------------------------------------------- Proposals must include: • Project Brief (describing what you are interested in doing, how it involves the theme of movement, and what you are hoping to achieve with the audience. Provide in proposal equipment/instruments/collaborations being used, including what equipment is needed for performance (clearly identify all equipment/collaborators the artist(s) cannot provide) (250 words) • Brief Biography (100 words) and Bio photo • Website and relevant links to previous sound/music works (DO NOT attach sound or movie files, only links to these files) (Brief and Bio must be sent via email, but supporting materials may be sent to MEDIATE NETWORK, P.O. Box 170305, San Francisco, CA 94117-0305 if necessary) Submit to: firstname.lastname@example.com Inquiries and Questions: firstname.lastname@example.com Project Website: [www.projectsoundwave.com][0] Organization Website: [www.me-di-ate.net][1] ---------------------------------------------- Most performances are limited to approx 20 minutes long. Please indicate in your brief if your piece needs to be longer or shorter. After proposal acceptance, some productions may require development time and learning of new technologies to be fully realized. ME'D1.ATE can help explore possibilities with you in terms of collaborators, equipment and feasibility needs but the artist is fully responsible for the final work and its requirements for performance. ME'D1.ATE encourages all to apply however we are unable to provide travel or housing costs for those outside of the San Francisco Bay Area. Performances are paid (per performance- regardless of amount of performers) and is TBD based on funding awards currently in process. As ME'D1.ATE is actively seeking grant support, opportunities to this funding may be available to artists who respond before November 15 to this call. About Soundwave\>Series Soundwave\>Series is Project\>Soundwave's biennial event series recently named Best Sound Sculptures -- Future Classic by San Francisco Magazine's BEST of 2007 issue. Each season investigates a new idea in sound and invites diverse multidisciplinary artists and musicians to explore the season's theme in new and innovative directions. It challenges and inspires artists and audiences to look deeper into the sound medium and discover new connections to sound making and experience. The Soundwave\>Series has completed two successful seasons, Season 2's SURROUND\>SOUND in 2006 and Season 1's FREE\>SOUND in 2004, and is currently developing Season 3's MOVE\>SOUND set to launch in 2008\. Project\>Soundwave, launched in 2004, explores the boundaries of how we see sound, language and music. It is a project dedicated to explore innovative sound work and present intriguing artists in sound and music through the production of CDs, exhibitions and live events. Its mission is to explore the creation of sound; attempt to understand and shape the aural landscapes in everyday life; and finding innovative ways to engage the listener using sound as language, music, environment or a vehicle for human connection and interaction. "The Soundwave Series has sought to make irrelevant the typical distinctions between artist, musician, audience, stage, and venue... idiosyncratic performances that are challenging, charming, magical, assaultive, and (as is always the case with really sweet sound art) deeply personal for everyone present." --SF Weekly "It's an artisitic and exploratory experience for your senses that will open your eyes and your mind." -- Nitevibe "The result is a breathtaking assortment of experimental sounds, noises and rhythms... that approach sound from a uniquely artistic perspective...testing the limits of sound's raw emotional capability." --- SF Examiner About ME'D1.ATE Network Based in San Francisco, USA, ME'D1.ATE produces innovative exhibitions in visual and sound arts with diverse emerging and established local and international artists and musicians. It connects these works to new and diverse audiences through the initiation of exhibitions, products and live events, which include the online art exhibition, The.ME.Project ([www.meproject.com][2]) launched in 2002 and the CD and event series, Project\>Soundwave ([www.projectsoundwave.com][0]) released in 2004\. ME'D1.ATE's projects challenge perspectives to inspire new and unique experiences within ourselves and the world around us. Our goal is for audiences to look beyond the surface, and look deep into ideas and works critically, imaginatively and without limitation. Founded in 1998 in Vancouver, Canada, ME'D1.ATE Network was born to fulfill the need for an innovative forum for artists and a voice for progressive ideas to be seen, heard and explored. Alan So, Director, ME'D1.ATE Network \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* network: [www.me-di-ate.net][1] artlog: mediateart.blogspot.com studio: [www.alansostudio.com][3] sound: [www.projectsoundwave.com][0] series: [www.projectsoundwave.com/series][4] exhibit: [www.meproject.com][2] store: [www.me-di-ate.net/store.html][5] \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ [0]: http://www.projectsoundwave.com [1]: http://www.me-di-ate.net [2]: http://www.meproject.com [3]: http://www.alansostudio.com [4]: http://www.projectsoundwave.com/series [5]: http://www.me-di-ate.net/store.html
Error: tabsend~: $O-hann: no such array
1) To cross synthesise two voices you must ensure that two speakers make exactly the same utterances which are phonetically aligned. This is hard as I can tell you from experience of recording many voice artists. Even the same person will not speak a phrase the same way twice. << This is not possible in my experiment, as I am supposed to morph the actual conversation, so it is upto subjects what ever they want to speak. There is some work done by (Oytun Türk , Levent M.Arslan) who conducted experiment in passive enviornment (not at real time). 2) The result is not a "timbral morph" between the two speakers. The human voice is very complex. Most likely the experiment will be invalidated by distracting artifacts. Here's some suggestions. 1) Don't "morph" the voices, simply crossfade/mix them. << yes I also want to do this, crossfading and mix, as I just want to create illusion, so that listner start thinking whether it is B's voice or A's voice\>\> 2) For repeatable results (essential to an experiment) a real-time solution is probably no good. Real time processing is very sensitive to initial conditions. I would prepare all the material beforehand and carefully screen it to make sure each set of subjects hears exactly the same signals. <
Question :
Is VoCoder alone is sufficient for morph/mix/crossfade among two voices?
or I should also add the pitch shifting module with VoCoder to get some more qualitative results.
Question 2:
I already tried this VoCoder example, but could not change it according to my requirements. In my requirements, I have a target voice (the target voice is phonetically rich) and now source speaker is speaking (what ever he want to speak) and source voice is changing into target voice. (illusion/crossfade/mix)
The (changetimbre1.pd ) file that I attached first, give you an idea of what kind of operational interface I am looking for.
Question 3:
what should be the ideal length of target wave file?
Before the start of experiment, I would collect the voice sample of all participants.
I am highly oblige for your earlier help and looking for more (greedy). Meanwhile I would once again study this vocoder example to change it according to my requiement. ( though i doubt I may change it).
PureData's patchfile format
@from said: > Color: Some graphical elements have color attributes. Per color only one signed integer value is stored that contains the three 8-bit color // components (RGB). Formula to calculate color attribute values: > color = ( \* -65536) + ( \[green\] \* -256) + ( \[blue\] \* -1) > Where \[red\], \[green\], \[blue\] obviously represent the three color components, their values range from 0 to 255\. They apply to the attributes \[background color\], \[front color\], \[label color\] of various elements. > my notes on the matter: > I discovered that this formula did not produce the same values that were being in produced in the file. After a frustrating investigation into the discrepency, I realized that Pd color component values are not stored as 8-bit values. For some reason Pd scales these values down to 6-bit values. I am not sure why 6-bit values instead of 8-bit; it does not make much sense to me. The following formula produces accurate results to +/- 1 tolerance: > color = ((\[red\]/-4 \* 2^12) +(\[green\]/-4 \* 2^6) +(\[blue\]\*-1) > I am not sure why the result of this ends up one number off. I think it has to do with integer numbers being rounded when divided by four. > If you convert the decimal representation of the the RGB triplet to hexadecimal, and take the 5 least significant nibbles of that hexadecimal number, and convert each of those nibbles to binary, you can extract the 6-bit values. A binary representation looks like this: > xxrr rrrr gggg ggbb bbbb, > where each letter represents one bit. The six r's, six g's, and six b's obviously refer to the 6-bit red, green and blue values.\[/blue\]\[/green\]\[/red\]\[/blue\]\[/green\]\[/red\]\[/blue\]\[/green\]
Ambisonics? and Matrix?
I found that second order Ambisonics (using a not opitmized home made patch) seem to run perfectly over my P43.0Ghz machine. ambipan~ object are surely lighter. Also, just try it on your machine to know if it work well. [http://cicm.mshparisnord.org/dl\_en.htm.][0] Ambisonic should not be so hard to run, normally its only a matter of multiplication of an incomming signal by some positive or negative gain ... each loudspeaker haveing its own gain for a given target field. Thanks, by the way, I have nearly finished a new manuscript for the Journal of the Acoustical Society of America (see the first paper in JASA vol 117 no 2) and it is quite nice (at least from our view point!) I hope to submit it this month, thus meaning a potential full length paper in 2006\. For a nice converage of ambisonics, take a look at Poletti 2000 and Bettlehem 2005\. Even it is not precisely related to ambisonic, many of the theoretical developments match ambisonic theory ... the fundamental of course! not the A-B-C-format whatever!!! bye bye! [0]: http://cicm.mshparisnord.org/dl_en.htm.
Midi & Audio glitching over IAC bus
Does anyone know whether Pd's Midi runs in the same thread as the GUI? I have managed to get Plogue Bidule synced to a midi clock sent from Pd over the IAC bus (OSx), but when say a window is moved, there is loads of glitching in the audio and the jitter seems to increase enormously. I have tried wacking up the buffer sizes but of course, the increased latency means that Bidule is synced by the order of the buffer size...Or worse if theres jitter involved. ITs not really practical to not touch the computer whilst it is running! How can this be remedied? Is some kind of latency compensation required here I totally long for the day when Jack OSX gets midi then we can have rewire like performance but with all the benefits that Jack currently provides! (does anyone have a clue when this might be?) cheers
Gridflow on agnula demudi ?
arrrrrgggg: This is the GridFlow 0.8.0 configurator within Ruby version 1.8.2 \[fast\] Compile for speed (and not debuggability): enabled \[gcc3\] GNU C++ Compiler 3: missing (undefined method \`<' for nil:NilClass) \[stl\] C++ Standard Template Library: missing (gcc compilation error) \[gcc64\] GNU C++ in 64-bit mode: missing (gcc compilation error) \[libruby\] Ruby as a dynamic library: missing (gcc compilation error) \[librubystatic\] Ruby as a static library: missing (gcc compilation error) \[pentium\] Pentium-compatible CPU: missing (gcc compilation error) \[mmx\] MMX-compatible CPU (using NASM): disabled (would need pentium) \[simd\] SIMD (MMX/SSE/Altivec) (using GCC): disabled (would need pentium) \[profiler\] profiler (speed measurements): disabled (would need pentium) \[usb\] USB Library: missing (where is usb.h ?) \[ieee1394\] IEEE1394 Libraries for Linux (raw1394/dc1394): disabled (by author) \[x11\] X11 Display Protocol: missing (where is X11/Xlib.h ?) \[x11\_shm\] X11 acceleration through shared memory: disabled (would need x11) \[sdl\] Simple Directmedia Layer (experimental support): missing (where is SDL/SDL.h ?) \[objcpp\] GNU/Apple ObjectiveC++ Compiler: missing (where is objc/Object.h ?) \[quartz\] Apple Quartz/Cocoa Display: disabled (would need objcpp) \[aalib\] Ascii Art Library: missing (where is aalib.h ?) \[jpeg\] JPEG Library: missing (where is jpeglib.h ?) \[png\] PNG Library : missing (where is libpng12/png.h ?) \[png\] PNG Library
: missing (where is png.h ?)
\[videodev\] Video4linux Digitizer Driver Interface: missing (gcc compilation error)
\[mpeg3\] HeroineWarrior LibMPEG3 : missing (where is libmpeg3/libmpeg3.h ?)
\[mpeg3\] HeroineWarrior LibMPEG3 : missing (where is libmpeg3.h ?)
\[quicktimeapple\] Apple's QuickTime: missing (gcc compilation error)
\[quicktimehw\] HeroineWarrior QuickTime4Linux (or LibQuickTime) (try \#1): missing (gcc compilation error)
\[quicktimehw\] HeroineWarrior QuickTime4Linux (or LibQuickTime) (try \#2): missing (gcc compilation error)
\[xine\] Xine movie decoder: disabled (by author)
\[puredata\] Miller Puckette's Pure Data: disabled (would need libruby or librubystatic)
generating ./config.make
generating config.h
creating Makefile
humm.... it will probably compile but seem will could do not much without jpeg png video4linux X11 etc....
will wait a .deb package...
Arrays, canvases, other big questions
_2) Canvases- What kinds of messages can the recieve and send? Can is their purpose? Can I alter there properties in real time? _ \[ ; \[ canvas1 label ( will change the label of a caption of a canvas. this is nice for displaying information. for example, for if you put something like 'sample number: &\#036;1' and then have a float message going into to the message box. this will look better and be more informative than just displaying a number box. i have also found canvases helpful for making more user friendly interfaces for my patches. first i organize my patch into subpatches. for each of these subpatches, i use the 'display on parent ' option and so you can see any gui objects but not all of the connections and non-gui objects....you end up with a 'wireless' patch. i use canvases as a backdrops for the various sub patches because you can color code them which is nice for laying things out and what not.. not sure what else they are good for and i am sorry i don't have any answers for your other two questions except for question 1)--not really. but one thought would be to map the 'cartesian' coordinates of one array to an array of corresponding polor coordinates with some time a transformation function... mathematically speaking you can map the function y=f(x) to the polar function r=f(theta). this could get a little cumbersome though...and it could possibly involve non-1-to-1 relationships if you want to reverse it. by the way, what does the degrade~ object do? --zac
Announce: mmm-0.1.0-eden
hi forum. we proudly announce the first public release of our compact composer for pd, mmm. grab it at [http://netpd.org/mmm-0.1.0.zip][0] mmm is best described in it's faq, see below. don't expect too much yet, there is still a lot to be done. comments, bugreports, cash, are welcome. have fun with it! christopher charles & enrique erne faq for mmm-0.1.0 - eden what is mmm? mmm is a pd patch collection aimed at providing a studiolike(?), streamlined, dynamic interface for making synthetic music. screenshots? [http://www.netpd.org/mmm.png][1] ymmv depending on your operating system. we put some effort in detecting the operating system and setting the fontsize according to it, but quirky xorg or dpi settings might screw things up again. where can i get it? we currently host the mmm at [http://netpd.org/mmm-0.1.0.zip][0] , alternatively, you can grab netpd, enter the chat, and if either of the authors is online, download it directly through netpd and start rocking. what does "mmm" stand for? mmm was originally just the working title, but we came to like it somehow. the original meaning is "music making machine" but you can substitute every m for whatever you want. so "massive multiplayer music" is okay with us, too. what is the inspiration? having worked on/with the bagoftricks (lots inconsistently coloured gop-patches to be connected freely) and netpd (lots of inconsistent-looking windows to clutter up the screen), we came to mock up an clean, dynamic interface in which modules don't bring their own gop or open their own window, but log onto the interface that's provided for them by the motherpatch. all modules sharing the same interface made it easy for them to share the same sequencer and arranger. what are the dependencies? mmm should work with pd-0.39 and zexy installed. iemlib is important for many synth and effects patches, and there's even set of gem modules you can chain if you want. is it actually usable? no. this 0.1.0 release is rather a tech demo and a taste of things to potentially come. you can crunch some acid loops out of it already, but don't sell your protools studio equipment to start working with mmm on monday. how does it work? mmm's interface (mmmmain.pd) is divided into 3 parts: there is the module/channel view, where you can chain up synths and effects on 8 different channels. select an empty field on a channel, and then use the scrollbox on the left to select a patch and open it. when clicking on a patch you loaded up in the module view, the 2nd view comes into play: from there you control the patch's sliders on the left, right of it is the stepsequencer for each of the slider (means everything is sequencable!). yet you won't hear anything until you did the following 2 things: press play in the uppermost row of mmmmain, and set up the arranger to play the stepsequence. the arranger is not module-based, but controls all modules of a channel are grouped in the arranger. for now, you can only select pattern 01 or nothing to play in the arranger. so set up a loop for the first pattern (loopstart:0, looplength:1) set the first field on the channel you got your patch on in the arranger to p01 and start making some noise. does it work online? yes. mmm is compatible to netpd and will automatically log on to netpd's server if you have the netpd chat open. you can also download the whole mmm package through netpd. feel free to jam around the world. what's not working yet / what is planned? as for now, there is no support for samples whatsoever, it isn't planned to support them soon. further, there is no hard disk recorder available yet, but it is planned. the arranger/sequencer combo is very crippled at the moment, only supporting 1 16-step-pattern to choose from and 1 page of 16 patterns in the arranger. this will change rather soon. next there are plans for luxury editing functions, especially in the sequencer like copy, paste, random pattern, interpolation and so on. plans exist for full keyboard control, but this will be worked on not too soon. the module roster is far from being complete yet, more is to come. can i save my stuff? should be possible with the buttons above the channels. don't rely on the result though, this is still 0.1.0 :) can i add my own modules? modules are not to hard to write, but for now, the list of selectable modules is hardcoded. look at all the 4m-\* patches in the patches folder to see how they are ticking. contact us for adding your patch to the mmm or try to figure out yourself how it works ;) what's the license? mmm is licensed under the gnu lgpl. if you think this is a too useful product to be free of charge, please consider donating the amount of money you would've paid for it (or the amount of money you got from selling your protools equipment on monday) to a trust of your choice. who are the authors? mmm is developed by enrique erne (eni, swiss, pd{at}mild.ch) and christopher charles (syntax\_tn, germany, chr.m.charles{at}gmail.com). we can be contacted via email, irc (\#dataflow) or directly in the netpd chat. several patches within mmm are based upon netpd versions of them, check netpd for the original authors. mmm shares some of it's netcode with netpd, by roman haefeli. disclaimer. we cannot give you any guarantees on using mmm, not even that you have fun. it should be relatively harmless, but don't come crying to us if mmm accidently hijacks your \*mule and downloads david hasslehoff recordings to your computer. eofaq [0]: http://netpd.org/mmm-0.1.0.zip [1]: http://www.netpd.org/mmm.png
PD within external feedback loops
Hi.. Normally i'm using a guitarfx pedals feedback loop to create my sounds and PD to process samples of those sounds. Today i tried something different, unfortunately without the results i was hoping for. i put my laptop WITHIN the feedback chain, (using it as any other pedal). without pd everything sounds and behaves as normaL. But when starting pd the sound and feedback loop characteristics are not as usual. even with the most basic patch: --\> adc~ -\> (volume) -\> dac~ . (i haven't tried any other program, pd is the only audiosoftware i use). normally these kind of feedback loops gives you all kinds of strange ( and unexpected) sound(effect)s, (like when tweaking just a normal volume pot of an FX pedal the pitch and color changes, but with pd these caracteristics are mostly gone ( volume is working as a volume pot again, BUT still there's feedback created). i found out changing the delay time in the audio settings menu alters the sound, so i' was thinking the problem occurs because of not being realtime (although i set realtime priority to pd). am i right? i hope not.. I just use the onboard audio from the laptop (MIC in, line out), running winxp.. anyone can help?? uw, my english is not the best, hope i'm clear enough.
Error compiling pd-extended
I'm a newcomer to PD, and obviously the first step towards playing with it is to actually get it compiled and running on my ARM machine (armhf). I've followed the steps outlined in the [PD site](http://puredata.info/docs/developer/BuildingYourOwnDebianPackage), but unfortunately the compilation fails after a long while (see error log at the end). The compilation error smells like an autoconf/automake version incompatibility, but I'm not sure if that's really the case. I'm running the following software versions: * OS: Ubuntu 14.04 * autoconf: 2.69-6 * automake: 1.14.1-2ubuntu1 * pd-extended: 0.43.4 (this is what I'm trying to compile, of course) Any idea of what the problem could be and how to fix it? (Alternatively, if you could point me towards pd-extended binaries for armhf I would be much obliged!) ``` autoreconf: Leaving directory `plugins/videoPYLON' libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: copying file `m4/ltoptions.m4' libtoolize: copying file `m4/ltsugar.m4' libtoolize: copying file `m4/ltversion.m4' libtoolize: copying file `m4/lt~obsolete.m4' configure.ac:120: installing './compile' configure.ac:119: installing './config.guess' configure.ac:119: installing './config.sub' configure.ac:7: installing './install-sh' configure.ac:7: installing './missing' configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') extra/pix_drum/Makefile.am: installing './depcomp' configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') /usr/share/automake-1.14/am/depend2.am: error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL /usr/share/automake-1.14/am/depend2.am: The usual way to define 'am__fastdepOBJCXX' is to add 'AC_PROG_OBJCXX' /usr/share/automake-1.14/am/depend2.am: to 'configure.ac' and run 'aclocal' and 'autoconf' again src/Output/Makefile.am: error: Objective C++ source seen but 'OBJCXX' is undefined src/Output/Makefile.am: The usual way to define 'OBJCXX' is to add 'AC_PROG_OBJCXX' src/Output/Makefile.am: to 'configure.ac' and run 'autoconf' again. configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') configure.ac:98: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' (or '*_CPPFLAGS') autoreconf: automake failed with exit status: 1 make[4]: *** [/home/rock/software/pd-extended/externals/Gem/configure] Error 1 make[4]: Leaving directory `/home/rock/software/pd-extended/externals' make[3]: *** [externals] Error 2 make[3]: Leaving directory `/home/rock/software/pd-extended/packages' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/rock/software/pd-extended/packages/linux_make' make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory `/home/rock/software/pd-extended' make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2 debuild: fatal error at line 1364: dpkg-buildpackage -rfakeroot -D -us -uc failed ```
PD and creativity: a patcher's lament
Hi, tossing in some cents: in my experience my issue with Pd is the opposite from LiamG's issues: the sound design is straightforward and simple to implement (again, depending on what's being implemented) but the process of algorithmic composition is not as well suited to data flow programming. My main interest in computer music is algorithmic composition and I believe pd was designed as a tool for live performance which makes it unwieldy to use for algorithmic composition but great for what it was designed for. Control of events over time is severely lacking in my opinion Let me give examples: 1. There is no way, at a given point in the program flow of a patch, to call a subpatch with certain input arguments and get the output in a certain format. Instead, copies of the subpatch must be made, increasing memory usage compared to the classical idea of a function. 2. When composing, I like to think in terms of "do this thing at this point in time". Say I have a melody and at a certain point in that melody I want to choose between 2 different notes. One way of doing this would be to have a qlist that plays the melody and have it call a receive object that takes parameters to choose between 2 notes. But what if I want to call that function to play a different instrument? all of a sudden I need an extra argument to that control structure, and need to re-program the subpatch in order to do it. 3. Say you want to quickly edit a score of midi notes or midi automation, which maybe don't control midi directly but rather control algorithmic parameters that change over time. This is very difficult to do. You could set up a DAW to send the midi to pd, but MIDI is not designed (in it's structure or in it's output format) for sending data to programming languages, but directly to instruments. There aren't many open source OSC editors either (although there are a couple of promising ones). recently I have been exploring other programs for algorithmic composition purposes, such as Common Music, based on Scheme. What makes Scheme enticing for algorithmic composition is that it supports continuations natively. What this means is that you can control the program flow manually, and the score for an algorithmic composition could be set up to be the program itself. (Common music does not support this but it could be set up to). So, in the example above, when composing with Scheme set up in this fashion, all that would be required to choose between 2 notes and play it would be 1 line of code, like ```(play myinstrument (choose 49 64 20))``` and to play it on a different instrument all that needs to change is the first argument. Notice that "choose" does not need to be rewritten. Personally, I believe what is needed for the future of algorithmic composition is a dedicated DAW-like environment, (I have been thinking of undertaking such an endeavor). It would have tracks, and each track could have several layers that could output to either OSC, MIDI, or another layer in the project. Layers could be midi note editors (that could be configured to output OSC), automation editors with configurable precision (like if they output ints or floats, and how it is scaled), pieces of code that generate notes, pieces of code that take input data and output other data, containers for more layers, etc. The programming languages used would have to bridge over a common interface somehow, and they would need to support continuations or coroutines (Lua does also). The editors could have functions to, say, bind a specific midi note to a specific function in a specific layer. This would combine the ease of using DAWs to compose temporally with algorithmic composition constructs in my view. But all that is just based on the way I think about composition... everyone's different.