Introduction to Programming for Musicians and Digital Artists

开始时间: 04/22/2022 持续时间: Unknown

所在平台: CourseraArchive

课程类别: 计算机科学

大学或机构: California Institute of the Arts(加州艺术学院)

授课老师: Ajay Kapur

课程主页: https://www.coursera.org/course/chuck101

课程评论:没有评论

第一个写评论        关注课程

课程详情

The course, lecture, and examples build on each other to teach the fundamentals of programming in general (logic, loops, functions, objects, classes) and also deals with advanced topics including multi-threading, events and signals.  Throughout the course, students create meaningful and rewarding expressive digital “instruments” that make sound and music in direct response to program logic.  The ChucK language provides precise high-level control over time, audio computation, and user interface elements (track pad, joysticks, etc.).  ChucK is used (unknowingly in most cases, via SMule Apps) by millions of users throughout the world, and is the backbone of dozens of academic programs and laptop orchestras.  Learning to program using ChucK, through the musical examples provided in this course, will prepare students to program in C++, Java, and other languages. There will be special guest lectures from creators of the ChucK language, Dr. Ge Wang (Stanford University) and Dr. Perry R. Cook (Princeton University).

课程大纲

WEEK 0: Introduction

0.1 Interaction Design

0.2 New Musical Instruments

0.3 Why do Digital Artists need to learn how to program?

0.4 Why Open source?

0.5 Why ChucK?


WEEK 1: Basics: Sound, Waves, and ChucK Programming

1.1 Introduction to Sound

1.2 Programming Basics

1.3 Timing

1.4 Control Structures

1.5 Example: Making Sound with Oscillators


WEEK 2: Libraries and Arrays

2.1 Libraries

2.2 Arrays

2.3 Example: Playing a Melody


WEEK 3: WaveTable Synthesis & Sound File Manipulation

3.1 Wavetable Synthesis

3.2 SndBuf

3.3 Example: Making a Sequencer


WEEK 4: Functions

4.1 Declaration

4.2 Advanced Techniques

4.3 Example: Making Chords


WEEK 5: Unit Generators

5.1 Global Special Unit Generators

5.2 Signal Generators:

5.3 Oscillators

5.4 Gain

5.5 FM and Filter Based Synthesis

5.6 Physical Models

5.7 Audio Effects

5.8 Filters

5.9 Envelopes

5.10 Example: Create a Band


WEEK 6: Multi-Threading and Concurrency

6.1 Parallel Processing, Concurrency

6.2 Machine Commands

6.3 A Software Architecture

6.4 Sporking

6.5 Example: Synchronization


WEEK 7: Objects and Classes

7.1 Objects

7.2 Classes

7.3 Example: Build a Smart Mandolin Player


WEEK 8: Polling vs. Events

8.1 Polling

8.2 Events

8.3 Common HCI Input Devices

8.4 Example: Play a Flute with your Keyboard


课程评论(0条)

课程简介

This course provides a complete introduction to programming for digital musicians and artists, in the real-time multimedia language ChucK. Rich with practical examples and pointers to additional web resources, it can be understood by novices wishing to learn to program interactive arts systems.

课程标签

加州艺术学院

2人关注该课程

主题相关的课程

Creativity, Innovation, and Change 关注

Computational Photography 关注

Introduction to Guitar 关注

Crafting an Effective Writer: Tools of the Trade 关注

First-Year Composition 2.0 关注

Inspiring Leadership through Emotional Intelligence 关注

Startup Engineering 关注

Think Again: How to Reason and Argue 关注

Introduction to Public Speaking 关注

JavaScript 关注