FACTOID # 13: New York has America's lowest percentage of residents who are veterans.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "ChucK" also viewed:
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > ChucK
ChucK
Paradigm: multi-paradigm: procedural, object-oriented, on-the-fly programming
Appeared in: 2003
Designed by: Ge Wang and Perry Cook
Typing discipline: strong, static / dynamic
OS: Cross-platform
License: GPL
Website: http://chuck.cs.princeton.edu/

ChucK is a concurrent, strongly-timed audio programming language for real-time synthesis, composition, and performance, which runs on Mac OS X, Linux, and Windows. It is designed to favor readability and flexibility for the programmer, over other considerations such as raw performance. It natively supports concurrency and multiple, simultaneous, dynamic control rates. Another key feature is the ability to add, remove, and modify code on the fly, while the program is running, without stopping or restarting. It has a highly precise timing model, allowing for arbitrarily fine granularity. It offers composers and researchers a powerful and flexible programming tool for building and experimenting with complex audio synthesis programs, and real-time interactive control. Image File history File links ChucK_logo2. ... A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ... This does not cite any references or sources. ... This does not adequately cite its references or sources. ... Object-oriented programming (OOP) is a programming paradigm that uses objects to design applications and computer programs. ... Live coding (sometimes known as interactive programming, on-the-fly programming, just in time programming) is the name given to the process of writing software in realtime as part of a performance. ... Year 2003 (MMIII) was a common year starting on Wednesday of the Gregorian calendar. ... Perry R. Cook (b. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... In computing, strongly-typed, when applied to a programming language, is used to describe how the language handles datatypes. ... On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... It has been suggested that Maintenance OS be merged into this article or section. ... A cross-platform (or platform independent) programming language, software application or hardware device works on more than one system platform (e. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... The GNU logo The GNU General Public License (GNU GPL or simply GPL) is a widely-used free software license, originally written by Richard Stallman for the GNU project. ... A website (alternatively, Web site or web site) is a collection of Web pages, images, videos and other digital assets that is hosted on one or several Web server(s), usually accessible via the Internet, cell phone or a LAN. A Web page is a document, typically written in HTML... A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. ... Mac OS X (official IPA pronunciation: ) is a line of proprietary, graphical operating systems developed, marketed, and sold by Apple Inc. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... To meet Wikipedias quality standards, the lead section of this article may need to be expanded. ... The Dining Philosophers, a classic problem involving concurrency and shared resources In computer science, concurrency is a property of systems in which several computational processes are executing at the same time, and potentially interacting with each other. ... In relation to computer technology, on the fly describes activities that develop or occur dynamically rather than as the result of something that is statically predefined. ... Audio synthesis is the art and science of generating audio signals. ...


ChucK is free software distributed under GPL. Clockwise from top: The logo of the GNU Project (the GNU head), the Linux kernel mascot Tux the Penguin, and the FreeBSD daemon Free software is a term coined by Richard Stallman and the Free Software Foundation[1] to refer to software that can be used, studied, and modified without... The GNU logo For other uses of GPL, see GPL (disambiguation). ...

Contents

Language features

Parallel programming (also concurrent programming), is a computer programming technique that provides for the execution of operations concurrently, either within a single computer, or across a number of systems. ... Live coding (sometimes known as interactive programming, on-the-fly programming, just in time programming) is the name given to the process of writing software in realtime as part of a performance. ... Musical Instrument Digital Interface, or MIDI, is a system designed to transmit information between electronic musical instruments. ... OpenSound Control (OSC) is a communication protocol for computers, sound synthesizers, and other multimedia devices. ... In computing, strongly-typed, when applied to a programming language, is used to describe how the language handles datatypes. ... The Synthesis Toolkit (STK) is a open source API for real time audio synthesis with an emphasis on classes to facilitate the development of physical modelling synthesizers. ... In computer science, a virtual machine is software that creates a virtualized environment between the computer platform and its operating system, so that the end user can operate software on an abstract machine. ... Synthesizer as used in music, is a term derived from a Greek word syntithetai < synthesis (συντίθεται < σύνθεσις) and is used to describe a device capable of generating and/or manipulating electronic signals for use in music creation, recording and performance. ... An illustration of Java source code with prologue comments indicated in red and inline comments in green. ...

Current limitations

The ChucK programming language is relatively young and undergoing significant development. Consequently, there are some features that are not yet included in the language. February 2007 is the second month of that year and has yet to occur. ...


Such features include:

String functions are used in computer programming languages to manipulate a string or query information about a string (some do both). ... A namespace is a context in which a group of one or more identifiers might exist. ...

Code example

(The following is a simple chuck program that generates sound and music. See more examples here)

 // our signal graph (patch) SinOsc s => JCRev r => dac; // set gain .2 => s.gain; // set dry/wet mix .1 => r.mix; // an array of pitch classes (in half steps) [ 0, 2, 4, 7, 9, 11 ] @=> int hi[]; // infinite time loop while( true ) { // choose a note, shift registers, convert to frequency Std.mtof( 45 + Std.rand2(0,3) * 12 + hi[Std.rand2(0,hi.cap()-1)] ) => s.freq; // advance time by 120 ms 120::ms => now; } 

References

  • [1] Wang, G. and P. Cook. 2003. "ChucK: A concurrent, on-the-fly audio programming language." Proceedings of the International Computer Music Conference.
  • [2] Wang, G. and P. Cook. 2004. "On-the-fly programming: Using code as an expressive musical instrument." In Proceedings of the International Conference on New Interfaces for Musical Expression.
  • [3] Wang, G. and P. Cook. 2004. "The Audicle: A context-sensitive, on-the-fly audio programming environ/mentality." In Proceedings of the International Computer Music Conference.
  • [4] Wang, G., A. Misra, A. Kapur, and P. Cook. 2005. " Yeah ChucK it! => Dynamic, controllable, interface mapping" In Proceedings of the International Conference on New Interfaces for Musical Expression.
  • [5] Wang, G., P. Cook, and A. Misra. 2005. "Designing and implementing the ChucK programming language." In Proceedings of the International Computer Music Conference.
  • [6] Wang, G., R. Fiebrink, and P. Cook. 2007. "Combining analysis and synthesis in the ChucK programming language." In Proceedings of the International Computer Music Conference.

See also

Free software Portal

Image File history File links This is a lossless scalable vector image. ... Software audio synthesis environments typically consist of an audio programming language (which may be graphical) and a user environment in which to design/run the language. ...

External links

  • ChucK homepage
  • language specification
  • ChucK community
  • Princeton SoundLab
  • ChucK at TOPLAP (A Wiki)
  • PLOrk : heavy ChucK users

  Results from FactBites:
 
Chucks Steak House (330 words)
Chuck graduated from the Cornell Hotel and Restaurant School in 1956, and then moved to Hawaii, and in 1959, opened the first of a number of restaurants that bear his name in Waikiki.
It was then that Chuck and his partners opened the first of a number of Chuck's Steak Houses that stretch from California to the East Coast.
Today, Chuck is still involved in 29 restaurants stretching from Guam and Hawaii in the Pacific, to the East Coast.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m