Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
dmedine committed Feb 20, 2014
0 parents commit 16812fc
Show file tree
Hide file tree
Showing 6 changed files with 1,470 additions and 0 deletions.
29 changes: 29 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[sinusoidality~] is an extern for Pd by David Medine released under the GPL. It attempts to separate the 'sinusoidal' content from the 'noisy' content of a spectrum. It then resynthesizes these components. The assumption is that noise is the correct non-sinusoidal part of the signal, but you can resynthesize this part of the spectrum with any signal, not just noise, leading to potentialy interesting results.

building:
---------
Linux:
Rename the drop sinusoidality_tilde into Pd's extra folder. Then hit

> make

on the command line. Alternatively, you can put the folder anywhere and then specify the include path (needed to find m_pd.h) by typing:

> make LINUXINCLUDE=-I<full path to pd's src folder>

where the full path is something like /home/dmedine/Software/pd-0.45-4/src

Mac:
You will need to change the fourth line of the makefile from:

current: pd_linux

to:

current: pd_darwin

then, it's the same as for linux. The makefile uses the same variable LINUXINCLUDE for both linux and mac build options, so the same deal applies.

installing:
-----------
You will also need to tell Pd where the extern is. If it is in the extra folder, you should be fine just by renaming the folder from 'sinusoidality_tilde' to 'sinusoidality~', otherwise you will need to add the path to Pd's path list, or declare the path using the [declare] object with the -path flag and the path to phasevoc~.pd_linux.
90 changes: 90 additions & 0 deletions makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
NAME=sinusoidality~
CSYM=sinusoidality_tilde

current: pd_linux
LINUXINCLUDE?=-I../../src
# ----------------------- NT -----------------------

pd_nt: $(NAME).dll

.SUFFIXES: .dll

PDNTCFLAGS = /W3 /WX /DPD /DMSW /nologo
VC="C:\Program Files\Microsoft Visual Studio\Vc98"

PDNTINCLUDE = /I. /I..\..\src /I ../pd/src/ /I$(VC)\include

PDNTLDIR = $(VC)\lib
PDNTLIB = $(PDNTLDIR)\libc.lib \
$(PDNTLDIR)\oldnames.lib \
$(PDNTLDIR)\kernel32.lib \
..\pd\bin\pd.lib

.c.dll:
cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c
link /dll /export:$(CSYM)_setup $*.obj $(PDNTLIB)

# ----------------------- IRIX 5.x -----------------------

pd_irix5: $(NAME).pd_irix5

.SUFFIXES: .pd_irix5

SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2

SGIINCLUDE = -I../../src

.c.pd_irix5:
$(CC) $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c
ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o
rm $*.o

# ----------------------- IRIX 6.x -----------------------

pd_irix6: $(NAME).pd_irix6

.SUFFIXES: .pd_irix6

SGICFLAGS6 = -n32 -DPD -DUNIX -DIRIX -DN32 -woff 1080,1064,1185 \
-OPT:roundoff=3 -OPT:IEEE_arithmetic=3 -OPT:cray_ivdep=true \
-Ofast=ip32

.c.pd_irix6:
$(CC) $(SGICFLAGS6) $(SGIINCLUDE) -o $*.o -c $*.c
ld -n32 -IPA -shared -rdata_shared -o $*.pd_irix6 $*.o
rm $*.o

# ----------------------- LINUX i386 -----------------------

pd_linux: $(NAME).pd_linux

.SUFFIXES: .pd_linux

LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC \
-Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch $(CFLAGS)

.c.pd_linux:
$(CC) $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
ld -export_dynamic -shared -o $*.pd_linux $*.o -lc -lm
strip --strip-unneeded $*.pd_linux
rm -f $*.o

# ----------------------- Mac OSX -----------------------

pd_darwin: $(NAME).pd_darwin

.SUFFIXES: .pd_darwin

DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \
-Wno-unused -Wno-parentheses -Wno-switch

.c.pd_darwin:
$(CC) $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c
$(CC) -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o
rm -f $*.o

# ----------------------------------------------------------

clean:
rm -f *.o *.pd_* so_locations
66 changes: 66 additions & 0 deletions output~.pd
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
#N canvas 0 0 615 578 12;
#X obj 353 490 t b;
#X obj 353 437 f;
#X obj 353 515 f;
#X msg 467 514 0;
#X obj 353 467 moses 1;
#X obj 467 486 t b f;
#X obj 433 447 moses 1;
#X obj 29 97 dbtorms;
#X obj 85 170 inlet~;
#X msg 299 310 \; pd dsp 1;
#X obj 29 170 line~;
#X obj 64 242 *~;
#X obj 64 272 dac~;
#X obj 29 127 pack 0 50;
#X text 121 146 audio in;
#X text 138 464 test if less than 1 -->;
#X text 104 491 if true convert to bang -->;
#X text 100 96 <-- convert from dB to linear units;
#X floatatom 323 219 3 0 100 0 dB - -;
#X obj 350 240 bng 15 250 50 0 empty empty mute -38 7 0 12 -262144
-1 -1;
#X text 118 126 <-- make a ramp to avoid clicks or zipper noise;
#X obj 148 170 inlet~;
#X obj 154 241 *~;
#X text 373 378 MUTE logic:;
#X obj 323 174 r \$0-master-lvl;
#X obj 353 541 s \$0-master-lvl;
#X obj 323 279 s \$0-master-out;
#X obj 29 71 r \$0-master-out;
#X obj 433 418 r \$0-master-out;
#X text 60 10 Level control abstraction \, used in many of the Pd example
patches. The "level" and "mute" controls show up on the parent \, calling
patch.;
#X text 66 517 previous nonzero master-lvl -->;
#X text 138 421 recall previous;
#X text 138 439 value of master-lvl -->;
#X text 39 319 automatically start DSP -->;
#X obj 85 192 hip~ 3;
#X obj 147 192 hip~ 3;
#X connect 0 0 2 0;
#X connect 1 0 4 0;
#X connect 2 0 25 0;
#X connect 3 0 25 0;
#X connect 4 0 0 0;
#X connect 4 1 5 0;
#X connect 5 0 3 0;
#X connect 6 1 2 1;
#X connect 7 0 13 0;
#X connect 8 0 34 0;
#X connect 10 0 22 0;
#X connect 10 0 11 0;
#X connect 11 0 12 0;
#X connect 13 0 10 0;
#X connect 18 0 9 0;
#X connect 18 0 26 0;
#X connect 19 0 1 0;
#X connect 21 0 35 0;
#X connect 22 0 12 1;
#X connect 24 0 18 0;
#X connect 27 0 7 0;
#X connect 28 0 1 1;
#X connect 28 0 6 0;
#X connect 34 0 11 1;
#X connect 35 0 22 1;
#X coords 0 0 1 1 65 55 1 300 200;
Loading

0 comments on commit 16812fc

Please sign in to comment.