File: README.md

package info (click to toggle)
faust 2.54.9%2Bds0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 352,732 kB
  • sloc: cpp: 260,515; javascript: 33,578; ansic: 16,680; vhdl: 14,052; sh: 13,271; java: 5,900; objc: 3,875; makefile: 3,228; python: 2,176; cs: 1,642; lisp: 1,140; ruby: 951; xml: 762; yacc: 564; lex: 247; awk: 110; tcl: 26
file content (45 lines) | stat: -rw-r--r-- 2,304 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Echo

## Description

The Echo unit creates echoes.

## Parameters

Parameter     | MIDI CC # | Description | Physical Control |
|---|---|---|---|
Enable      | `CC-105`  | Turn the effect on/off    | switch`SW-4` |  
Amp         | `CC-2`    | Amplitude level of echoes relative to the direct signal  | knob`HADC-0`|
Feedback    | `CC-3`    | Controls the number of echo repetitions between 1 and infinity.  | knob`HADC-1`|
Delay       | `CC-4`    | Time between echoes in seconds. Under Expert there is a Delay Glide which is a portamento for changing the delay time, and is also performable. | knob`HADC-2`|
Warp        | `CC-62`   | Warp moves the output delay-line tap at a rate controlled by Glide. It can create temporary "glitching" (low Glide) or Doppler shifts (high Glide) - performable (thanks to Glide)  | knob |
DelayT60    | `CC-60`   | DelayT60 controls the speed of Delay, Warp. It gives the time to DelayT60 to the next knob setting in seconds. contents.  | knob |
FeedbackSim | `CC-76`   | When an echo is fed back to echo again, it is also lowpass filtered according to this parameter. Tone = 0 ("Digital") corresponds to no filtering, while Tone = 1 ("Tape") gives maximum lowpass filtering, like an old magnetic tape.  | knob |
                                                                                                         

## Building the Example

The faust code (.dsp) in this directory has been compiled using `faust2sam` into `echo-sam`

```
% faust2sam -midi echo.dsp
```

The result of this compile is a zip file `echo-sam.zip` which contains the following three files:

  - `fast_pow2.h`
  - `samFaustDSP.cpp`
  - `samFaustDSP.h`

These 3 files should be placed into the directory `sam_baremetal_framework_core1/src/faust`

In addition there is a header file that is common across all cores called `audio_system_config.h`. In this file the following pre-processor variables should be set in the following way. The example below indicates that a Faust algorithm will only be running on Core1 and that Core2 will be simply passing audio to the codec. 

```
#define USE_FAUST_ALGORITHM_CORE1           TRUE
#define USE_FAUST_ALGORITHM_CORE2           FALSE
```

Once the project is compiled, linked and loaded to the SAM board, the MIDI control API is as follows: