Re: [PD] audio signal distinguishing
By having them appropriately low-passed and sampled. Digital audio is sampled. If you sample a real-world signal without putting a lowpass filter on it first, you will getthese frequencies of over pi radians. Notice how the higher frequency (3pi/2) gets sampled less than twice in one period, and the highest frequency thatcould be sampled twice a period is pi radians/sample. So, before sampling we need to put a lowpass filter on the signal in order to filter out everythinghigher in frequency than pi radians/sample. Otherwise, the higher-frequency real signals will "go past" the 2 sampling points and you will get 2 different sine waves that could be represented by the same samples. Therefore in practice, digital audio assumes that the samples represent sine waves lower than pi radiansin frequency. so if you did sample without low passing first, you would get these weird lower-frequency sine waves in your digital signal that correspond to air pressure waves (sounds) higher than the range of human hearing, assuming a normal sample-rate Also notice that if you have a real sampled cosine wave w/ higher frequency than pi radians/sample it can be represented as the frequency (frequency in radians - 2pi) which will be negative. This negative frequency will be the same as the positive frequency it will be confused for when sampled.If you have a sine wave that's higher than pi radians/sample, it will also be confused for the same corresponding negative frequency, but negative (shifted by 1/2 aperiod). Since all sinusoids are linear combinations of sine and cosine, this means that any sampled sinusoid of frequency higher than pi radians will be confused for thecorresponding frequency of radians if the higher frequency on the unit circle were flipped over the x axis from the negative to the positive-y part. (with thelower-frequency sine portion being multiplied by -1) and obviously if the signal to be sampled is higher than 2pi radians/sample in frequency it will be confused for the corresponding lower frequency on the unit circle,in radians/sample Hope this helps, -Seb -Original Message- From: Billy Stiltner To: pd-list@lists.iem.at Sent: Thu, May 23, 2019 10:14 am Subject: [PD] audio signal distinguishing from chapter 3 of theory and techniques of electronic music"Figure 3.1: Two real sinusoids, with angular frequencies π/2 and 3π/2, showingthat they coincide at integers. A digital audio signal can’t distinguish betweenthe two." How does an audio signal distinguish 2 waveforms?___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
[PD] Fwd: Directory of opened patch
Hi, There's an object [rootinfo] in my library that gives the path, name and "parent level" of the root canvas https://github.com/sebshader/shadylib; there's also [ggee/getdir] which gives the path of the "parent level" provided in the argument -Seb -Original Message- From: Philip Stone To: pd-list@lists.iem.at Sent: Thu, Apr 18, 2019 1:12 pm Subject: [PD] Directory of opened patch #yiv5827315665 #yiv5827315665 #yiv5827315665 -- filtered {panose-1:2 4 5 3 5 4 6 3 2 4;}#yiv5827315665 filtered {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv5827315665 p.yiv5827315665MsoNormal, #yiv5827315665 li.yiv5827315665MsoNormal, #yiv5827315665 div.yiv5827315665MsoNormal {margin:0in;margin-bottom:.0001pt;font-size:12.0pt;font-family:sans-serif;}#yiv5827315665 a:link, #yiv5827315665 span.yiv5827315665MsoHyperlink {color:#0563C1;text-decoration:underline;}#yiv5827315665 a:visited, #yiv5827315665 span.yiv5827315665MsoHyperlinkFollowed {color:#954F72;text-decoration:underline;}#yiv5827315665 span.yiv5827315665EmailStyle17 {font-family:sans-serif;color:windowtext;}#yiv5827315665 .yiv5827315665MsoChpDefault {font-family:sans-serif;}#yiv5827315665 filtered {margin:1.0in 1.0in 1.0in 1.0in;}#yiv5827315665 div.yiv5827315665WordSection1 {}#yiv5827315665 #yiv5827315665 I’m trying to figure out how to use [loadpanel] to load a data file from a subdirectory of a patch, and I’m trying to make this patch and its auxiliary files distributable, so I don’t want to have to use absolute paths. I’ve searched the archives on this, and there was a recent discussion about how passing [symbol .( to [loadpanel] didn’t open the filesystem at a particularly useful (or at least, consistent between platforms) starting directory. What I understand from that discussion is that there is still no way to obtain the current patch’s starting directory to enable relative-path loading. Is that correct? If not in vanilla, are there any externals? Phil Stone UC Davis ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] how to edit PD's colors to make your own theme
Hi, I thought I'd mention I have a pd mod I've been trying to maintain for a couple releases that has color plugins as well as initbang https://github.com/sebshader/pdnext/releases/tag/0.49-0n I don't understand git too well but i'm trying to keep the colors mod updated with the source generally :-) -Seb -Original Message- From: Lucas Cordiviola To: Alexandre Torres Porres ; Dan Wilcox Cc: Pd-List Sent: Fri, Mar 8, 2019 5:28 pm Subject: Re: [PD] how to edit PD's colors to make your own theme On 3/8/2019 9:50 PM, Alexandre Torres Porres wrote: > what would 'tabbed preferences' be? Tabs in *one preference window* instead of multiple sub-menus (and many windows) from the file/preference menu. Some images of TK tabbed: https://www.google.com/search?q=ttk_notebook=isch=univ=X=2ahUKEwikmJD57PPgAhUyIrkGHVm8CLIQsAR6BAgFEAE=1280=699#imgrc=_ Mensaje telepatico asistido por maquinas. ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] open [openpanel] window in the patch folder
Hello, This is a bit OT but there is of course [ggee/getdir]. I also have an object [rootinfo] and [makerpath] (that uses zexy) to make patch-relative pathsabsolute. (though not tested on windows)https://github.com/sebshader/shadylib -Seb -Original Message- From: Mario Buoninfante To: pd-list Sent: Tue, Jan 15, 2019 5:44 am Subject: [PD] open [openpanel] window in the patch folder Hi, Would it be possible to use something like the following [symbol ./(|| [openfolder] to open the dialog window in the current patch folder? This syntax works when you save or load files (ie with [textfile]), but doesn't seem to work with [openpanel] and [savepanel]. Cheers,Mario ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Tcl 8.4 /8.5 on mac-ppc
I don't know the specifics but you could use the ox-app.sh script in the mac directory of the the source tree after building pd. e.g. osx-app.sh --tk 8.5.19 as the help option -h shows. (so just cd to the /mac directory and run the script) -Seb -Original Message- From: rolfmTo: Pd list Sent: Mon, May 14, 2018 12:36 pm Subject: [PD] Tcl 8.4 /8.5 on mac-ppc i would like to use kiosk-plugin with Pd-0.48 on a mac-ppc (OSX 10.5.8).however, kiosk-plugin needs tcl 8.5 and the Pd-0.48-1.ppc uses Tcl 8.4.i was looking for info about tcl 8.5 and a mac-ppc,but it appeared to me like i had to enter a whole new jungle of terms, versions, websites, libraries etc.hopefully someone here is willing to give me a hint:-how to get Tcl 8.5 for a mac-ppc-should it then be necessary/possible to compile Pd with this Tcl 8.5(other then the kiosk-plugin, everything works with my patches on mac-ppc as well as Windows 10).thanks in advance,rolf___pd-l...@lists.iem.at mailing listUNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] suggestion: $0 in messages
>>>What is wrong with [my_selector(--[list]--[$1( >> for instance, [42(--[list]--[$1( will give 42 not float, >> similarly [symbol crabs(--[list]--[$1( will give crabs not symbol > >Also it seems reasonable to just have 1 object box for querying a selector, > >which is a main element of the pd message environment. >That makes sense. >Are you after the literal selector in this case, or the one that the >documentation >implies should be there? For example, if I feed a list with a single floatarg >(e.g., "list 42") to [selector] does it tell me the selector is "float" or >"list"? I would say whatever route would do with it, in this case float -Seb ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] suggestion: $0 in messages
>What is wrong with [my_selector(--[list]--[$1( for instance, [42(--[list]--[$1( will give 42 not float, similarly [symbol crabs(--[list]--[$1( will give crabs not symbol Also it seems reasonable to just have 1 object box for querying a selector, which is a main element of the pd message environment. >> On the other hand, having $0 represent the selector would be the most >> consistent solution, because you can not get other patch-local variables or arguments in message boxes, [...] >I don't understand what the word "solution" means here. If users have repeatedly requested msg box $0 to expand to glist's ce_dollarzero, why would Pd Vanilla give $0 in msg boxes a different function that is incompatible with object box $0? here "solution" means a good way to resolve $0 in message boxes.. I don't think what users request is necessarily the end all of reasons to implement a feature in a language.. and again, the reason that $0 would be different in object boxes and message boxes is because everything else already is different in object and message boxes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] suggestion: $0 in messages
>From patching I know that it would be far more convenient to be able to >reference the patch-local $0 variable in messages. Perhaps in that case there should also be a [selector] object that reports the selector of a message? getting it using [route] seems unnecessarily complicated.. On the other hand, having $0 represent the selector would be the most consistent solution, because you can not get other patch-local variables or arguments in message boxes, and yet you can use $1 $2 etc. to refer to the elements of an incoming message. So the behavior of dollar signs in object boxes and message boxes is already separate and have very different uses. It almost would seem more confusing to be the same for just 1 of the dollar sign numbers, yet different for all the others. -Seb -Original Message- From: Jonathan Wilkes via Pd-listTo: pd-list ; Roman Haefeli Sent: Wed, Apr 4, 2018 1:00 am Subject: Re: [PD] suggestion: $0 in messages > Why is nobody complaining about not being able to use the third > creation argument directly withing a message? What's the fuzz about the > $0? $0 isn't part of the argument vector. It's a unique id automatically generated for a patch/abstraction which the user happens to access through a dollarsign variable. That locality hack doesn't require that the unique id be fetched by an unused dollarsign arg. For example, you could reserve the keyword "let" such that a message box with "let token2" would get converted behind the scenes to "1003-token2". When users for a decade have said they wanted $0 in msg boxes, they mean that they want to use Pd's notion of send-symbol locality inside message boxes. They want that instead of manually querying the value of a reserved dollarsign variable and sending that value to the relevant message box in order to get "let" behavior. Also, since "$0" is already being used for this purpose it doesn't make much sense to try to also get "$0" to refer to the selector. You'd end up with inconsistent meaning where it fetches the selector in msg boxes but not in object boxes. Plus you can already get the selector of an incoming message with [list] whereas you cannot get an abstraction's selector (which would be handy for error reporting). So adding that inconsistency would only duplicate existing functionality without adding new functionality. -Jonathan > Roman ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___pd-l...@lists.iem.at mailing listUNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Best way to make file paths relative to the parent patch ?
Hello, I've made a [rootinfo] object in my library that gives the path, name, and relative level of the root canvas. I also have a [makerpath] object that is supposed to take paths relative to the root canvas and transform them into absolute paths but it doesn't seem to work correctly... I will update it tonight though. available here https://github.com/sebshader/shadylib might be in deken for linux and OS X.. not sure (thought the updated abstraction will only be on Github) -Seb -Original Message- From: Jérôme AbelTo: pd-list Sent: Sat, Oct 7, 2017 7:35 am Subject: [PD] Best way to make file paths relative to the parent patch ? Hi, To explain myself, i have to describe a practical example (http://reso-nance.org/public/pd-malinette/test-paths.png) : - you write an [audio-sampler] abstraction in "abs" directory, which load soundfiles - you write a "main.pd" patch where you put this abstraction in the project directory - you want to load the "data/snare.wav" sound file with a message connected to the abstraction Result : the context of the abstraction is in "abs" directory, so it can't find "data/snare.wav" (there is no "abs/data/snare.wav" file),instead we have to write "../data/snare.wav" relative to theabstraction and not the parent patch. A common solution to deal with that is to add [ggee/getdir 1] inside the abstraction, to get the absolute path of the filestarting from the upper level (parent patch). But if the abstractionis inside another abstraction, it has to be [ggee/getdir 2] and soon ... But how find the right depths of the abstraction ? Theabstraction doesn't know his context of use. I think I will put a [ggee/getdir 10] or greater to be sure to getthe parent patch level, but maybe someone has another solution, avanilla solution ? Related PR : https://github.com/pure-data/pure-data/pull/150 + j. ___pd-l...@lists.iem.at mailing listUNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] going from signals to events?
whoops, looks like he has actually been working on it, not sure why there's a separate repo.. https://github.com/ericlyon/lyonpotpourri3.0 -Original Message- From: IOhannes m zmoelnig <zmoel...@iem.at> To: pd-list <pd-list@lists.iem.at> Sent: Mon, Sep 4, 2017 12:16 am Subject: Re: [PD] going from signals to events? On 09/04/17 06:23, Seb Shader via Pd-list wrote: > though it doesn't seem quite ready for 64-bit iirc, erik kind of refused getting his externals ready for 64bit archs (with 64bit pointers) until Pd would also use 64bit numbers (doubles)... i obviously failed to explain the differences. fgasmdr IOhannes ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] going from signals to events?
Eric Lyon's Lyonpotpourri library should be mentioned https://github.com/pd-projects/lyonpotpourri although seems like some code needs to be cleaned up, I'm getting segfaults with Pd-Extended and a custom Pd that uses a bit of Pd-extended code He has many signal sequencing objects in the library though and it seems to work fairly well with vanilla, though it doesn't seem quite ready for 64-bit -Original Message- From: Ali Momeni hello friends, what are your favorite objects for going from signals to events? specifically, i'd like to make a sample accurate / audio-driven sequencer. I'm looking for something like max's "seq~" object, which outputs events when a phasor input in its inlet crosses various thresholds. Any ideas? -ali ___pd-l...@lists.iem.at mailing listUNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Pd 0.48.0test5 Help Browser Issue
Dang That was it, I had fixed that but forgot for the second column. I updated the ticket https://sourceforge.net/p/pure-data/patches/579/ and attached the patch and the updated file (goes with the tcl files in the pd distribution) -Seb I'm also on Windows but I'm not having the issue. This is probably because of the white-space in "Program Files (x86)". I'm not an expert, but it could be that. On 7/23/2017 11:39 PM, michael noble wrote: Found an issue with the latest build, though it could be in earlier builds. When using the help browser, clicking on items in the right column results in errors: wrong # args: should be "::helpbrowser::dir_navigate dir count window x y" wrong # args: should be "::helpbrowser::dir_navigate dir count window x y" while executing "::helpbrowser::dir_navigate C:/Program Files (x86)/Pd/bin/extra/sigmund~ 2 .helpbrowser.frame.root1 39 10" (command bound to event) Items open normally from the left column. ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list -- Mensaje telepatico asistido por maquinas. ___pd-l...@lists.iem.at mailing listUNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list helpbrowser.patch Description: Binary data helpbrowser.tcl Description: Tcl script ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Re: [PD] Chebyshev waveshaper
I didn't say that it was like cheby, I just mentioned that cheby already existed. The point is to control a crossfading of harmonics at audio rate. In cheby~ you can control the weight of harmonics at message rate, but you can only set the order by creation argument. In tcheb~, you can only have 1 harmonic (or a crossfade between 2 executive harmonics) but you can choose the harmonic to be anywhere up to 255 at signal rate. I just happen to like the sound of the order of polynomial being rolled through a linear crossfade at signal rate, which you cannot do with cheby~. -Sebastian -Original Message- From: Alexandre Torres Porres por...@gmail.com To: sebfumaster sebfumas...@aol.com Cc: Alexandros Drymonitis adr...@gmail.com; pd-lista puredata pd-l...@iem.at Sent: Sat, Jun 6, 2015 2:14 pm Subject: Re: [PD] Chebyshev waveshaper Hi there, if you can't control the strength of harmonics like cheby, it's not like cheby~ at all, and I actually fail to see the point here. btw, cheby~ should have the option to generate normalized tables for waveshaping, it's hard to work with it when it doesn't, you can always blow it up easily. cheers 2014-04-21 14:39 GMT-03:00sebfumas...@aol.com: Sorry bout that, all it is is a number box connected to a line~ (to make it smooth) It should be in the zip now. Thanks for the heads up -Sebastian -Original Message- From: Alexandros Drymonitis adr...@gmail.com To: sebfumaster sebfumas...@aol.com Cc: PD-list pd-l...@iem.at Sent: Mon, Apr 21, 2014 8:20 am Subject: Re: [PD] Chebyshev waveshaper Opening tcheb~-help.pd I get this in the console: smoother~ ... couldn't create There's a smoother~-help.pd included but no smoother~.pd or smoother~.pd_darwin or a .c file... On Mon, Apr 21, 2014 at 3:30 AM, sebfumas...@aol.com wrote: Hi all, If anybody's interested I made a chebyshev wave shaper external. it's on the pd forum http://puredata.hurleur.com/sujet-10371-chebyshev-waveshaper-controlled-signals . I know there's already creb/cheby~ but this is slightly different because you cannot set the harmonics but you can control the order with a signal. adjacent orders of polynomial are interpolated with the pd cosine table which I have no idea how to use like the cos~ object but I did it anyway and it seemed to work. Suggestions would be appreciated, this is only my 3rd small c program -Sebastian ___ pd-l...@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ pd-l...@iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] hardcoded filters at 44100
actually this is not the case; the coefficient and samplerate are updated when the dsp method is called, (this is also the case for many vanilla objects that require info about samplerate, like phasor~, osc~, etc. -Sebastian ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] How to navigate a long sound file in vanilla PD
In the meantime, the onset inlet could be a signal, and the phasor could just be set up like this since onset is just a sum: [phasor~] | \ |\ [*~ size/2] | \ | [*~ size/2] | | [tabread4~] | 64-bit output I made a version of nusmuk's tabread4c that does this -Sebastian ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Updating Pd-Extended
It seems that the main/only thing to do in order to update the Pd-extended core is to update vanilla to incorporate the GUI rewrite stuff, as well as closebang and initbang (what other things?). It seems that someone just needs to go through and copy all of the code directly, deciding which GUI things to keep and which to discard -Sebastian ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] clear delwrite~?
Oh I forgot to include the abstractions for the help files for these but it's pretty self-explanatory. The makefile should be edited with the correct paths to compile. The original tabread4c~ (hermite interpolation) was from nusmuk by Cyrille Henry___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list
Re: [PD] Updated Pd-Extended
Hello again list, What do y'all think of the idea of releasing Pd-extended both as a core pd with no libraries added except maybe the libdir and hex loaders and as a version with multiple libraries (2 release stages)? Perhaps it's been discussed. the thing I enjoy about Extended is the features it adds to pd-vanilla, and this way people can just keep the same libraries installed in the same places and switch between vanilla and extended easier. In my experience I never need/want to use most of the arbitrary libraries included and/or loaded on startup and could easily download and install the ones I do want. I also see the appeal/logic of using a standardized set of libs though. seems like a reasonable way to develop it too... everyone focusing on the core and then working on their own libs for a bundled release. Also about import/saving libraries to load on startup: wouldn't it make more sense if either the list were editable or there were no list? Strange that users get this arbitrary list to load on startup, (not even all the libs included in PdX) without being able to edit it, a set of libs that they never have to [import], but then they're expected to [import] everything else unless they manually edit the preferences file (quite confusing for most users)? Btw I also have a bit of time and know a little bit of c and tcl, i'd be glad to pitch in where i can when there is a concrete plan (list of to-do's) of how to move forward with Pd-extended. -Sebastian ___ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management - http://lists.puredata.info/listinfo/pd-list