Skip to content

Commit

Permalink
added arduino and sc slides
Browse files Browse the repository at this point in the history
  • Loading branch information
gufett0 committed Dec 12, 2024
1 parent a2eac84 commit 095e975
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions embeddedprogramming2.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ theme: default
paginate: true
---

# ACTAM - Embedded programming with Advanced tools
# ACTAM - Advanced tools for embedded music programming
## 12/12/2024

---
Expand All @@ -21,7 +21,7 @@ paginate: true
* Perfect for interactive music and sound projects
* Check these out https://www.arduino.cc/education/arduino-instruments/

--
---

## Available Boards
https://www.arduino.cc/en/hardware
Expand All @@ -32,7 +32,7 @@ https://www.arduino.cc/en/hardware
- Ideal for complex audio synthesis
* **Arduino Mega**: More I/O pins for multiple controllers/sensors

--
---

## How can I program it?

Expand All @@ -45,7 +45,7 @@ Get started with [this IDE](https://docs.arduino.cc/software/ide-v2/tutorials/ge

* A good way to start: https://www.tomshardware.com/how-to/use-arduino-ide-2

--
---

## Basic tone generation

Expand All @@ -61,12 +61,9 @@ void loop() {
}
```

## Mozzi Library Example
Advanced synthesis using the Mozzi library:

--
---

## Arduino as MIDI Controller
### Arduino as MIDI Controller
```cpp
void setup() {
Serial.begin(9600);
Expand All @@ -79,9 +76,9 @@ void loop() {
delay(10);
}
```
--
---

## Arduino with Web Audio API
### Arduino with Web Audio API
```javascript
// Receiving Arduino data via Web Serial API
async function connectArduino() {
Expand All @@ -97,17 +94,17 @@ async function connectArduino() {
}
}
```
--
---

## What's SuperCollider? Isn't SonicPi enough?

* lower level language (SCLang)
* real-time audio server (spectral analysis, manipulation, and resynthesis with FFT)
* can define your own synthesis algorithms

--
---

## Basic SuperCollider Syntax
### Basic SuperCollider Syntax

```supercollider
(
Expand All @@ -124,7 +121,7 @@ x.set(\freq, 880);
x.free; // Stop
```

--
--#

## SuperCollider getting Arduino Data

Expand All @@ -145,7 +142,7 @@ r = Routine({
}).play;
```

## Arduino Code for SuperCollider
### Arduino code for SuperCollider
Same as for web audio api

```cpp
Expand All @@ -162,7 +159,7 @@ void loop() {
}
```

--
---

## Project Ideas & Applications

Expand Down

0 comments on commit 095e975

Please sign in to comment.