Dear all,
chuck-1.2.1.2 (dracula) is available:
http://chuck.cs.princeton.edu/
This release introduces dynamic auto-growing arrays, various fixes,
enhancements, and likely new and better bugs/features (see below for a
full list). Rebecca and I have added additional UAnae (unit analyzers,
see http://chuck.cs.princeton.edu/uana/) in preparation for an all-new
upcoming toolkit (following in the footsteps of S.M.E.L.T., see
http://smelt.cs.princeton.edu/), which Rebecca will announce soon!
A new miniAudicle is on the way from Spencer, as well as an updated
audicle version. As always, let us know if you encounter unexpected
fishiness (and expected fishiness as well).
Many many thanks to Kassen, Kijjaz, Eduard, folks on the electro-music
chuck forum, chuck-users, PLOrk, SLOrk, students and staff at CCRMA and
Princeton, Fernando Lopez-Lezcano, Carr Wilkerson, and rest of the
chuck community for helping to make this release happen!!
Thanks and Happy ChucKing, UpChucKing!
Best,
chuck team
CHANGES
---
1.2.1.2
- (added) dynamic, resizable arrays
.size( int ) resizes array; .size() returns current size()
<< operator appends new elements into array
.popBack() pops the last element of the array, reducing
size by 1
.clear() zero's out elements of the array
(see examples/array/
array_dyanmic.ck
array_resize.ck)
- (added) new UAna: FeatureCollector
turns UAna input into a single feature vector, upon
.upchuck()
new UAna: Flip
turns audio samples into frames in the UAna domain
new UAna: pilF
turns UAna frames into audio samples, via overlap add
new UAna: AutoCorr
computes the autocorrelation of UAna input
new UAna: XCorr
computes the cross correlation of the first two UAna input
- (added) UGen.isConnectedTo( Ugen ) // is connected to another ugen?
- (added) UAna.isUpConnectedTo( UAna ) // is connected to another uana
via =^?
- (added) int Shred.done() // is the shred done?
int Shred.running() // is the shred running?
- (added) int Math.ensurePow2( int )
- (added) Math.INFINITY, Math.FLOAT_MAX, Math.FLOAT_MIN_MAG,
Math.INT_MAX
- (added) TriOsc.width(), PulseOsc.width(), SawOsc.width(),
SqrOsc.width()
- (added) Std.system(string) is now disabled by default, to enable:
specify the --caution-to-the-wind command line flag, for
example:
%> chuck --caution-to-the-wind --loop
- (removed) SqrOsc.width( float ), width is always .5
- (fixed) it's now (again) possible to multiply connect
two UGen's
- (fixed) OS X only: sudden-motion-sensor HID no longer
introduces audio dropouts below peak CPU usage
due to added centralized polling;
added static Hid.globalPollRate( dur ) to control
the central SMS polling's rate
- (fixed) Windows only: implementation of array via STL
vector::reserve() has been replaced with a more compatible
approach (see chuck_oo.cpp)
- (fixed) dac amplitude no longer halved!
NOTE: this increases the gain from before by
a factor of 2, or roughly 6 dB!! BEWARE!!
- (fixed) corrected order of shred/ugen dealloc in VM destructor,
preventing a potential crash during shutdown
- (fixed) UAna can now upchuck() at now==0
- (fixed) STK Chorus UGen now has reasonable defaults
.max( dur, float ) for initializing to delay/depth limits
.baseDelay( dur ) sets current base delay
- (fixed) dur +=> now no longer crashes
- (fixed) ADSR now returns attackTime, decayTime, and releaseTime that
corresponds to the duration-based setting functions
(internally multiplied by SR) (thanks Eduard)
- (fixed) STK Mandolin no longer plays without explicit noteOn
- (fixed) unsporked Shred instances now given id == 0 (thanks Kassen)
- (fixed) typos in ugen_xxx.cpp and chuck-specific rtaudio.cpp (/moudi)
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
Hello,
miniAudicle-0.1.3.7 (alpha) is now available.
http://audicle.cs.princeton.edu/mini/
This release fixes an occasionally fatal bug on Linux and also
includes general performance updates. This release is also
integrated with chuck-1.2.0.8, including command line argument
support within miniAudicle. Additionally, a Preferences window has
been added to Windows and Linux versions to easily allow dynamic
reconfiguration of the virtual machine and editor. For Linux users,
miniAudicle now supports wxWidgets-2.8, with the caveat that GTK+
2.10 is also required (due to a bug in miniAudicle) (compiling
miniAudicle with wxWidgets-2.6 still works with any GTK+ 2).
Special thanks to Imre Kéri, Atte Andre Jensen, Kassen, and Larry
Simon for their bug requests, feature reports, and other help with
this release.
Please let us know about any problems, bugs, feature requests, etc.
thanks,
miniAudicle team
---
0.1.3.7
- (added)(all) chuck-1.2.0.8
- (added)(all) command line argument support
- (added)(Windows,Linux) graphical preferences interface
- (added)(Windows,Linux) limited wxWidgets 2.8 support
- (added)(Linux) ChucK/miniAudicle logo now associated
with application windows
- (added)(Mac) smart indentation (including enable/disable
Prefs option) (not so smart sometimes)
- (added)(Mac) buffer size Preferences option
- (added)(Mac) Text, Gauge UI elements
- (added)(Mac) enable/disable line numbers Preferences option
- (fixed)(Linux) crash closing document windows
- (fixed)(Mac) line numbers now scroll dynamically and
continue to bottom of document view
- (fixed)(Mac) VM and console monitors update when mouse is
held down
- (fixed)(Mac) improved console monitor performance
Dear all,
chuck-1.2.0.8 (dracula) is available:
http://chuck.cs.princeton.edu/
Many goodies, feature/bug enhancements, better bugs and more! A major
HID backend update by Spencer (plus OS X enhancements: access to sudden
motion sensor, hot plugging, etc.), "Dynamics": a Companimuckergate
(compressor / expander / limiter / ducker / gate) finally makes it in
(thanks to Matt Hoffman and Graham Coleman!!). Masterman Dan Trueman
brings his totally wild live/granular sampling UGen to ChucK via the
"LiSa" UGen, and ports the classic GenX family from RTcmix. Much bug
fixins. Oh, one can finally concatenate strings (warning: this may
introduce small memory leaks in the process until garbage collection is
finished - so use with care and hopefully outside of tight inner loops).
Massive: Spencer has gone through and updated the majority of the
documentation (manual and online) and additions will continue to be made!
As always, let us know if you encounter unexpected fishiness!
Also...
---
* new miniAudicle (Spencer will announce soon!)
* chuck~ for Max/MSP by Brad Garton, and for PD by Martin Robinson
- http://music.columbia.edu/~brad/chuck~/
- https://lists.cs.princeton.edu/pipermail/chuck-users/2007-March/001619.html
* S.M.E.L.T.!!! by Rebecca and Ge
- http://smelt.cs.princeton.edu/
---
A TON of thanks to Kassen, Larry Simon, Jim Bumgardner, Brad Garton,
Martin Robinson, Graham Coleman, Bruce Murphy, Scott Wheeler, Eduard
Aylon, Kijjaz, Matjutsu, and the rest of the chuck community for
invaluable contributions to this release!!
Thanks and Happy ChucKing!
Best,
chuck team
---
1.2.0.8
- (added) command line argument support
e.g. %> chuck foo.ck:1:hello bar:2.5:"with space"
also works with OTF commands
e.g. %> chuck + foo:1:yo
also works with Machine.add( ... )
e.g. // code
Machine.add( "foo:1:2:yo" );
(see examples/basic/args.ck for accessing from code)
- (added) OS X: watchdog enabled
win32: watchdog implemented and enabled
(combats chuck infinite empty loop implosion)
- (added) OTF server/listener now ON by default...
to enable, specify --loop or --server
to disable, specify --standalone
- (added) new UGens:
--------
Dynamics: dynamics processor (compressor, expander, etc.)
(author Matt Hoffman and Graham Coleman)
(see examples/special/)
GenX: classic + new lookup table functions base class
(author Dan Trueman, ported from RTCMix)
(see examples/special/)
float .lookup( float ) : lookup table value
float[] .coeffs( float[] ) : load the table
Gen5 (extends GenX)
Gen7 (extends GenX)
Gen9 (extends GenX)
Gen10 (extends GenX)
Gen17 (extends GenX)
CurveTable (extends GenX)
WarpTable (extends GenX)
LiSa: (Li)ve (Sa)mpling!
(author Dan Trueman, partly based on Dan's munger~)
--------
- (added) (prototype) string catenation
(for now will leak memory! use wisely!!!)
e.g. // expression
"a" + "b"
"a" + 45
"a" + 5.1
"postfix" +=> str;
- (added) string escape sequences
\0 \n \t \a \" \b \f \r \v \\
\nnn (3 digit octal ascii)
- (added) new Objects:
--------
StringTokenizer: uh string tokenizer (by whitespace)
(use to be hidden PRC object)
see examples/string/token.ck
ConsoleInput: interim console input (until file I/O)
(use to be hidden Skot object)
see examples/string/readline.ck
--------
- (api) API additions
-------- (also see API modifications below)
ADSR: dur attackTime()
dur decayTime()
float releaseTime( float ) -> dur releaseTime( dur )
--------
- (api) deprecated --> new classes
--------------------------
HidIn --> Hid
- (fixed) adc.last() now returns correct value (was returning 0)
- (fixed) array is now subclass of Object
- (fixed) accessing null array no longer crashes (instead: exception)
- (fixed) allow: 0 length float arrays
- (fixed) check for negative array size
- (fixed) accessing null map no longer crashes (instead: exception)
- (fixed) connecting null UGen references no longer crashes
- (fixed) trivial (null == null) no longer evaluated as string
- (fixed) strict (x,y) => z type checking
- (fixed) UGens no longer able to make duplicate connections
- (fixed) && now terminates early if an operand evaluates to 0
|| terminates early if an operand evaluates to 1
- (fixed) bug accessing static members of built-in classes
- (fixed) OscSend.startMsg no longer silently fails when
using a single string message specification
- (fixed) Math.atan2 now accepts the proper arguments
- (fixed) increased OTF command network fail-safe measures
- (fixed) STK BlitSquare now produces correct frequency
(applied fix from STK release)
- (fixed) no longer spontaneously crashes when HidIn and
other event based input mechanisms are firing rapidly
- (fixed) using non-static variables from inside static functions
- (fixed) variables must be declared before being used
Greetings!
This will be a blast => see below. Hope to see you there!
Please spam this to others that might be interested.
Best,
Ge!
P.S. chuck-1.2.0.8 is on its way with many fun and destructive new
toys...
-----
Stanford | CCRMA Summer Workshop:
Composing and Coding for Laptop Ensemble (CCL)
2 weeks
July 23 - August 3, 2007
Dan Trueman and Ge Wang, with Perry Cook
Emphasizing hands-on approaches, this workshop will address the
challenges of making music in laptop ensembles. At the core of the
workshop will be a set of meta-instruments (laptops with 6-channel
hemispherical speakers, associated audio gear, sensors, and
controllers) from the Princeton Laptop Orchestra (PLOrk, see
http://plork.cs.princeton.edu/). Together, we will act as performers,
researchers, composers, and software developers, focusing our attention
on instrument design, composition, and music making with these
instruments. The challenges are many: what kinds of sounds can we
create? how can we physically control these sounds? how do we compose
with these sounds? There are also social questions with musical and
technical ramifications: how do we organize ourselves in this context?
with a conductor? via a wireless network? And so on.
Morning sessions will focus primarily on instrument design,
composition, and coding issues using the languages ChucK and Max/MSP.
Experience with these languages, or programming languages in general,
is not required but will be beneficial; depending on the makeup of the
group, we may at times divide into smaller groups to teach
experience-appropriate skills as needed. We will look at how various
composers and engineers have addressed the challenges posed by laptop
ensembles and brainstorm new approaches. Afternoon sessions will
emphasize music-making of already existing pieces and new pieces
created by workshop members. Graduates of both the PID and DSP
workshops may find this a useful workshop for applying what they have
learned.
http://ccrma.stanford.edu/workshops/2007/http://plork.cs.princeton.edu/http://chuck.cs.princeton.edu/
---
Thanks!!!
Hello,
miniAudicle-0.1.3.6 (alpha) is now available.
http://audicle.cs.princeton.edu/mini/
This release fixes a major threading bug in miniAudicle-0.1.3.5 for
Linux, and is a recommended upgrade for Linux users. Furthermore,
randomly occurring errors when using user interface elements on OS X
have been eliminated. Additionally, chuck-1.2.0.7 has been
integrated into this release. There are also several smaller changes
as noted below.
Please let us know about any problems, bugs, feature requests, etc.
thanks,
miniAudicle team
---
0.1.3.6
- (fixed)(Linux) massive stability improvements
- (fixed)(Mac) resolved spurious 'undefined type' errors when
using MAUI elements
- (fixed)(Mac) Virtual Machine monitor CPU usage improvments
- (fixed)(Mac) console monitor speed/performance improvements
- (changed)(Linux,Windows) ChucK menu items now use same key
bindings as miniAudicle OS X
- (added)(all) chuck-1.2.0.7 integrated
- (added)(Linux,Windows) ability to close and recall console
monitor and virtual machine monitor
- (removed)(Linux,Windows) console monitor buffer limit
ignored (too slow)
Dear all,
chuck-1.2.0.7 (dracula) is available:
http://chuck.cs.princeton.edu/
API deprecations. In the interest of more consistent naming, we have
deprecated some object names. By default, when a deprecated name, such
as 'sinosc', is encountered, a warning will be issued, such as
'line(1): deprecated: 'sinosc' --> use: 'SinOsc''. The behavior should
be otherwise unchanged. We've added a --deprecate flag that allows you
to stop, warn, or ignore upon encountering a deprecated item. The
default is 'warn'.
Thanks to all who discussed on chuck-users and forum and contributed to
the many additions and changes in this release. They include Kassen,
Brian, Matt, Jukka, Eduard, Atte, David Powers, Graham Coleman and many
others. Also thanks to Ananya for much documentation work. A summary
can be found at the end of this message. Please let us know if you run
into any issues.
Thanks and Happy ChucKing!
Best,
chuck team
---
1.2.0.7
- (api) deprecated --> new classes
--------------------------
sinosc --> SinOsc
triosc --> TriOsc
sqrosc --> SqrOsc
sawosc --> SawOsc
pulseosc --> PulseOsc
phasor --> Phasor
osc --> Osc
noise --> Noise
cnoise --> CNoise
impulse --> Impulse
step --> Step
halfrect --> HalfRect
fullrect --> FullRect
gain --> Gain
zerox --> ZeroX
delayp --> DelayP
sndbuf --> SndBuf
pan2 --> Pan2
mix2 --> Mix2
onepole --> OnePole
onezero --> OneZero
polezero --> PoleZero
twopole --> TwoPole
twozero --> TwoZero
biquad --> BiQuad
**** --> ****
std --> Std
math --> Math
machine --> Machine
--------------------------
- (added) --deprecate:X flag
X can be stop, warn, or ignore - default is warn
- (added) STK BiQuad get functions pfreq, prad, zfreq, zrad
- (added) ADSR functions:
void .set( dur a, dur d, float s, dur r );
void .set( float a, float d, float s, float r );
- (added) new UGens (adapted from SC3 Server, Pure Data, CSound)
--------------------------
LPF : resonant lowpass filter (2nd order butterworth)
HPF : resonant highpass filter (2nd order butterworth)
BPF : bandpass filter (2nd order butterworth)
BRF : bandreject filter (2nd order butterworth)
ResonZ : resonant filter (BiQuad with equal-gain zeros)
FilterBasic : base class to above filters
--------------------------
- (added) new HidIn static variables for HidMsg message and device
types (spencer)
- (added) HidMsg fields to determine device type and number (spencer)
- (added) HidMsg functions with capitalization rather than
underscores (spencer)
(underscored functions deprecated)
- (added) .period for all oscillators
- (fixed) floating point denormals no longer cause potentially
massive CPU usage on intel processors, this includes
BiQuad, OnePole, TwoPole, PoleZero, JCRev, PRCRev, NRev
- (fixed) STK Echo.max no longer gives incorrect warnings
- (fixed) linux makefiles now respects CC/CFLAGS/CXX (Cedric Krier)
- (fixed) SinOsc/TriOsc/PulseOsc/SqrOsc/Phasor.sync now unified:
.sync == 0 : sync frequency to input
.sync == 1 : sync phase to input
.sync == 2 : fm synth
|
NOTE: the above changes may break/affect existing patches
using TriOsc, PulseOsc, or SqrOsc
- (fixed) TriOsc/PulseOsc/SqrOsc phase consistent with convention
- (fixed) ADSR now handles keyOff() before sustain state
- (fixed) ADSR now correctly inherits Envelope
Greetings!
audicle-1.0.0.3 (quintesson) is available:
http://audicle.cs.princeton.edu/
This is the first release of the audicle source code (what
horrors...), which will finally enable linux users to crash their
systems using the Audicle.
Additionally, there is now formal documentation for the Audicle -
thanks to the great efforts of Scott Elmegreen and Ananya Misra:
http://audicle.cs.princeton.edu/doc/
Major thanks to the brave folks who have used the Audicle so far and
those who have contributed to the wiki Audicle documentation effort
and also suggested improvements. They include Graham Coleman, Shawn
Shaknitz, Scot Gresham-Lancaster, Gary Scavone, and the wonderful
people of PLOrk (http://plork.cs.princeton.edu/people.html).
Lastly, please email us or post to [chuck-users] or [audicle] with
questions, issues, insights, and diatribes.
http://chuck.cs.princeton.edu/community/
Thanks! Happy ChucKing.
Best,
audicle team
(Perry, Phil, Ananya, Spencer, Scott, Ge, etc...)
Hello,
miniAudicle-0.1.3.5 (alpha) is now available.
http://audicle.cs.princeton.edu/mini/
This release fixes a major bug in miniAudicle-0.1.3.4's audio device
handling, in which starting or using real-time audio would crash
miniAudicle on a wide range of systems, especially Intel-based Mac
and Windows systems. There are also a few smaller bug fixes. This
is a recommended (possibly necessary) upgrade for Intel OS X and
Windows users who are using 0.1.3.4.
Special thanks to Akihiro Kubota and Scott Davidson for their vital
debugging help.
As always please let us know about any problems, bugs, feature
requests, etc., particularly Intel OS X users (some bugs may yet
persist).
thanks,
miniAudicle team
---
0.1.3.5
- (fixed)(all) fixed nasty bug where real-time audio would fail
if more
than one audio device was specified as default and one or more
of the
default devices had only input or only output channels
- (fixed)(Mac) fixed threading issue which caused MAUI LEDs to
erratically
not light or unlight as directed
- (changed)(Win32,Linux) changed default font size for document
window and
console monitor
- (changed)(Win32,Linux) disabled network OTF thread
- (changed)(Win32,Linux) changed syntax highlighting colors
- (added)(all) console monitor now has limited, user-adjustable
scrollback
buffer size
Dear all,
Thanks to the excellent efforts of Spencer, there are now chuck
"universal" binaries (for MacOS X only) that work natively on both
powerpc and intel.
http://chuck.cs.princeton.edu/release/
It's also possible now to build u.b. from source. The version number
is still 1.2.0.6. However, you should see extra information if you
query for version - such as:
> chuck --version
chuck version: 1.2.0.6 (dracula)
exe target: mac os x : universal binary
http://chuck.cs.princeton.edu/
This new information will be available for all platforms, including on
linux, where the information also states the audio subsystem used
(alsa/jack/oss).
Please let know of any issues via email or on chuck-users.
Thanks and keep on ChucKin'
Best,
chuck team