https://github.com/pchdev/faust-dsp-ujm
UJM DIGICREA(1) + CCNT(3) - Faust & DSP class contents
https://github.com/pchdev/faust-dsp-ujm
Last synced: 27 days ago
JSON representation
UJM DIGICREA(1) + CCNT(3) - Faust & DSP class contents
- Host: GitHub
- URL: https://github.com/pchdev/faust-dsp-ujm
- Owner: pchdev
- License: mit
- Created: 2025-10-17T17:50:41.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-11-26T14:11:23.000Z (2 months ago)
- Last Synced: 2025-11-29T11:57:32.154Z (2 months ago)
- Language: Rust
- Size: 25.9 MB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Build and run the presentation
```sh
# Install the rust toolchain:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone this repository:
git clone https://github.com/pchdev/faust-dsp-ujm
# Build and run the presentation:
cd faust-dsp-ujm
cargo run --release
```
> **Note**: only tested on *Linux*, any feedback on **macOS** or **Windows** would be appreciated :-)
# Keyboard shortcuts:
- `Ctrl+space`: Next slide;
- `Ctrl+backspace`: Previous slide;
- `F4`: jump to specific slide;
- `Up/Down` arrows for navigating the slide paragraphs;
- `Enter` on a paragraph to see the animation (if there's one);
- `Ctrl+Shift+Left or Right`: switch between left-side and right-side windows;
- `Ctrl+Shift+Up or Down`: toggle fullscreen for right-side panels (animations/faust code);
- `Ctrl+w`: quit the presentation.
# Resources
> **Note:** the slide captures will be **updated after each class** (hopefully in a timely fashion...).
- **Class examples**: in the `examples/` directory.
- **Slide captures**: [slides.pdf](slides.pdf)
- **Faust IDE**: [https://faustide.grame.fr](https://faustide.grame.fr)
- **Faust Playground**: [https://faustplayground.grame.fr/](https://faustplayground.grame.fr/)
- **Faust Manual**: [https://faustdoc.grame.fr/manual/introduction/](https://faustdoc.grame.fr/manual/introduction/)
- **Faust Syntax Documentation**: [https://faustdoc.grame.fr/manual/syntax/#faust-syntax](https://faustdoc.grame.fr/manual/syntax/#faust-syntax)
- **Faust Libraries Documentation**: [https://faustlibraries.grame.fr/libs/](https://faustlibraries.grame.fr/libs/)
- **Faust Discord**: [https://discord.gg/qPPcXzJdmR](https://discord.gg/qPPcXzJdmR)
- **Faustgen downloads**: [https://github.com/grame-cncm/faust/releases/tag/2.81.10](https://github.com/grame-cncm/faust/releases/tag/2.81.10)
- *Note*: faustgen binaries are listed in **Assets** sections, choose the file to download ***depending on your OS*** (*Windows*, *macOS*) & architecture (*win64*, *macOS x64* (old machines), *macOS arm64* (newer mac laptops)).
# Evaluation rules
- **Deadline Monday, January 12th 2026** (by **midnight**)
- You can send me the code (*as a .zip file*) by e-mail: pierre.cochard@inria.fr
- Code should **be documented**, and **have a description**
- If you have any question, you can send me an e-mail: pierre.cochard@inria.fr
- or contact me on the **Faust discord** (link above).
## .zip file
- .zip file should contain at least the Faust code in `.dsp` extension.
- and all other relevant files / pieces of code (Max patchers, etc.)
- you can set your name and description above your Faust code, like so:
```rust
import("stdfaust.lib");
declare author "Pierre Cochard";
// Name of the project: Analog synthesizer
// Description of the project:
// Emulation of the Prophet-3 synthesizer.
// It should be exported as a VST instrument.
// MIDI Notes should be sent from enclosed Max patch
// etc.
my_faust_code = ...;
process = my_faust_code
```
## License
Copyright (c) Pierre Cochard
This project is licensed under the MIT license ([LICENSE] or )
[LICENSE]: ./LICENSE