Dear PD folks,
I'm trying to cook up a Pd/GEM version of the Rutt-Etra scan processor,
which sends audio signals to an analog CRT vector
monitor/oscilloscope/etc to control the vertical and horizontal
positions of its beam, plus its brightness.
The video posted here is webcam->MaxMSP->MOTU soundcard->Vectrex console
display, using the [jit.matrix] and [jit.peek] objects:
https://www.instagram.com/p/BWk5imsAao1
To do this in GEM, I need to read the luma values of the pixels in a
video stream according to their X and Y positions with the horizontal
and vertical signal ramps which form the video raster on the CRT (using
[phasor~] for the vertical scan and a multiplication plus a [wrap~] for
the horizontal scan), and send that value out as a third audio signal to
control the brightness of the scan line on the monitor.
Here is a block diagram of the original Rutt-Etra for the curious:
http://iasl.uni-muenchen.de/links/GCA_ill76.png
The issue that I have run into so far is that [pix_data] from GEM only
responds to control rate messages. PDP has the [pdp_scanxy~] object
which does basically what I'm looking for: get luma values at given X Y
coordinates of the image based on an audio signal input, and send those
values out as an audio signal. I've gotten a rough raster with this
already, but for various reasons I would prefer to stay clear of PDP.
Can anyone tell me how fast the [pix_data] object can respond? I have
been using a [metro] operating at a rate of one bang per sample, and I
have set a [block~ 1] in the subpatch doing this analysis.
[timer] reports an interval of 0.022 ms between bangs @44.1K, and 1.451
ms between changed pixel values coming from [pix_data]. (Unchanged
values are redundant.) In fact, the rate between the metro and the GEM
object match until I go under 64 samples, then it becomes erratic. Is a
64 sample block size hardcoded into [pix_data]?
Can anyone see how I could get audio rate data out of [pix_data], or if
there might be another way to get luma values with an audio signal?
Thanks and best wishes!
Derek
--
derek holzer
noise.art.technology
http://macumbista.net
> On Jul 15, 2017, at 11:02 AM, pd-list-request(a)lists.iem.at wrote:
>
> I notice it looks quite differently in Mac OS, like there is a new font, but it still seems it is Monaco. But the font size is smaller and the boxes are thinner and wider. A subpatch will also have an extra space to the right after the text/name of the subpatch.
You are seeing the retina rendering with a newer Tk, which still has those font issues as the rendered box size does not quite fit the font. I haven't been able to track down a fix yet.
It's weird, though, as this shouldn't be the default yet and Pd should still be using 8.4 which is pixelated on retina screens but has correct object sizing.
Miller, how did you build the mac distribution app?
> I know there's a Pull Request where we're discussing a cross platform consistency for Pd (DejaVu Sans Mono as default font crossplatform), but it hasn't been merged yet, right?
No. There's still the issue of making it work on Windows which has not been resolved yet. I am aware of the TWAPI extension but that is not ideal as Pd shouldn't rely on too many dependencies, especially for only loading a font on one platform. I may be able to get to that in a few weeks.`
--------
Dan Wilcox
@danomatika <http://twitter.com/danomatika>
danomatika.com <http://danomatika.com/>
robotcowboy.com <http://robotcowboy.com/>
Hi all,
I've finally gotten around to making some improvements and updates to the
timbreID library, so I'd be grateful for any feedback and bug reports at
this point. You can currently get source code and Linux/Mac/Windows
binaries via deken. Below is a short list of the main additions. One major
point is that I decided to use FFTW this time around. I've managed to get
that working fine on Linux/Mac/Windows, but it would be great to get any
advice on how to minimize the trouble that that dependency brings up.
Makefile edits and suggestions are also very welcome, especially aspects
that involve linking to FFTW on these 3 different platforms.
UPDATES:
Bark-based versions of all spectral features (barkSpecCentroid~,
barkSpecSpread~, etc.)
A cepstrum-based pitch tracker (cepstrumPitch~)
An attack time analysis object (attackTime~)
Spectral slope analysis objects (specSlope~, barkSpecSlope~)
A waveform slope analysis object (waveSlope~)
A DCT object (dct~)
Various simple time-domain objects (peakSample~, minSample~, maxSample~,
minSampleDelta~, maxSampleDelta~)
Various conversion objects (bin2freq, bark2freq, etc.)
Additional [tabletool] methods (clip, round, ceiling, floor, maximum
magnitude, find zero crossings, mtof, ftom, dbtorms, rmstodb, bin2freq,
freq2bin, bark2freq, freq2bark, auto-fit boundaries)
Various improvements to the database/classification object [timbreID]
There is also an updated examples package, which mainly addresses the
change in functionality of [timbreID]'s fourth outlet, but has significant
improvements for the concatenative and timbre space examples. It also
includes a new example directory for audio segmentation. You can get that
at http://williambrent.conflations.com/pages/research.html#timbreID. I've
also set up a GitHub repo at wbrent/timbreID, which has everything (source,
binaries, example patches).
Thanks and feel free to write me on or off list.
William
--
William Brent
www.williambrent.com
“Great minds flock together”
Conflations: conversational idiom for the 21st century
www.conflations.com
hi, for [text define] it would be really useful to show the name of the text buffer!
> Gesendet: Donnerstag, 13. Juli 2017 um 02:50 Uhr
> Von: "Dan Wilcox" <danomatika(a)gmail.com>
> An: pd-dev(a)lists.iem.at
> Betreff: [PD-dev] text edit window title
>
> I've noticed when opening the context of the text family of objects (qlist, text, & textfile), the window title has what looks like dummy strings: "myname: text".
>
> I think it would be more useful if the "myname" was the name of the parent patch and the "text" part was the name of the calling object.
>
> So something like: mypatch.pd: qlist
>
> That would at least help in differentiating the windows beyond their contents.
>
> I did some poking around and can set the filename by changing the sys_vgui call in textbuf_open:
>
> sys_vgui("pdtk_textwindow_open .x%lx %dx%d {%s: %s} %d\n",
> x, 600, 340, "myname", "text",
> ...
>
> to
>
> sys_vgui("pdtk_textwindow_open .x%lx %dx%d {%s: %s} %d\n",
> x, 600, 340, x->b_canvas->gl_name->s_name, "text",
>
> I'm not sure how to replace the "text" dummy with the parent text object type though.
>
> --------
> Dan Wilcox
> @danomatika <http://twitter.com/danomatika>
> danomatika.com <http://danomatika.com/>
> robotcowboy.com <http://robotcowboy.com/>
>
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev(a)lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev
>
Frequently when using hcs' filterview object - I get tcl errors and the
gui locks up. I haven't successfully found a logic or repeatability to
them - but they happen a lot. (OSX, vanilla 0.47.1)
It's a great object besides that and I'm wondering what else might be
out there.
I've been using Maelstrom's excellent filterplot.mmb
abstraction(https://github.com/dotmmb/mmb) - which is really almost
enough, although graphical/mouse input would be nice. In general this is
an amazing collection of abstractions!
Is there anything else that deals with graphical input and or output of
filter coefficients for biquad~?
Alex - any cyclone stuff in the works that might be like filtergraph in
max?
Thanks!
-Jesse
Hi Everyone,
I’m looking to compile an external that’s using the flext <https://grrrr.org/research/software/flext/> development layer. It’s called gendy <https://github.com/ssfrr/gendyflext>~
According to this wiki <https://github.com/libpd/libpd/wiki/Adding-Pure-Data-external-libraries-to-…> I need to compile it as a static library that will be used inside my xcode project.
The only thing I was able to do so far was to compile it as a dynamic library for macOS. Everything works great in that executable.
But I can’t get it to build in Xcode because I think I’m doing something wrong with flext.
Thanks,
Orestis
Hi Everyone,
I’m looking to compile an external that’s using the flext
<https://grrrr.org/research/software/flext/> development layer. It’s
called gendy <https://github.com/ssfrr/gendyflext>
I need to compile it with a target architecture of armv7 and to compile
it as a static library.
The only thing I was able to do so far was to compile it as a dynamic
library for macOS. Everything works great in that executable.
So far I’m pretty much familiar with how flext builds externals and I
have managed to try some different things by editing its
buildsys/config- files. But when I change the arch to armv7 my
compilation fails.
|/usr/include/sys/cdefs.h:707:2: error: Unsupported architecture|
My config-mac-pd-gcc looks like this:
|# where is the PD installation including source code?
# (this should point to the main folder, which has a "src" (PD Vanilla) or "include" (PD extended) subfolder)
PDPATH=/Applications/Pd-0.47-1.app/Contents/Resources
# where is the PD executable?
PDBIN=$(PDPATH)/bin/pd
###############################################################
# prefix for flext installation
# headers are in $(FLEXTPREFIX)/include/flext
# libraries are in $(FLEXTPREFIX)/lib
# build system is in $(FLEXTPREFIX)/lib/flext
FLEXTPREFIX=/usr/local
###############################################################
# where should the external be built?
OUTPATH=pd-darwin
# where should the external be installed?
INSTPATH=$(PDPATH)/extra
###############################################################
# STK (synthesis tool kit) support
# http://ccrma.stanford.edu/software/stk
# where to find the STK header files (e.g. stk.h)
#STK_INC=/usr/local/include/stk
# where to find the STK library (normally libstk.a)
# (comment out STK_LIB if you don't use STK)
#STK_LIB=/usr/local/lib/libstk.a
###############################################################
# SndObj support
# http://music.nuim.ie//musictec/SndObj
# where to find the SndObj header files (e.g. sndobj.h)
#SNDOBJ_INC=/usr/local/include/sndobj
# where to find the SndObj library (normally libsndobj.a)
# (comment out SNDOBJ_LIB if you don't use SndObj)
#SNDOBJ_LIB=/usr/local/lib/libsndobj.a
###############################################################
# make flags (e.g. use multiprocessor)
MFLAGS=-j 2
# user defined compiler flags
UFLAGS +=
# user defined linker flags
LDFLAGS +=
# user defined optimization flags
OFLAGS +=
# user defined debugging flags
DFLAGS +=
# architecture-specific flags (optional)
UFLAGS_ppc += -faltivec
OFLAGS_ppc +=
DFLAGS_ppc +=
UFLAGS_i386 +=
OFLAGS_i386 +=
DFLAGS_i386 +=
UFLAGS_x86_64 +=
OFLAGS_x86_64 +=
DFLAGS_x86_64 +=
# cross-compilation (optional)
ARCH=armv7 # ppc ppc64
# SDK for 10.6
#OSXSDK=/Developer/SDKs/MacOSX10.6u.sdk
|
I would appreciate it if anyone who’s done something similar before can
help!
Thanks,
Orestis