Dear all, chuck-1.2.1.0 (dracula) is available: http://chuck.cs.princeton.edu/ In this new major release of ChucK, we (Rebecca Fiebrink and I) have created a new part of the language devoted to real-time audio analysis, and also combining that with synthesis. In doing so, we are introducing the concept of a "Unit Analyzer" and new chuckian operator. This initial version includes the basic infrastructure and a few "unit analyzers" to get things started. Much more is on the way... To find out more about analysis and ChucK, check out: http://chuck.cs.princeton.edu/uana/ We are presenting this at the ICMC in Copenhagen next week, discussed in this paper: http://soundlab.cs.princeton.edu/publications/uana_icmc2007.pdf A new miniAudicle is on the way, as well as an updated audicle version. Additional goodies include feature/bug enhancements, better bugs and more (see below for complete list). As always, let us know if you encounter unexpected fishiness. Many many thanks to Kassen, Graham Coleman, Dan Trueman, George Tzanetakis, Kijjaz, Eduard Aylon, and rest of chuck community for helping to make this release happen!! Thanks and Happy (Up)ChucKing! Best, chuck team CHANGES --- 1.2.1.0 : - (added) Unit Analyzers (UAna: prounced U-Wanna, plural UAnae) (primary creators: Rebecca and Ge) provides support for spectral processing, information retrieval, generalized + precise audio analysis - (added) new datatypes: --------- complex: (real,imaginary) example: #(3,4) is complex literal (3,4) example: #(3,4) => complex value; access components via value.re and value.im used by UAnae polar: (modulus, phase) example: %(.5, pi/4) is magnitude .5 and phase pi/4 example: %(.5, pi/4) => polar bear; access components via bear.mag and bear.phase used by UAnae ---------- example: can cast between complex and polar via standard $ casting - (added) new UAnae: ---------- (authors: Rebecca and Ge) FFT: Fast Fourier Transform input: from UGen (manually input float vector) output: complex spectrum (.cval()/.cvals()) magnitude spectrum (.cval()/.fvals()) (see examples/analysis/) IFFT: Inverse FFT input: UAna/Blob complex vector (spectrum) output: to UGen (as samples) (see examples/analysis/) Centroid: Centroid feature extractor input: UAna/Blob float vector (mag spectrum) output: single centroid value per frame (see examples/analysis/features/) Flux: Flux feature extractor input: UAna/Blob float vector (mag spectrum) output: single flux value between current and previous frame (see examples/analysis/features/) RMS: RMS feature extractor input: UAna/Blob float vector (mag spectrum) output: single RMS value of frame (see examples/analysis/features/) RollOff: RollOff feature extractor input: UAna/Blob float vector (mag spectrum) percentage threshold output: single RollOff value of frame (see examples/analysis/features/) ---------- - (added) capability to externally abort "infinite loop" shreds (this deals with hanging shreds due to potentially infinite loops that don't advance time) - (added) OTF command: chuck --abort.shred sends network OTF to server to remove current shred if there is one - (added) default .toString() method to all Object's - (added) adding an Object to string will first cast object to string; then add the two - (added) LiSa.duration() get method, and .voiceGain() set/get (Dan Trueman) - (added) alternate line comment: <-- same as // example: SinOsc s => dac; <-- here is a comment - (fixed) NullPointerException when instantiating array of objects containing arrays of objects (thanks to chuck-users!!) - (fixed) Machine.remove() on parent shred id no longer crashes - (fixed) Machine.remove() on 'me' now works correctly - (fixed) rounding when writing files via WvOut (thanks to Chris Chafe for discovering and reporting this) - (changed) default frequencies (220/440) added for various STK instruments
participants (1)
-
Ge Wang