Uninstall from Ubuntu 16.04
@EEight It doesn't work, because it says that "El paquete «puredata» no está instalado", that puredata is not installed... isn't it rare?
anibal@anibal-ubuntu:~$ sudo apt-get purge pd
[sudo] password for anibal:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Nota, seleccionando «puredata-core» en lugar de «pd»
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libgsl0ldbl ttf-dejavu-core
Utilice «sudo apt autoremove» para eliminarlos.
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 2 no actualizados.
anibal@anibal-ubuntu:~$ sudo apt-get purge puredata
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete «puredata» no está instalado, no se eliminará
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libgsl0ldbl ttf-dejavu-core
Utilice «sudo apt autoremove» para eliminarlos.
0 actualizados, 0 nuevos se instalarán, 0 para eliminar y 2 no actualizados.
anibal@anibal-ubuntu:~$
Then I did:
anibal@anibal-ubuntu:~$ sudo apt-get purge puredata-core
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libgsl0ldbl ttf-dejavu-core
Utilice «sudo apt autoremove» para eliminarlos.
Los siguientes paquetes se ELIMINARÁN:
puredata-core*
0 actualizados, 0 nuevos se instalarán, 1 para eliminar y 2 no actualizados.
Se liberarán 2.680 kB después de esta operación.
¿Desea continuar? [S/n] s
(Leyendo la base de datos ... 242946 ficheros o directorios instalados actualmente.)
Desinstalando puredata-core (0.46.7-3) ...
Purgando ficheros de configuración de puredata-core (0.46.7-3) ...
Procesando disparadores para man-db (2.7.5-1) ...
anibal@anibal-ubuntu:~$ pd
anibal@anibal-ubuntu:~$
...and I launched pd fine... The puredata-core corresponded to an earlier installation. Thanks!
Wavetable Drum Machine - repost
I uploaded this Wavetable Drum Machine last year but it became a casualty of a server issue (I hope it didn't cause it, it is a bit heavy). Anyway it didn't work under windows so while I was updating old drum machines I sorted this one out.
Here's the instructions, which are also under the Balwyn button.
Wavetable Drum Machine
Balwyn 2015
8 x bank of 64 amplitude sliders, each bank runs in sync driven by a clock. The clock has 16 start/end settings plus a repeat cycles setting, there is also a Vradio block to set the return position.
The mixer block has 8 x level & pan settings with stereo to the dac~
The wave selector is for loading the individual wav files to the relevant drum line. The *.wav files must be stored in the 'waves' folder within the program folder and selected from there.
Saving must be saved to the 'pattern' folder within the program folder. Save the file with one word and no extension, a file of that name will be created for the pattern settings. Another file with the same name will also be created with the extension '.kit', this stores the names of the wave files.
Loading must be from the 'pattern' folder within the program folder. All the clock, pattern and wave files will be updated. select only the file WITHOUT the .kit extension, otherwise nothing will load and soundfiler errors will appear in the Pd window.
The clear button will clear all the amplitude sliders, set all the clock settings to 1 except BPM which is set to 500.
The supplied samples were recorded via Audacity from Qsynth. Ditch them for your own
Cheers
Balwyn
randmodule - random ramps made easy! (vanilla)
update: version 2.0 is available, see below
Hi folks,
My first contribution to the Patch Repo (and greater Pure Data community at large)!
In my own performance patch, I found myself re-creating this concept over & over again with slightly different parameters, and eventually realized I should just make an abstraction to save myself a lot of time & energy in the future.
The basic idea is simple—essentially just feeding [random] into [line] so that values will float around within a defined range at unpredictable intervals (without discontinuities between the ramps). You can set a center value and deviation percentage, so that the ramps will stick close to a value within the overall range. For example: playing sound files with [phasor~] and [tabread4~], I often like to add a touch of warping to the speed, so with this module I can send the phasor speed to argumentname-randcenter, set a range of values around the center (with small deviation %), and let the warping begin without having to redo all of the math.
Also, the module's output is sent to both the outlet and also to a [send] which is set by the creation argument, thus you can use the receive name of an existing slider in your patch as a creation argument, set the min/max and other preferred parameters, and it's ready to go.
Finally, I added the low clip % control to prevent the "jumpiness" that results when very low values of [random] are fed into the right inlet of [metro] (which can sound like discontinuities in certain applications). So, for instance, if your maximum rate in milliseconds (set by rate_range) is 3000, and you set low clip to 10%, none of the ramps will be faster than 300 ms. And, setting low clip % to 100% will result in a regular metro pulse at the specified maximum rate.
Hope you find it useful! Feedback/improvements welcome of course. (and apologies for the messy patching with the min/max/center calculations, still learning how to keep simple math from looking incomprehensible with cables running all over the place…)
randmodule.zip
update: version 2.0 is available, see below
Cheers,
-Jon
how to get current block size?
@phil123456 Hello Phil......
In windows you can get the current block size through the audio dialog like this (bottom right of "set audio parameters") but it has to open the window so you would need to close it automatically afterwards..........
audio settings.zip
You can set the bock size for your overall patch more easily from the same "set audio parameters" patch that I uploaded.
If you want to set the block size for a window then you send a "set" message to [block~]....... see its "help" file.........
David.
Pd crashes at startup (after working fine for days)
@Hightower Hello again.
Yes, you will need to have the correct audio settings for your machine, and it's more difficult sometimes than it seems. Otherwise Pd will struggle with everything...... or crash.
If it is now loading then you don't need to run my fix again, but sometimes it is easier so as to have a functioning Pd before you start playing with the settings.
You should set Asio (which I see you have done).....
and then chose Asio4All v2 for both inputs and outputs, and nothing else!
Now you need to make Pd communicate well with Asio4All. Asio4All will take care of all of the possible inputs and outputs including the computer's built in hardware.
You need to set how many ins and outs, but if you have too few (less than the soundcards) or too many it doesn't matter. Too many will be thrown away by Pd, and too few is just less than you could use.
The sample rate should match the rate for your Edirol, although Asio4All can resample.
Set the buffer high to start with (30 or more) and reduce it slowly if you need to. 2 (ms) is often possible, but not necessary unless you are doing an in-ear mix for a violinist.. Usually you can set the block size to 64 and match that in Asio4All (called Asio Buffer Size in Asio4All... very confusing).
Setting callbacks ON will help, and don't forget to tick the boxes for inputs and outputs.
If the window does not want to close fairly quickly and cleanly then your settings are not good.
If your settings are good then the taskbar icon for Asio4All should be green (not red) and you can set up the Asio4All panel to choose the ins and outs you actually want to use. In Pd they will be numbered [dac~1] and [adc~ 1] in the same order as those that are "active" (blue) in Asio4All..
Good luck....... David.
Changing the color of an array graph line?
Hey guys, im working on theming my gui and have been struggling with changing the color scheme of the array graph.
I can't find any option in pd-gui.tcl to change the color of the lines. Is it even able to be changed?
Heres my current scheme:
# color scheme
set ::canvas_fill "#303030"
set ::text_color "#ffffff"
set ::select_color "#ff7200"
set ::dash_outline "#888888"
set ::dash_fill "#555555"
set ::box_outline "#888888"
set ::graph_outline "#888888"
set ::atom_box_fill "#555555"
set ::msg_box_fill "#555555"
set ::obj_box_fill "#555555"
set ::signal_cord_highlight "#fff600"
set ::signal_cord "#00868a"
set ::signal_nlet $signal_cord
set ::msg_cord_highlight "#fff600"
set ::msg_cord "#ff3e8a"
set ::msg_nlet "#ff3e8a"
set :mixed_nlet "#88aaff"
Thanks in advance.
having trouble running guitar/mic line into pd
@Wolf-Breath Hello there......
The symptoms that you describe are those of Pd struggling because of incorrect audio settings. It is not your fault, they are not easy to set up initially.
The quickest way to get it working (and you would have the advantage of using the computers other audio connections at the same time, or even multiple asio soundcards) would be to use Asio4all......... http://www.asio4all.com/
I am assuming that you are using windows (FL and reaper)?
(FROM HERE TO........... "END" BELOW SHOULD HELP WITH YOUR CURRENT DRIVER AS WELL!)
Make sure you select ASIO in the Media window first.
Then in your Media/Audiosettings window choose Asio4all (or your asio driver for your Focusrite if you don't want to use Asio4all) as your soundcard and set the channels (number of channels) that you want to use (total including your computer soundcard). Don't worry if you set too many, as Pd will just drop any that don't actually exist.
Set Pd something like this.......
If you have problems then set the samplerate to match your soundcard, the delay higher (try 30 or more for example and then gradually decrease it to reduce the latency) and try a higher block size although that should not be necessary. Ticking the callbacks box allows Pd to communicate better with the soundcard. Then go back to choosing your soundcard again. The setup you see above gives 2ms latency which is excellent. (END)
Now you should have a little green icon for the asio4all driver in your taskbar (if it is red then there are settings to be changed to make it work).
Click that to open asio4all settings and you should see something like this........ If not then click the "spanner"at the bottom right corner.
Choose which inputs and outputs you want to use, and count down the list of active ins and outs making a note of their order in the list (ins and outs separately). They will be numbered [dac~ 1] etc. in the same order in Pd.
Good luck, and come back here if you are still struggling....
You might find that Pd is still struggling because of your old settings. If so then start Pd with no audio from a batch file using the -noaudio flag, before you do the above........ see below.....
David.
If you don't know how to use a batch file then try this before you start setting up your soundcard. It will reset the sound settings so that Pd responds properly again!! http://forum.pdpatchrepo.info/topic/9250/pd-will-not-start
Or make your own like this.....
It will open Pd and load the directory in which the patch Minx_Run.pd can be found, load the readsf~ directory and then turn off audio, turn on asio, turn off midi and load the patch Minx_Run.pd......
Later, when all of your settings are correct you can have different setups depending upon which soundcards you have connected, like this...........
[muse] -- float array that acts like a musical scale
Creates music scales using simple lists or by sending new pitches to individual notes. The more creation arguments there are, the more inlets there will be. It sends a frequency value through the 1st outlet and the unaltered midi value through the 2nd outlet.
- [muse 40 4 7]
- Sending 0, 1, 2 returns 40, 44, 47 respectively.
- The scale cycles through higher and lower octaves
- 3, 4, 5 returns 52, 56, 59
- -1, -2, -3 returns 35, 32, 28
functions:
- [list | l | d | x | i ..(
- Takes a list of numbers and maps the values to the array.
- Any non-numeric values are skipped over.
- They're basically all the same function, with the differences being in their offsets and/or whether it should change the size of the scale implicitly based on list size.
-- i is an implicit list, which changes the size of the scale based on the number of arguments specified.
-- x is an explicit list, which means that it doesn't change the scale size because it's leaving that up to the user to change explicitly. This message is also good for changing the root note.
-- list or l is the default list, and whether it interprets lists implicitly or explicitly is based on whether the toggle "exp" is set to 1 or 0. By default, lists are interpreted implicitly.
-- d has an offset of 1. It's basically a short form of [list d ...( or, a list that skips the root note. Like a normal list, it also adheres to the "exp" toggle to determine whether it is implicit or explicit.
- [exp 1|0(
- sets a boolean to determine whether or not scale size is implied in the size of lists sent.
- if exp equals 1, scale size will not change, unless the list is preceded by i.
- if exp equals 0, scale size will change, unless the list is preceded by x.
- [n $1(
- sets the size of the scale.
- the scale by default, with no creation arguments, is only 2 float values. This amount grows based on how many arguments are specified. but the array also resizes itself automatically to twice its original size whenever a size requested goes over the current maximum range.
- the same doubling effect applies to lists with more arguments than the maximum scale size.
-- [muse 40 2 4 5 7 9 11] has 7 floats worth of bytes reserved for the scale.
-- upon receiving [n 16(, since 16 is greater than (7 x 2), scale is resized to hold 16 floats.
-- upon receiving [n 17(, scale is resized to hold 32 floats. This doesn't mean the scale uses all 32 notes, but the space is now reserved if you ever decide to increase the scale size later.
- sets the size of the scale.
- [set $2 $1(
- scale is assigned the value $1 at index $2.
-- [set 6 11( set the 6th interval to 11.
- scale is assigned the value $1 at index $2.
- [ref $1(
- sets the reference pitch of middle A.
-- default value is 440.
- sets the reference pitch of middle A.
- [tet $1(
- assign the number of tones in an octave.
-- tones refer to how large a semi-tone needs to be in order to evenly disperse an octave into a specific amount of distinct pitches.
- assign the number of tones in an octave.
- [oct $1(
- assign the number of notes in an octave.
-- notes refer to the number of semi-tones that the scale should jump when going to the next or previous octave.
- assign the number of notes in an octave.
- [octet $1( / [ot $1(
- assigns # of notes and # of tones simultaneously
- [peek label(
- prints the current scale.
- a label is optional.
- [ptr label(
- prints the current size of the float pointer that your scale uses. It isn't necessarily the same size as the scale itself.
Remove Duplicated from List
I currently am storing numbers in a list. The numbers are in sets of 3s for representing Pitch, Volume, Pan. For example, [70 127 .5] is one set and each list has multiple sets. I would like to be able to remove or skip reading a set if the first number in the set (Pitch) matches one already in the set. For example in [34 127 .5, 39 127 .1, 34 127 .7] the last set would be skipped or removed (when reading the list) since the first number (34) matches the first number in the first set. Essentially, I don't want any duplicate Pitch's to go through.
Is there a way to sort lists in sets of 3? If so, I could just use the 'change' object. How would I best do this. I thought about using an array or table, storing the set only if the first number wasn't already utilized in the array, but I don't know how I would handle all 3 numbers (3-axis) in one array.
Any thoughts?
JKP - Bangboum
Sorry I'm getting errors, can you help me?
I've installed the montreal mtl library, but still I have too many objects missing
mtl/qompander~ /id compander
... couldn't create
mtl/clkMaster 120
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
[msgfile] part of zexy-2.2.3 (compiled: Sep 22 2010)
Copyright (l) 1999-2008 IOhannes m zmölnig, forum::für::umläute & IEM
mtl/player~
... couldn't create
mtl/clkSlave 4 16
... couldn't create
mtl/kick808~
... couldn't create
mtl/clkSlave 1 4
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create
setting pattern to default: /home/leopard/Documenti/Music/_sperimentazioni/_PURE DATA/Bangboum/./moteur/*
mtl/player~
... couldn't create