-
moog1
Hello everybody
I have written a program for linux, that anybody who is interested in the PD code base might find
useful .. basically a 'C' function tracer. PD vanilla has more than 800 functions alone! It's often
difficult to comprehend as functions are often called indirectly for several reasons. It has a gui that's
written in tcl/tk as is PD, and the tracing does not need any special kernel mods (uses ptrace system call)Start up (as in the README), and one can put objects, turn on DSP, click 'bangs' etc. and then stop the tracing and see what's been going on
-
moog1
While developing my basspitch~ external, I found problems which I put down to interference from harmonics from higher pitches. In any case, I decided to make a multi-speed sampler that could slow down the fft analysis of the source.
In for a penny, in for a pound, and so I tried to achieve acceptable sound alongside..
The synchronisation presented problems for a while, as the sound and analysis had different criteria.
It's coming on, though..
Any criticism welcome -
moog1
I'm fairly new to PD, and I noticed that fidle~, sigmund~ & friends weren't able to deal with bass pitch.
As I'm a glutton for punishment , I decided to have a go .. seemed I needed to make an external, and even that was prety tight.
Anyway, here is the compiled linux version..
-
moog1
Hi everyone,
I have a patch which will stream raw 16bit data into Pd from any program running on Linux.
For other Os, (such as Mac, Win), I have included the 'C' source code, so you're welcome to hack it.There is a README in the zip file, which should get you started. Any questions?
Have fun -
moog1
I'm wondering why it is that the output from bp~ continues for some seconds after the input signal to it is removed..
[ at least, it does on my linux box with pd 0.43 ][ osc~ 440 ]
|
| [200\
| /
| / [100\
| / /
| / /
[ bp~ ]
|
[ env~ ]
|
[52\After disconnecting the osc~, the number box shows a slow decline in rms amplitude.
What algorithm is being used? It seems to get more unstable as "Q" increases .. is that how it should be?Would there be any other eqivalent filter that does NOT exhibit this behaviour?
-
moog1
Hello,
I'm relatively new to PD, and am enjoying it
I notice that fft examples have been condensed into the audio examples in 0.43..
perhaps somebody can expliain to me how to use 'overlap' in the 'I02.Hann.window.pd' exampleI understand that 'block 512' should be changed to 'block 512 4'
What else needs to change? The hanning window doesn't seem to look right?Thanks .. I'd like to understand about 'windowing' more thoroughly.
Perhaps somebody could suggest a 'site ref' on this topic .. I've been googling for a while, and have still not got to the bottom of it. -
-
moog1
I've just come across a guide to the 'patch fileformat' after all..
It's in the help files for pd-extended 0.42.5:Help->Manuals->Pd->Pd_File_format.html
Have fun
-
moog1
@nau said:
..what I'm looking for is a document 'saying what "text file arguments" makes what in a given object'.
Haven't seen one.
I might misunderstand you, but if you click on the 'bang' message on that patch, and look at the console, you can see what arguments (message) produces what on the new canvas.eg.
#X msg 191 213 rewind..produces a message box (object) at x coord 191 y 213 with the 'class' rewind
etc. etc.
Sorry if that's not what you meant -
moog1
@nau said:
I could not find documentation about what text string is written when this or that object is created in a patch.
..Any idea ?
NauAh! Perhaps you will find 50.pure_data_files.pd in the pd-extended manuals useful..
It can be found under Help->Manuals->0.intro
Have fun
-
moog1
Dear oh dear :/
.. where to startWell, I was thinking "that's it", and back to external devel, and I found that my functions weren't all showing up..
Ah! It's to do with the 'static' word .. they don't show up as global symbols, of course.Fiddled around a bit (phew!), and now they all show up!
The external(s) should not be loaded before the trace is started, so:-1. start up pd
2. attach it and start running the trace
3. open your patch
4. do any interaction with the patch you wish
5. stop the trace..and analyse
I've also left PD itself reporting local variables atm, over 2000 symbols now
That's because the static variables in the builtin objects are also included .. interesting..Ftrace0.95 below
-
moog1
Dear oh dear :/
.. where to startWell, I was thinking "that's it", and back to external devel, and I found that my functions weren't all showing up..
Ah! It's to do with the 'static' word .. they don't show up as global symbols, of course.Fiddled around a bit (phew!), and now they all show up!
The external(s) should not be loaded before the trace is started, so:-1. start up pd
2. attach it and start running the trace
3. open your patch
4. do any interaction with the patch you wish
5. stop the trace..and analyse
I've also left PD itself reporting local variables atm, over 2000 symbols now
That's because the static variables in the builtin objects are also included .. interesting..Ftrace0.95 below
-
moog1
@ricky said:
..It would make the object more dynamic in terms of allowing the user to specify accuracy of tracking versus latency.
Yes, I see .. except that as it's tracking bass, if you decreased the fft-block size (to obtain increased latency),
your output would be next to uselessIf you observe the behaviour of fiddle~ or sigmund~, for example, they can't track bass at all !
That's why I had a go at my own..
I think any major improvements can only be made, out of a 'real-time' scenario .. but I might be wrong -
moog1
Recently, I have been struggling on the 'programitic' side
ie. binary file semantics .. detecting externals, symbols .. stabilitywith 'ptrace' etc.I decided that the 'gui' lagged behind, and so have made a few changes..
Firstly, I've added a search toolbar with incremental up/down
Secondly, the disabled symbols/functions now have their 'state' saved between sessions,
as it's irritating to disable dozens of symbols time & againAnd finally, when running the trace, it stops itself automatically after around 30 seconds, as
a precaution, although most distros clean the 'tmp' directory (where the trace file accumulates
as ftrace.out)
So .. ftrace-0.9 below :-D
Katjav .. I know when you download a binary file, it lose its exec permissions (on unix) .. all you need to do is put them back!
ie. with a file-manager, or on the command-line, 'chmod 755 ftrace'
( the 'tk file' has been embedded )I would be interested to know if anybody has trouble with externals being detected ..
..or any other problems..
thanks.EDIT: Found a bug in disabling symbols .. updated file below
-
moog1
@ricky said:
It would be nice to allow the user to configure chunk size parameter via a message, if possible?
What do you mean by 'chunk size' ? Do you mean 'block size' ?
What gain would there be from that? What are you trying to do?The fft-size is very critical for accurate analysis, and it's already very tight .. of course, accuracy could be improved, but latency would suffer.
-
moog1
@oli90 said:
..How do I know which files are associated with pd specifically?
As I say .. use the 'file search' with the appropriate 'date-range' .. you can always look in the
'pd archive' if you're not sure about a file..
I'm not a 'windows guru', as I use linux, but it might help.As I recall, windows has a more complicated mechanism for configuration than linux .. the registry
Did you put any extra paths or 'start-up' configs .. I should check that too. -
moog1
@oli90 said:
.. could I possibly have altered some libraries used by pd in the process?
My suggestion is to uninstall pd .. then check by date-range what files remain from that period.
ie. you know roughly when you first installed it, and any relevant files you come across and wish
to save can be moved to a separate directory ..Then reinstall, and hope for the best
-
moog1
@katjav said:
Hi Moog1,
.. it seems that all symbols of core Pd are there,
KatjaYes .. that's the idea, and at present, the 'manage-symbols' doesn't unset the breakpoints,
just removes them from the display..
Well .. it seemed to be working and stable, and that was pretty tricky .. so I thought I'd leave
well aloneFunny about that src-archive (0.8) .. I've uploaded it again, as it reported not to be a tar-archive
Hmmm..Edit: Seems the forum software doesn't like .tar.gz
I've renamed them .tgz and all seems fine now