Effects processor/instrument/sampler looper thing
ok well
to get everything going i usually am wearing headphones just to test it out
press 1 and 5 to turn on the dsp and get the effects line going
press L to load a wav sample
k to analyze the sample
turn up the volume on the sample looper boombox
now depending on wether or not the the enable reaction box or enable BPM box is connected to the box directly to the left will connect it to a specific bpm or it will react to incoming or playing sound
after switching from box to box i find it makes me turn the boombox on and off so just press 5 and 1 twice
so now turn the filter bank on by pressing F
start talking or making some noise
press the space bar
until you hear whatever sound being frozen then make some sort or loop
press F again when you are done and wait until you see
the loop appear in the odisto array
then press A to analyze that loop turn up the volume in the glitch section
the choice of reaction and BPM has to be the same as the boombox for it to work
correctly
if you use the bpm the green vslider next to the volume will set it
but its not really bpm as much as it is just a way of timing
pressing loop (H) will just make the sections of the loop keep playing over and over
the delay can be used by plugging the bng into the hslider or plugging the ranom box into the hslider if you just plug the bng into it though you would have to manually set the delay amount
in order for the panning to really get interesting you can connect the top bng in the panningreact box to the metro 250 then connect that metro 250 to the bng right below it you can set the speed with the panning speed hslider
the panning yellow box with the car mod index sliders changes the different panning you can turn on by pressing (3)
on both the wah and pitch vslider the inside slider is for the actual amount of wah or pitch change and the outside vslider is for the speed at which it changes if it is turned on (6,7,8,9)
the random pitch (i) random wah is pretty fun for messing round with or you could just manually set the amount of change
the distortion doesn't have to be turned on in oder for it to work only for the slider to give it some power
the shaper gives you amount, depth, limit, and gain controls
and the ASD/size/global
attack/sustain/decay size and global amplitude
the ASD can be used for shaping the sound and the global can be used for a volume control
at this point i would hope this is making a little more sense if not just ask i really just wanted to see if anybody else would use something like this
im also going to post a 6 channel simple looper that i have been messing with that i am starting to like
any input would be awesome
paul
Some new bird sounds
http://www.obiwannabe.co.uk/sounds/effect-rainforestbirds.mp3
http://www.obiwannabe.co.uk/sounds/effect-riverbirds.mp3
http://www.obiwannabe.co.uk/sounds/effect-seabirds.mp3
Background reading and inspiration
http://ccrma.stanford.edu/~tamara/publications/
http://www.acoustics.hut.fi/research/avesound/pubs/akusem04.pdf
http://www.csounds.com/ezine/winter2000/realtime/
http://www.obiwannabe.co.uk/tutorials/html/tutorial_birds.html
http://www.indiana.edu/~songbird/pubs/publications_index.html
http://web.mit.edu/fee/Public/Publications/Fee_etal1998.pdf
Saving Data to a local file!
I am trying to connect a sofware named glovepie to pd using osc. I have written a skript for glovepie, which reads the acceleration information of Nintendo Wii controller. Then I have connected glovepie with this pd-patch. The patch recieves the messages in form of floating point numbers and print them one by one. If you know something about glovepie, I can attach the skript.
After runnig the skript and patch. I get this Data printed
print: /wii/a 0
print: /wii/b 0
print: /wii/x 0.0173142
print: /wii/y 0.000775725
print: /wii/z 0.00689533
print: /wii/roll -87.4347
print: /wii/a 0
print: /wii/b 0
print: /wii/x 0.0205716
print: /wii/y 0.00186337
print: /wii/z 0.00869571
x is the acceleration in x direction and so on
Anyone working with chiptunes or console emulation?
well, I've got the four main instruments and the panelling done for my pd-NES, all that's left is to add glue for the sequencing and composition tools. I had to cheat pretty badly on the noise channel though. For the standard noise mode I used the method from zenpho which looks simple and sounds good, but I noticed he didn't emulate the looped-decay noise mode, which all my resources describe as being "difficult", but otherwise provide slightly different explanations of the mode. It appears that emulators and other software that fully emulate the noise channel seem to "wing it" and use their own unique methods. I'm guessing it's because the actual hardware driving the random number generator kicks out one random bit to the 4-bit DAC at 890KHz, which I guess I can't simulate in pd unless I could change my sampling rate to 445kHz (for 4bit codes). I haven't found a good explanation of what happens to each bit - apparently the hardware updates one of two different bit sequences (a 93-bit sequence and a 32kbit sequence, the latter of which makes no sense to me - that's a big load on the memory bus). I've tried creating different kinds of noise generators or 93bit noise samples, and looping them with an interpolating sampler and decay envelope, but it never sounded right. The problem is the noise itself - no matter how fast I loop I never get a smooth tone, or I still hear regular noise over the tone.
I ended up ripping the looped noise sounds from NES games and an emulator, storing them as timbre presets, and using soundfiler and elementary granular methods to transpose. It's definitely cheating, but it doesn't limit me to the 16 pitch colors that the hardware has to choose from. So I got what I wanted, the NES sound without all the NES limitations, but I'm a little frustrated that I couldn't find a solution that uses only generators as opposed to external samples.
Does anyone have a recommendation for correctly emulating the looped-decay-noise sound? I've attached a wav ripped from Megaman that has a D# tone at four different timbres (caused by different decay strengths in the envleope).
Problem compiling external on Windows
Alberto,
I figured it out. I made a few changes to your makefile, though:
1. added a path to m_pd.h
2. changed "rm -f $*.o ../$*.dll" to "rm -f $*.o $*.dll"
(the .dll file wasn't being removed from the working directory)
3. forced DEST to the pd/extra directory
4. removed CSYM since it's not being used
5. removed "current: pd_win"; changed "pd_win: $(NAME).dll" to "all: $(NAME).dll"
6. removed non-win stuff
7. removed the clean and install targets for right now
Hopefully these changes make it easier for the complete newbie. Anyway, with enormous thanks to AlbertoZ, here's a mini-tutorial for using my makefile.
1. if you're using pd-extended, save this as "m_pd.h" (into the same directory with
helloworld.c). If you're using pd-vanilla, you can skip this step.
2. save this code as "mk.mk" (into the same directory with helloworld.c):
# mk.mk -- invoke with "make -f mk.mk"
NAME = helloworld
PDPATH = "c:/Progra~1/pd"
LDFLAGS = --export-dynamic -shared
WININCLUDE = -I $(PDPATH)/src
WINCFLAGS = -DPD -DNT -W3 -WX -Werror -Wno-unused \
-mms-bitfields -Wno-parentheses -Wno-switch \
-O6 -funroll-loops -fomit-frame-pointer
all: $(NAME).dll
.SUFFIXES: .dll
.c.dll:
gcc $(WINCFLAGS) $(WININCLUDE) -c -o $*.o $*.c
gcc $(LDFLAGS) -o $*.dll $*.o $(PDPATH)/bin/pd.dll
strip --strip-unneeded $*.dll
cp $*.dll $(PDPATH)/extra
rm -f $*.o $*.dll
2. modify the PDPATH variable if needed to reflect the actual location of pd on your
system (MSYS will interpret c:/Program Files/pd as C:/Program, so use
c:/Progra~1/pd instead)
3. if you're using pd-extended, remove line 6 (WININCLUDE = -I $(PDPATH)/src) and
remove $(WININCLUDE) from line 14.
4. close all pd windows if any are open
5. in MSYS, navigate to the directory with helloworld.c and type: make -f mk.mk
(type make -s -f mk.mk if you want to hide the lengthy shell response)
6. the shell should respond with something like:
gcc -DPD -DNT -W3 -WX -Werror -Wno-unused -mms-bitfields -Wno-parentheses
-Wno-switch -O6 -funroll-loops -fomit-frame-pointer -I "c:/Progra~1/pd"/src -c -o
helloworld.o helloworld.c
gcc --export-dynamic -shared -o helloworld.dll helloworld.o
"c:/Progra~1/pd"/bin/pd.dll
strip --strip-unneeded helloworld.dll
cp helloworld.dll "c:/Progra~1/pd"/extra
rm -f helloworld.o helloworld.dll
7. a new helloworld.dll file should be saved into the pd/extra folder, and you should be
able to create the "helloworld" object in a new pd window.
Good luck!
middlepedal
Problem compiling external on Windows
Great tutorial, very detailed!
Thanks for this addition..
Sorry for coming later on this subject but I'll try to add few lines about
compiling externals in Win without going through MSVC Express
edition (by the way: what are the limitations of the express edition
w.r.t. the full package?).
Even if MSVC offers an integrated environment for developing there
can be some good reasons for giving a try to the old-man "unix" way of
compiling, which in windows is best represented by MINGW32 and
cygwin. Both offers linux-like environments (i.e. command line tools)
for compiling and other shell tasks which, sometimes, in windows are
a pain in the ass.
There are at least three good reasons for giving a look at mingw:
- gives strong linux compatibility on external compilation
(almost same command lines arguments etc.) - there is the possibility to use makefiles in an almost straightforward way
(with minor modifications to linux makefiles). - no dependency on expensive MS programs (except for the
small, bug-free Operating System
I did this exercise by porting the E. Lyon "LyonPoutpourry" externals for win
(http://www.sarc.qub.ac.uk/~elyon/LyonSoftware/Pd/). Give a look at
the win source package: inside there is a makefile for darwin (MAC)
linux and win. I added the latter, and as you can see the modifications
are minor.
----------- 1. Prelude: compilation environment ------------------
First of all we have to set once for all the compilation environment.
Let's forget for the moment cygwin and concentrate on mingw32 (http://www.mingw.org/). The following is taken from (H.C. Steiner's wiki http://www.puredata.org/docs/developer/mingw)
Download the MinGW package installer and run it:
(http://prdownloads.sourceforge.net/mingw/MinGW-5.1.1.exe)
Choose the Candidate distribution. Install the defaults and add the g++ compiler, g77 compiler, and MinGW make or you can just download my MinGW install, MinGW-Pd.tar.bz2, and uncompress it so that its installed into C:\MinGW.
Then we need MSYS which is a shell (an interpreter of the commands, like a
colorful dos prompt
http://prdownloads.sourceforge.net/mingw/MSYS-1.0.10.exe
Now you will be using the MSYS shell that was installed from the MSYS installer. You can launch it from the Desktop shortcut or Start -> Programs -> MinGW -> MSYS -> msys
----------- 2. Allegro: compilation trial ------------------
a. open MSYS
b. at the prompt type:
cd c:
(or the drive you whish to go for the pd external compilation)
c. go to the external directory (note the backslashes instead of slashes !),
mine is external-compiling. Inside I have helloworld.c
cd alberto/backup/PureData_Archive/patches/AlbertoZ/external-compiling/
d. copy m_pd.h (from the PD distribution directory) into external-compiling
(or whatever is its name)
e. type:
gcc -c helloworld.c -o helloworld.o
f. type:
ld -export_dynamic -shared -o helloworld.dll helloworld.o c:/Programmi/pd039e
xt4/bin/pd.dll
(this is the linker step. note that I linked to a particular version of pd.dll - 0.39 extended test 4, so probably (I'm not sure about this) the external will
run on 0.39 only. Can someone confrm this?)
g. If everything was ok then you should have a helloworld.dll in your
directory. Move it on the extra folder of your pd distribution
(I assume that extra folder is in the pd predefined path) and make a
new patch with the helloworld object. Again, if everything is correct,
you should have a "Hello world!!" printed on the console.
----------- 3. Adagio: makefile ------------------
A makefile can be used for compilation. Even if a simple helloworld
application does not need it, complex programs may do.
The makefile.win is attached with this post. Modify it according to your
path in
Make sure you have
helloworld.c
m_pd.h
makefile.win
in your directory. Now type at MSYS prompt:
make -f makefile.win
This will automatically produce:
the object, the linker step (the dll) and will copy the helloworld.dll
in the extra folder of you pd distribution (overwriting the existing one .
----------- 4. Allegro con brio: conclusions ------------------
Why not give a try to the old-man compilation on Win?
----------- 5. Minuetto: greetings ------------------
I apologize if I said some crap somewhere, just let me know if it
doesn't work. Have fun!
Best regards,
Alberto
Le Centre de Ressources Art Sensitif - Journées de formation Pure Data
Le Centre de Ressources Art Sensitif à Mains d'Oeuvres organise des ateliers et des journées de formation aux logiciels et matériels de gestion d'événements interactifs temps réel. Pour être tenu informé, inscrivez-vous à notre lettre d'information via le site Internet http://www.craslab.org
CALENDRIER
Journée Pure Data & Vidéo - Samedi 28 octobre 2006
11H00/13h puis 14H/18H
Tarif plein 20 euros // Tarif réduit 15 euros, sur présentation de justificatifs (chômeurs, étudiants, adhérents Art Sensitif, Audoniens)
Formateurs : Benjamin Cadon (Labomedia, Orléans), avec l'aide de Jean-Noël Montagné.
Atelier Arduino et Interfaces libres - Samedi 4 novembre 2006
11H00/13h puis 14H/18H
Tarif unique : 50€ (formation + matériels : interface Arduino, 1 capteur, 1 actionneur)
Formateurs : Maurin Donneaud et Vincent Roudault, avec l'aide de Jean-Noël Montagné.
Journée Pure Data & Audio - Samedi 18 novembre 2006
11H00/13h puis 14H/18H
Tarif plein 20 euros // Tarif réduit 15 euros, sur présentation de justificatifs (chômeurs, étudiants, adhérents Art Sensitif, Audoniens)
Formateurs : Cédric Buron, avec l'aide de Jean-Noël Montagné.
Stage Initiation à Processing - Samedi 2 & le dimanche 3 décembre 2006
Chaque journée : de 11H00 à 13h puis de 14H à 18H
Tarif plein 20 euros /par jour // Tarif réduit 15 euros / par jour, sur présentation de justificatifs (chômeurs, étudiants, adhérents Art Sensitif, Audoniens)
Formateurs : Julien Gachadoat, avec l'aide de Jean-Noël Montagné.
Réservations à : formations (àà ) craslab. org
Le détail des formations et des modalités d'inscription sont visibles sur le site Internet http://www.craslab.org
PROSPECTIVE
Le Centre de Ressources Art Sensitif prépare sa programmation de formations 2007 (événements en perspective, sous réserve) :
- 2 journées d'initiation à Pure Data
- Pure Data + capteurs & actionneurs
- Pure Data & 3D
- Atelier de pratique Processing + Wiring - interfaces en matériel libre
- Atelier de pratique CUI (Create Usb Interface) et fabrication d'interfaces simples
- Atelier de pratique fabrication de capteurs simples
- Journée thématique interaction temps réel & pédagogie
Centre de ressources Art Sensitif à Mains d'Œuvres
http://www.craslab.org
01.77.60.28.00.
Le C.R.A.S. est ouvert sur rendez-vous pour des prestations personnalisées (démos, conseils, etc.) et l'accompagnement de projet. Modalités, contact : info (àà ) craslab. org
Le C.R.A.S. est une réalisation des associations
Art Sensitif http://www.artsens.org
Mains d'œuvres http://www.mainsdoeuvres.org
Ce projet est co-financé par l'Union Européenne -FEDER- Actions innovatrices.
Avec le soutien du Conseil régional d'Ile-de-france.
*MAINS D'OEUVRES RECOIT LE SOUTIEN DE : Ville de Saint-Ouen, Conseil général de la Seine-Saint-Denis, Conseil régional d'Ile-de-france, DRAC Ile-de-France / Ministère de la Culture et de la Communication, Caisse des dépôts et consignations, Fondation France Active, Mairie de Paris, Direction départementale de la jeunesse et des sports de la Seine-Saint-Denis.
*MAINS D'OEUVRES EST MEMBRE DE : actes if (http://www.actesif.com), Artfactories (http://www.artfactories.net), Autre(s)pARTs
(http://autresparts.free.fr), TransEuropeHalles (http://www.teh.net), Médias-cité (http://www.medias-cite.org)
Mains d'Œuvres
1, rue Charles Garnier, 93 400 Saint-Ouen
Tel : 01 40 11 25 25 / Fax : 01 40 11 25 24
info@mainsdoeuvres.org
plan d'acces sur http://www.mainsdoeuvres.org • http://www.myspace.com/mainsdoeuvres.org
Métro Porte de Clignancourt (l.4) ou Garibaldi (l.13) / Bus 85 (Luxembourg -> Mairie de St-Ouen) : arrêt Paul Bert
Pure Data Seminars in Paris, 4 days in june
> Les samedis 4, 11, 18 et 25 juin • seminaires sur l'interactivité
Pure Data
par Art Sensitif
De 11h à 19h • 20 euros par jour / TR 10 euros
Information, réservation : ateliers@mainsdoeuvres.org
[url=http://www.artsens.org
]http://www.artsens.org
Pure Data est un logiciel libre et ouvert (Windows-Linux-Mac OSX) développé par une grande communauté d'artistes et de programmeurs (http://pure-data.iem.at/).
Il permet la manipulation ou la génération en temps réel de sons, images, vidéos, textes, flux de réseau, capteurs, actionneurs... tout médium numérique en entrée et en sortie.
Pure Data se dédie à tous les usages artistiques.
4 journées thématiques y sont consacrées :
* 4 juin, Pure Data et 3D, avec Cyrille Henry : la librairie GEM pour la création d'objets 3D, la librairie PMPD pour des propriétés physiques temps réel.
* 11 juin, Pure Data, capteurs et réseaux, avec Sandrine Chiri et/ou Francis Bras (InterfaceZ) : type de capteurs, acquisition et traitement, transmission par réseau.
* 18 juin, Pure Data et traitement du son, avec Cyrille Henry et Nicolas Montgermont : acoustique et spatialisation du son.
>> Séminaire suivi du live sonore et visuel de chdh.
* 25 juin, Pure Data et vidéo temps réel avec Benjamin Cadon : les trois librairies permettant le traitement vidéo.
>> Séminaire suivi d'une présentation publique du workshop "GPS_MOVIE_2" par Daniel Sciboz.
Les séminaires programmés par Jean-Noël Montagné (association Art Sensitif) comprennent les installations, des travaux pratiques avec les participants et démonstrations par les experts associés.
InterfaceZ : www.interface-z.com <http://www.interface-z.com/> , La Kitchen : www.la-kitchen.com <http://www.la-kitchen.com/> , Labomédia : www.labomedia.org <http://www.labomedia.org/>
Mains d'Œuvres
1, rue Charles Garnier, 93 400 Saint-Ouen / Tel : 01 40 11 25 25 / Fax : 01 40 11 25 24
info@mainsdoeuvres.org / plan d'accès sur [url=http://www.mainsdoeuvres.org
]http://www.mainsdoeuvres.org
Metro Porte de Clignancourt (l.4) ou Garibaldi (l.13) / Bus 85 : arrêt Paul Bert
Clearing delay lines
you might need to use a set up that involves using two (or more) separate delay lines and swapping back and forth between them at the moment you want to 'clean' the delay. here's how it would work:
assume two delwrite~ obects with delay lines named a and b. matching these two delwrite~s are two delread~s. each of these four objects can be 'turned on' or 'muted' (using the method supplied above by giair). muting a delwrite~ object technically means muting the audio going into to the object.
the initial state of the patch would [delwrite~ a] and [delread~ a] turned on and [delwrite~ b] and [delread~ b] muted. when you want to clear the delay line, you would mute [delwrite~ a] and [delread~ a]. at that point you can turn on the 'b' delay line objects. you can switch back and forth between your two delay lines cleanly if you wait an amount of time greater than the length of the delay.
in the case that your delay time is longer than the time you want to wait, you would have to use another delay line. the downside of this is that the control gets a little bit more complicated. if this is something you might apply, check miller puckette's book (pdf available on his website i think) and look at the chapter on polyphonic synthesizers. polyphonic synths require some form of voice allocation and you might be able to use some of pd's voice allocation support to help manage your delay lines, because it is a fairly similar process.
i hope this made sense. i don't think it's as confusing as it sounds, but it is hard to put into words. if you understand what i mean, but aren't sure how to implement it, i could probably post an example; just let me know.
--zac
End of year warehouse clearance
***a remix of my favourite cthulu master:
[url=http://www.m-pi.com/sinewaves/hidaris-lash-inhaler.mp3
]http://www.m-pi.com/sinewaves/hidaris-lash-inhaler.mp3
***the original lyrics to the following song were:
"i'm on the drug that killed river phoenix"
[url=http://www.m-pi.com/sinewaves/realfuckenhigh.mp3
]http://www.m-pi.com/sinewaves/realfuckenhigh.mp3
***here's the type of rushed mania you get when you make a song in the 20 minutes before your laptop battery runs out
[url=http://www.m-pi.com/sinewaves/nobatts.mp3
]http://www.m-pi.com/sinewaves/nobatts.mp3
***a recording of the lush clicks you get when using the trigon patch from kestner
[url=http://www.m-pi.com/sinewaves/tansai.mp3
]http://www.m-pi.com/sinewaves/tansai.mp3
(link to patch) http://chiba.cool.ne.jp/kestner_2002/