Skip to content

Commit b684040

Browse files
author
David Braun
committed
update faust and README.md
1 parent d2e7d93 commit b684040

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

README.md

+15-11
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ TD-Faust is an integration of [FAUST](https://faust.grame.fr) (Functional Audio
55

66
* FAUST code can be compiled "just-in-time" and run inside TouchDesigner.
77
* Tested on Windows and macOS.
8+
* Automatically generated user interfaces of native TouchDesigner elements based on the FAUST code.
89
* Up to 256 channels of input and 256 channels of output.
910
* Pick your own sample rate.
1011
* Support for all of the standard [FAUST libraries](https://faustlibraries.grame.fr/) including
1112
* * High-order ambisonics
1213
* * WAV-file playback
1314
* * Oscillators, noises, filters, and more
14-
* Automatically generated user interfaces of native TouchDesigner elements based on the FAUST code.
1515
* MIDI data can be passed to FAUST via TouchDesigner CHOPs or hardware.
1616
* Support for [polyphonic MIDI](https://faustdoc.grame.fr/manual/midi/).
1717
* * You can address parameters of individual voices (like [MPE](https://en.wikipedia.org/wiki/MIDI#MIDI_Polyphonic_Expression)) or group them together.
@@ -32,15 +32,17 @@ Demo:
3232

3333
### Windows
3434

35-
Run the latest `win64.exe` installer from FAUST's [releases](https://github.com/grame-cncm/faust/releases). After installing, copy `C:/Program Files/Faust/share/faust/` to `C:/Program Files/Derivative/TouchDesigner/share/faust/`. If you're using a TouchDesigner executable in a different location, the destination path in this step would be different such as `C:\Program Files\Derivative\TouchDesigner.2021.38110\share\faust`.
35+
Run the latest `win64.exe` installer from FAUST's [releases](https://github.com/grame-cncm/faust/releases). After installing, copy `C:/Program Files/Faust/share/faust/` to `C:/Program Files/Derivative/TouchDesigner/share/faust/`. If you're using a TouchDesigner executable in a different location, the destination path in this step would be different such as `C:\Program Files\Derivative\TouchDesigner.2021.38110\share\faust`. If you want the absolute latest version of Faust, you can create this `share/faust` folder by copying from [Faust Libraries](https://github.com/grame-cncm/faustlibraries).
3636

37-
Visit TD-Faust's [Releases](https://github.com/DBraun/TD-Faust/releases) page. Download and unzip the latest Windows version. Copy `faust.dll`, `TD-Faust.dll`, and `sndfile.dll` to this repository's `Plugins` folder.
37+
Visit TD-Faust's [Releases](https://github.com/DBraun/TD-Faust/releases) page. Download and unzip the latest Windows version. Copy `faust.dll`, `TD-Faust.dll`, and `sndfile.dll` to this repository's `Plugins` folder. Open `TD-Faust.toe` and compile a few examples.
3838

3939
### macOS
4040

41-
Run the latest `.dmg` installer from FAUST's [releases](https://github.com/grame-cncm/faust/releases). If you have an M1 ("Apple Silicon"), choose `*arm64.dmg`, otherwise choose `*x64.dmg`. After installing, copy `Faust-2.X/share/faust/` to `/usr/local/share/faust`.
41+
Run the latest `.dmg` installer from FAUST's [releases](https://github.com/grame-cncm/faust/releases). If you have an M1 ("Apple Silicon"), choose `*arm64.dmg`, otherwise choose `*x64.dmg`. After installing, copy `Faust-2.X/share/faust/` to `/usr/local/share/faust`. If you want the absolute latest version of Faust, you can create this `share/faust` folder by copying from [Faust Libraries](https://github.com/grame-cncm/faustlibraries).
42+
43+
Visit TD-Faust's [Releases](https://github.com/DBraun/TD-Faust/releases) page. Download and unzip the latest macOS version. Copy `libfaust.2.dylib` and `TD-Faust.plugin` to this repository's `Plugins` folder. Open `TD-Faust.toe` and compile a few examples.
4244

43-
Due to some difficulties with codesigning, for the moment you must compile TD-Faust on your own computer.
45+
If there's a warning about the codesigning certificate, you may need to compile TD-Faust on your own computer.
4446

4547
1. Clone this repository with git. Then update all submodules in the root of the repository with `git submodule update --init --recursive`
4648
2. Install Xcode.
@@ -49,8 +51,6 @@ Due to some difficulties with codesigning, for the moment you must compile TD-Fa
4951
5. In the same Terminal window, navigate to the root of this repository and run `sh build_macos.sh`
5052
6. Open `TD-Faust.toe`
5153

52-
<!-- Visit TD-Faust's [Releases](https://github.com/DBraun/TD-Faust/releases) page. Download and unzip the latest macOS version. Copy `libfaust.2.dylib` and `TD-Faust.plugin` to this repository's `Plugins` folder. -->
53-
5454
## Tutorial
5555

5656
### Writing Code
@@ -78,11 +78,15 @@ You don't need to `import("stdfaust.lib");` in the FAUST dsp code. This line is
7878

7979
### Setup UI
8080

81-
After compiling, press the `Setup UI` button to build a UI in the `Viewer COMP`. This step will save an XML file inside a directory called `dsp_output`. It will also print out information inside the TouchDesigner console. On your operating system, you should set the environment variable `TOUCH_TEXT_CONSOLE` to 1. Then restart TouchDesigner and you'll start seeing the text console window.
81+
One great feature of TD-Faust is that user interfaces that appear in the Faust code can become [Custom Parameters](https://docs.derivative.ca/Custom_Parameters) by pressing the "Setup UI" button. Take a look at the simple Faust code below:
8282

83-
After "Setup UI" is pressed, the Faust base will create a secondary page of custom parameters titled "Control".
83+
```faust
84+
import("stdfaust.lib");
85+
volume = hslider("Volume", 1., 0., 1., ma.EPSILON);
86+
process = os.osc(440.)*volume <: _, _;
87+
```
8488

85-
In a *non-polyphonic example*, this is an example of the important printout section:
89+
After compiling this code, press the `Setup UI` button to build a UI in the `Viewer COMP`. The Faust base will create a secondary page of custom parameters titled "Control", and because of the code we've written there will be one custom Float parameter named "Volume". Setting up the UI like this works by saving an XML file inside a directory called `dsp_output`. It will also print out information inside the TouchDesigner console. On your operating system, you should set the environment variable `TOUCH_TEXT_CONSOLE` to 1. Then restart TouchDesigner and you'll start seeing the text console window. In a *non-polyphonic example*, this is an example of the important printout section:
8690

8791
<details>
8892
<summary>non-polyphonic example</summary>
@@ -186,7 +190,7 @@ Note how there is a set of parameters for each voice. All parameters can be addr
186190

187191
### Group Voices and Dynamic Voices
188192

189-
* The `Group Voices` and `Dynamic Voices` toggles matter when using [polyphony](https://faustdoc.grame.fr/manual/midi/). You should also read the `Setup UI` section above.
193+
The `Group Voices` and `Dynamic Voices` toggles matter when using [polyphony](https://faustdoc.grame.fr/manual/midi/). You should also read the `Setup UI` section above.
190194

191195
If you enable `Group Voices`, one set of parameters will control all voices at once. Otherwise, you will need to address a set of parameters for each voice.
192196

assets/README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22
Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/) applies to the following files:
33
* [60988__folktelemetry__crash-fast-14.wav](https://freesound.org/people/folktelemetry/sounds/60988/)
44

5-
Run `python download_piano.py` once so that the piano sampler demo can work.
5+
Run `python download_piano.py` once so that the piano sampler demo can work.
6+
7+
Run `python make_wavecycles.py` once so that wave cycles exist for some of the examples.

0 commit comments

Comments
 (0)