This commit is contained in:
2026-02-12 21:00:02 -08:00
parent 77f8236347
commit 8bdbf227ca
1141 changed files with 1010880 additions and 2 deletions

View File

@@ -0,0 +1,3 @@
declare filename "copy.dsp";
declare name "copy";
process = _,_;

View File

@@ -0,0 +1,106 @@
/* ------------------------------------------------------------
name: "Copy"
Code generated with Faust 2.68.1 (https://faust.grame.fr)
Compilation options: -lang cpp -ct 1 -es 1 -mcd 16 -single -ftz 0
------------------------------------------------------------ */
#ifndef __mydsp_H__
#define __mydsp_H__
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
#include <algorithm>
#include <cmath>
#include <cstdint>
#ifndef FAUSTCLASS
#define FAUSTCLASS mydsp
#endif
#ifdef __APPLE__
#define exp10f __exp10f
#define exp10 __exp10
#endif
#if defined(_WIN32)
#define RESTRICT __restrict
#else
#define RESTRICT __restrict__
#endif
class mydsp : public dsp {
private:
int fSampleRate;
public:
mydsp() {}
void metadata(Meta* m) {
m->declare("compile_options", "-lang cpp -ct 1 -es 1 -mcd 16 -single -ftz 0");
m->declare("filename", "Copy.dsp");
m->declare("name", "Copy");
}
virtual int getNumInputs() {
return 2;
}
virtual int getNumOutputs() {
return 2;
}
static void classInit(int sample_rate) {
}
virtual void instanceConstants(int sample_rate) {
fSampleRate = sample_rate;
}
virtual void instanceResetUserInterface() {
}
virtual void instanceClear() {
}
virtual void init(int sample_rate) {
classInit(sample_rate);
instanceInit(sample_rate);
}
virtual void instanceInit(int sample_rate) {
instanceConstants(sample_rate);
instanceResetUserInterface();
instanceClear();
}
virtual mydsp* clone() {
return new mydsp();
}
virtual int getSampleRate() {
return fSampleRate;
}
virtual void buildUserInterface(UI* ui_interface) {
ui_interface->openVerticalBox("Copy");
ui_interface->closeBox();
}
virtual void compute(int count, FAUSTFLOAT** RESTRICT inputs, FAUSTFLOAT** RESTRICT outputs) {
FAUSTFLOAT* input0 = inputs[0];
FAUSTFLOAT* input1 = inputs[1];
FAUSTFLOAT* output0 = outputs[0];
FAUSTFLOAT* output1 = outputs[1];
for (int i0 = 0; i0 < count; i0 = i0 + 1) {
output0[i0] = FAUSTFLOAT(float(input0[i0]));
output1[i0] = FAUSTFLOAT(float(input1[i0]));
}
}
};
#endif

View File

@@ -0,0 +1,43 @@
/**
* @file streams-i2s-faust_copy-i2s.ino
* @author Phil Schatzmann
* @brief Example how to use Faust to write and process a stereo signal. The data
* is just copied, keeping the left and right signal separate.
* @version 0.1
* @date 2022-04-22
*
* @copyright Copyright (c) 2022
*
*/
#include "AudioTools.h"
#include "AudioTools/AudioLibs/AudioBoardStream.h"
#include "AudioTools/AudioLibs/AudioFaust.h"
#include "Copy.h"
AudioBoardStream io(AudioKitEs8388V1);
FaustStream<mydsp> faust(io); // final output to io
StreamCopy copier(faust, io); // copy mic to faust
// Arduino Setup
void setup(void) {
// Open Serial
Serial.begin(115200);
AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Warning);
// Setup Faust
auto cfg = faust.defaultConfig();
faust.begin(cfg);
// start I2S
auto cfg_i2s = io.defaultConfig(RXTX_MODE);
cfg_i2s.copyFrom(cfg);
io.begin(cfg_i2s);
}
// Arduino loop - copy sound to out
void loop() {
copier.copy();
}