The old computing is about what computers can do - PowerPoint PPT Presentation

About This Presentation
Title:

The old computing is about what computers can do

Description:

tailored for real-time audio synthesis ... you are responsible for keeping up with time. time == sound. 14. Concurrency ... (running with sonic scissors) 19 ... – PowerPoint PPT presentation

Number of Views:146
Avg rating:3.0/5.0
Slides: 30
Provided by: gew6
Category:

less

Transcript and Presenter's Notes

Title: The old computing is about what computers can do


1
The old computing is about what computers can
dothe new computing is about what people can
do. - Ben Shneiderman
2
The old computing is about what computers can
dothe new computing is about what people can
do. - Ben Shneiderman
3
Motivation
  • programming the passage of time
  • specifying / controlling
  • reasoning about time in code
  • flexible granularity
  • concurrency
  • parallel
  • easy to program
  • precise granular
  • gain insight about audio programs
  • make audio programming more accessible
  • further enable rapid experimentation

4
Code Musical instrument
5
(No Transcript)
6
ChucK Facts
  • text-based, general-purpose programming
  • tailored for real-time audio synthesis and
    analysis
  • open-source, cross-platform
  • designed from the ground-up
  • high-level syntax, low-level control

7
Chistory-1
8
Chistory-2
9
Chistory-3
10
Flexibility, readability trumps performance
11
Core Language Features
12
gt
13
Controlling Time
Impulse i gt dac
  • // infinite time loop
  • while( true )
  • // set the next sample
  • 1.0 gt i.next
  • // advance time
  • 100ms gt now

demo
14
Advancing Time
  • time stands still until you advance it
  • two semantics for advancing time
  • chuck to now
  • 1second gt now
  • wait on event
  • event gt now
  • you are responsible for keeping up with time
  • time sound

15
Concurrency
  • implemented using shreds
  • resemble non-preemptive threads
  • automatically synchronized by time!
  • can work at low and high level

16
Strongly-timed
  • what it means
  • programs have precise control over their own
    timing
  • sample-synchronous control may be asserted at any
    time
  • for any unit generator
  • transfer primary control over time
  • from implicit scheduling to the language
  • program flow time flow
  • staying in the language
  • express more from within the language
  • provide natural modularity for on-the-fly programs

17
ChucK Virtual Machine
18
ChucK Virtual Machine
Code (foo.ck)
Code (foo.ck, bar.ck)
19
On-the-fly Programming(running with sonic
scissors)
20
(n.) the act of modifying the
logic and structure of a program during runtime,
for the purpose of rapid experimentation, and
exerting expressive control. (also live coding)
on-the-fly programming
21
  • The League of Automatic Composers (1974)

22
demo
23
The Audicle
24
Hmm-1
Editor
25
Hmm-2
Editor
Debugger
Compiler
VM
26
demo
27
Language Design Solutions
  • make time itself computable
  • time and duration native types
  • allow a program to be self-aware in time
  • allow code to schedule itself
  • synchronize concurrency by time or by events
  • automatically (by time)
  • manually (using events, also sample-synchronous)
  • hide the mundane, expose true control.
  • do it on-the-fly!

28
  • http//chuck.cs.princeton.edu/

29
Write a Comment
User Comments (0)
About PowerShow.com