MUMT 307: Music & Audio Computing II [course page]
Winter 2012 :: Final Project
Hannah Robertson [home page]

Code and usage for stk::Feadog+fipple

Jump to:
[ Installation ] [ Usage (Score) ] [ Usage (MIDI) ]

[ Project main page ]


[ Download code ]

To start, make sure you've installed the Synthesis ToolKit in C++ (STK). Then:

  1. Copy "Feadog.cpp" to the STK src/ directory;
  2. Copy "Feadog.h" to the STK include/ directory;
  3. Copy the files in "scores" to the STK projects/demo/scores directory.
  4. Replace the following STK files with the new files here:
    • projects/demo/tcl/Demo.tcl
    • projects/demo/utilities.cpp
    • project/demo/
  5. In the main STK directory, run ./configure;
  6. In the stk/projects/demos directory, run make clean and then make.

Usage (Realtime MIDI, with MaxMSP)

In MaxMSP, open both midi_feadog.maxpat and (from the extras menu) KeyMidi.

From the stk/projects/demos directory, run ./demo Feadog -im -or. Now realtime MIDI usage should be working. If no sound comes out, double-click the "ctlout" object in the MaxMSP patch and change MIDI outputs ("From MaxMSP 1" should do it). Change notes with the KeyMidi keyboard, and change note parameters with the Max patch!

Usage (from scores)

Play SKINI scores

From the "new_files" directory, compile with the following (after changing the -L, -I, and Feadog.cpp paths to match your STK installation):

g++ -D__MACOSX_CORE__ -L/.../stk-4.4.3/src -I/.../stk-4.4.3/include/ -o test_fipple test_fipple.cpp /.../stk-4.4.3/src/Feadog.cpp -lstk -lpthread -framework CoreAudio -framework CoreMIDI -framework CoreFoundation

Now, from the directory containing both fipple_test and the scores directory, type

./fipple_test scores/ [-w #] [-r] [-b]

Sample scores

Several SKINI score files have been included to demonstrate various aspects of the fipple implementaiton. Note: If the file doesn't sound when you play it, try again until it *does* sound. Sometimes this takes two or three re-starts, and is presumably linked to the initial noise impulse being too low.

[ Top ]