cyfaust 0.1.0__cp311-cp311-macosx_15_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cyfaust/CMakeLists.txt +93 -0
- cyfaust/__init__.py +0 -0
- cyfaust/__main__.py +819 -0
- cyfaust/box.pxd +46 -0
- cyfaust/box.pyx +2459 -0
- cyfaust/common.pxd +5 -0
- cyfaust/common.pyx +61 -0
- cyfaust/cyfaust.cpython-311-darwin.so +0 -0
- cyfaust/faust_box.pxd +298 -0
- cyfaust/faust_box_oo.pyx +66 -0
- cyfaust/faust_gui.pxd +261 -0
- cyfaust/faust_interp.pxd +160 -0
- cyfaust/faust_player.pxd +80 -0
- cyfaust/faust_signal.pxd +257 -0
- cyfaust/gui_statics.cpp +15 -0
- cyfaust/interp.pyx +673 -0
- cyfaust/player.cpp +32519 -0
- cyfaust/player.pyx +191 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.cpp +2327 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.h +1019 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.cpp +423 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.h +82 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.cpp +151 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.h +119 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.cpp +62 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.h +66 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.cpp +615 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.h +128 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.cpp +512 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.h +544 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.cpp +370 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.h +340 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.cpp +463 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.h +391 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.cpp +837 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.cpp +495 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.h +213 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/LockFreeFIFO.h +168 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MIDIControlHandler.h +92 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.cpp +354 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.h +126 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.cpp +419 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.h +227 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthEvent.h +145 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.cpp +138 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.h +186 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.cpp +93 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.h +232 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.cpp +134 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.h +80 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.cpp +217 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUMIDIDefs.h +136 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUSilentTimeout.h +93 -0
- cyfaust/resources/architecture/AU/English.lproj/InfoPlist.strings +0 -0
- cyfaust/resources/architecture/AU/FaustAU.exp +2 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.pbxproj +968 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- cyfaust/resources/architecture/AU/FaustAUCustomView.plist +14 -0
- cyfaust/resources/architecture/AU/Info.plist +47 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomic.h +305 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomicStack.h +239 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.cpp +153 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.h +199 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAutoDisposer.h +508 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.cpp +264 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.h +319 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAByteOrder.h +161 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.cpp +88 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.h +580 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.cpp +89 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.h +115 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.cpp +77 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.h +56 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAException.h +83 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.cpp +339 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.h +133 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.cpp +110 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.h +231 -0
- cyfaust/resources/architecture/AU/PublicUtility/CALogMacros.h +140 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMath.h +68 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.cpp +345 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.h +163 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAReferenceCounted.h +87 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.cpp +795 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.h +409 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAThreadSafeList.h +255 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.cpp +191 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.h +100 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnitTypes.h +59 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.cpp +49 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.h +338 -0
- cyfaust/resources/architecture/AU/SectionPatternLight.tiff +0 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.h +38 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.r +153 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAUVersion.h +64 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.m +21 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.h +20 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.m +56 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.h +87 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.m +834 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.h +13 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.m +22 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.h +81 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.m +199 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.m +21 -0
- cyfaust/resources/architecture/AU/version.plist +16 -0
- cyfaust/resources/architecture/VST/Info.plist +28 -0
- cyfaust/resources/architecture/VST/PkgInfo +1 -0
- cyfaust/resources/architecture/VST/README +11 -0
- cyfaust/resources/architecture/VST/VST.xcode/project.pbxproj +655 -0
- cyfaust/resources/architecture/alsa-console.cpp +246 -0
- cyfaust/resources/architecture/alsa-gtk.cpp +220 -0
- cyfaust/resources/architecture/alsa-qt.cpp +229 -0
- cyfaust/resources/architecture/api/DspFaust.cpp +612 -0
- cyfaust/resources/architecture/api/DspFaust.h +511 -0
- cyfaust/resources/architecture/api/README.md +237 -0
- cyfaust/resources/architecture/api/doc/Generic.md +38 -0
- cyfaust/resources/architecture/au-effect.cpp +487 -0
- cyfaust/resources/architecture/au-instrument.cpp +573 -0
- cyfaust/resources/architecture/bench.cpp +91 -0
- cyfaust/resources/architecture/c-jack-gtk.c +227 -0
- cyfaust/resources/architecture/ca-gtk.cpp +284 -0
- cyfaust/resources/architecture/ca-qt.cpp +424 -0
- cyfaust/resources/architecture/cpal.rs +195 -0
- cyfaust/resources/architecture/csound.cpp +245 -0
- cyfaust/resources/architecture/csvplot.cpp +227 -0
- cyfaust/resources/architecture/daisy/Makefile +14 -0
- cyfaust/resources/architecture/daisy/README.md +50 -0
- cyfaust/resources/architecture/daisy/ex_faust.cpp +173 -0
- cyfaust/resources/architecture/dssi.cpp +1262 -0
- cyfaust/resources/architecture/dummy-mem.cpp +186 -0
- cyfaust/resources/architecture/dummy.cpp +294 -0
- cyfaust/resources/architecture/faust/au/AUUI.h +404 -0
- cyfaust/resources/architecture/faust/audio/alsa-dsp.h +693 -0
- cyfaust/resources/architecture/faust/audio/android-dsp.h +583 -0
- cyfaust/resources/architecture/faust/audio/audio.h +115 -0
- cyfaust/resources/architecture/faust/audio/channels.h +122 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-dsp.h +1543 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-ios-dsp.h +743 -0
- cyfaust/resources/architecture/faust/audio/dummy-audio.h +255 -0
- cyfaust/resources/architecture/faust/audio/esp32-dsp.h +284 -0
- cyfaust/resources/architecture/faust/audio/fpe.h +164 -0
- cyfaust/resources/architecture/faust/audio/jack-dsp.h +534 -0
- cyfaust/resources/architecture/faust/audio/juce-dsp.h +119 -0
- cyfaust/resources/architecture/faust/audio/netjack-dsp.h +354 -0
- cyfaust/resources/architecture/faust/audio/oboe-dsp.h +308 -0
- cyfaust/resources/architecture/faust/audio/ofaudio-dsp.h +155 -0
- cyfaust/resources/architecture/faust/audio/opensles-android-dsp.h +631 -0
- cyfaust/resources/architecture/faust/audio/osc-dsp.h +120 -0
- cyfaust/resources/architecture/faust/audio/portaudio-dsp.h +236 -0
- cyfaust/resources/architecture/faust/audio/rtaudio-dsp.h +241 -0
- cyfaust/resources/architecture/faust/audio/samAudio.h +140 -0
- cyfaust/resources/architecture/faust/audio/teensy-dsp.h +171 -0
- cyfaust/resources/architecture/faust/dsp/cmajor-cpp-dsp.h +253 -0
- cyfaust/resources/architecture/faust/dsp/cmajorpatch-dsp.h +483 -0
- cyfaust/resources/architecture/faust/dsp/cpp-dsp-adapter.h +38 -0
- cyfaust/resources/architecture/faust/dsp/dsp-adapter.h +836 -0
- cyfaust/resources/architecture/faust/dsp/dsp-bench.h +611 -0
- cyfaust/resources/architecture/faust/dsp/dsp-checker.h +115 -0
- cyfaust/resources/architecture/faust/dsp/dsp-combiner.h +810 -0
- cyfaust/resources/architecture/faust/dsp/dsp-compute-adapter.h +159 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multi.h +702 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multifun.h +90 -0
- cyfaust/resources/architecture/faust/dsp/dsp-optimizer.h +511 -0
- cyfaust/resources/architecture/faust/dsp/dsp-tools.h +229 -0
- cyfaust/resources/architecture/faust/dsp/dsp.h +321 -0
- cyfaust/resources/architecture/faust/dsp/fastmath.cpp +301 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.cpp +494 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.h +386 -0
- cyfaust/resources/architecture/faust/dsp/faust-engine.h +75 -0
- cyfaust/resources/architecture/faust/dsp/faust-poly-engine.h +638 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp-c.h +288 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp.h +362 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-machine-dsp.h +233 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box-c.h +817 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box.h +889 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-c.h +116 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal-c.h +649 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal.h +731 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-adapter.h +160 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-c.h +524 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp.h +575 -0
- cyfaust/resources/architecture/faust/dsp/llvm-machine-dsp.h +215 -0
- cyfaust/resources/architecture/faust/dsp/one-sample-dsp.h +477 -0
- cyfaust/resources/architecture/faust/dsp/poly-dsp.h +1079 -0
- cyfaust/resources/architecture/faust/dsp/poly-interpreter-dsp.h +143 -0
- cyfaust/resources/architecture/faust/dsp/poly-llvm-dsp.h +249 -0
- cyfaust/resources/architecture/faust/dsp/poly-wasm-dsp.h +257 -0
- cyfaust/resources/architecture/faust/dsp/proxy-dsp.h +108 -0
- cyfaust/resources/architecture/faust/dsp/proxy-osc-dsp.h +109 -0
- cyfaust/resources/architecture/faust/dsp/rnbo-dsp.h +187 -0
- cyfaust/resources/architecture/faust/dsp/sound-player.h +428 -0
- cyfaust/resources/architecture/faust/dsp/timed-dsp.h +279 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp-imp.h +188 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp.h +309 -0
- cyfaust/resources/architecture/faust/dsp/ysfx-dsp.h +188 -0
- cyfaust/resources/architecture/faust/export.h +61 -0
- cyfaust/resources/architecture/faust/gui/APIUI.h +726 -0
- cyfaust/resources/architecture/faust/gui/BelaOSCUI.h +170 -0
- cyfaust/resources/architecture/faust/gui/CGlue.h +667 -0
- cyfaust/resources/architecture/faust/gui/CInterface.h +142 -0
- cyfaust/resources/architecture/faust/gui/ControlSequenceUI.h +197 -0
- cyfaust/resources/architecture/faust/gui/ControlUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/DaisyControlUI.h +283 -0
- cyfaust/resources/architecture/faust/gui/DaisyPatchInitControlUI.h +254 -0
- cyfaust/resources/architecture/faust/gui/DecoratorUI.h +115 -0
- cyfaust/resources/architecture/faust/gui/Esp32ControlUI.h +341 -0
- cyfaust/resources/architecture/faust/gui/Esp32Reader.h +102 -0
- cyfaust/resources/architecture/faust/gui/Esp32SensorUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/FUI.h +147 -0
- cyfaust/resources/architecture/faust/gui/GTKUI.h +1414 -0
- cyfaust/resources/architecture/faust/gui/GUI.h +465 -0
- cyfaust/resources/architecture/faust/gui/JSONControl.h +48 -0
- cyfaust/resources/architecture/faust/gui/JSONUI.h +722 -0
- cyfaust/resources/architecture/faust/gui/JSONUIDecoder.h +589 -0
- cyfaust/resources/architecture/faust/gui/JuceGUI.h +2061 -0
- cyfaust/resources/architecture/faust/gui/JuceOSCUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/JuceParameterUI.h +158 -0
- cyfaust/resources/architecture/faust/gui/JuceReader.h +103 -0
- cyfaust/resources/architecture/faust/gui/JuceStateUI.h +88 -0
- cyfaust/resources/architecture/faust/gui/LayoutUI.h +423 -0
- cyfaust/resources/architecture/faust/gui/LibsndfileReader.h +366 -0
- cyfaust/resources/architecture/faust/gui/MapUI.h +370 -0
- cyfaust/resources/architecture/faust/gui/MemoryReader.h +111 -0
- cyfaust/resources/architecture/faust/gui/MetaDataUI.h +357 -0
- cyfaust/resources/architecture/faust/gui/MidiUI.h +939 -0
- cyfaust/resources/architecture/faust/gui/OCVUI.h +688 -0
- cyfaust/resources/architecture/faust/gui/OSCUI.h +219 -0
- cyfaust/resources/architecture/faust/gui/PathBuilder.h +228 -0
- cyfaust/resources/architecture/faust/gui/PresetUI.h +337 -0
- cyfaust/resources/architecture/faust/gui/PrintCUI.h +152 -0
- cyfaust/resources/architecture/faust/gui/PrintUI.h +121 -0
- cyfaust/resources/architecture/faust/gui/QTUI.h +1891 -0
- cyfaust/resources/architecture/faust/gui/RosCI.h +493 -0
- cyfaust/resources/architecture/faust/gui/RosUI.h +488 -0
- cyfaust/resources/architecture/faust/gui/SaveUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/SimpleParser.h +583 -0
- cyfaust/resources/architecture/faust/gui/SoundUI.h +217 -0
- cyfaust/resources/architecture/faust/gui/Soundfile.h +342 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qss +177 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qss +117 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qss +174 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qss +171 -0
- cyfaust/resources/architecture/faust/gui/UI.h +87 -0
- cyfaust/resources/architecture/faust/gui/ValueConverter.h +543 -0
- cyfaust/resources/architecture/faust/gui/WaveReader.h +364 -0
- cyfaust/resources/architecture/faust/gui/console.h +322 -0
- cyfaust/resources/architecture/faust/gui/httpdUI.h +372 -0
- cyfaust/resources/architecture/faust/gui/meta.h +39 -0
- cyfaust/resources/architecture/faust/gui/mspUI.h +580 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.h +269 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.impl.h +1025 -0
- cyfaust/resources/architecture/faust/gui/ring-buffer.h +414 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.cpp +3054 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.h +1034 -0
- cyfaust/resources/architecture/faust/midi/bela-midi.h +266 -0
- cyfaust/resources/architecture/faust/midi/daisy-midi.h +116 -0
- cyfaust/resources/architecture/faust/midi/esp32-midi.h +185 -0
- cyfaust/resources/architecture/faust/midi/gramophone-midi.h +107 -0
- cyfaust/resources/architecture/faust/midi/iplug2-midi.h +148 -0
- cyfaust/resources/architecture/faust/midi/jack-midi.h +247 -0
- cyfaust/resources/architecture/faust/midi/juce-midi.h +275 -0
- cyfaust/resources/architecture/faust/midi/midi.h +475 -0
- cyfaust/resources/architecture/faust/midi/rt-midi.h +315 -0
- cyfaust/resources/architecture/faust/midi/teensy-midi.h +89 -0
- cyfaust/resources/architecture/faust/misc.h +106 -0
- cyfaust/resources/architecture/faust/sound-file.h +132 -0
- cyfaust/resources/architecture/faust/unity/AudioPluginInterface.h +301 -0
- cyfaust/resources/architecture/faust/vst/faust.h +141 -0
- cyfaust/resources/architecture/faust/vst/voice.h +43 -0
- cyfaust/resources/architecture/faust/vst/vstui.h +524 -0
- cyfaust/resources/architecture/faustvst.cpp +3435 -0
- cyfaust/resources/architecture/faustvstqt.h +91 -0
- cyfaust/resources/architecture/gen-json.cpp +76 -0
- cyfaust/resources/architecture/jack-console.cpp +267 -0
- cyfaust/resources/architecture/jack-gtk-ros.cpp +139 -0
- cyfaust/resources/architecture/jack-gtk.cpp +282 -0
- cyfaust/resources/architecture/jack-internal.cpp +560 -0
- cyfaust/resources/architecture/jack-qt-chain-footer.cpp +87 -0
- cyfaust/resources/architecture/jack-qt-chain-header.cpp +92 -0
- cyfaust/resources/architecture/jack-qt.cpp +281 -0
- cyfaust/resources/architecture/jack.rs +171 -0
- cyfaust/resources/architecture/juce/README.md +84 -0
- cyfaust/resources/architecture/juce/juce-plugin.cpp +809 -0
- cyfaust/resources/architecture/juce/juce-standalone.cpp +413 -0
- cyfaust/resources/architecture/juce/plugin/plugin-llvm.jucer +184 -0
- cyfaust/resources/architecture/juce/plugin/plugin.jucer +159 -0
- cyfaust/resources/architecture/juce/standalone/standalone-llvm.jucer +216 -0
- cyfaust/resources/architecture/juce/standalone/standalone.jucer +191 -0
- cyfaust/resources/architecture/ladspa.cpp +543 -0
- cyfaust/resources/architecture/latexheader.tex +65 -0
- cyfaust/resources/architecture/lv2.cpp +2090 -0
- cyfaust/resources/architecture/lv2qtgui.h +62 -0
- cyfaust/resources/architecture/lv2ui.cpp +1966 -0
- cyfaust/resources/architecture/max-msp/README.md +109 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper-poly.maxpat +184 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper.maxpat +163 -0
- cyfaust/resources/architecture/max-msp/max-msp.cpp +734 -0
- cyfaust/resources/architecture/max-msp/max-msp64.cpp +789 -0
- cyfaust/resources/architecture/max-msp/py2max/README.md +277 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/__init__.py +3 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/common.py +7 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/core.py +1387 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/maxclassdb.py +318 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/utils.py +20 -0
- cyfaust/resources/architecture/max-msp/rnbo.py +1591 -0
- cyfaust/resources/architecture/max-msp/sndfile/sndfile.h +857 -0
- cyfaust/resources/architecture/max-msp/ui.js +230 -0
- cyfaust/resources/architecture/max-msp/wrapper-poly.maxpat +153 -0
- cyfaust/resources/architecture/max-msp/wrapper.maxpat +131 -0
- cyfaust/resources/architecture/minimal-bench.cpp +100 -0
- cyfaust/resources/architecture/minimal-effect.c +149 -0
- cyfaust/resources/architecture/minimal-effect.cpp +70 -0
- cyfaust/resources/architecture/minimal-fixed-point.cpp +195 -0
- cyfaust/resources/architecture/minimal-static.cpp +160 -0
- cyfaust/resources/architecture/minimal.c +103 -0
- cyfaust/resources/architecture/minimal.cpp +84 -0
- cyfaust/resources/architecture/minimal.rs +223 -0
- cyfaust/resources/architecture/module.cpp +91 -0
- cyfaust/resources/architecture/octave.cpp +471 -0
- cyfaust/resources/architecture/oscio-gtk.cpp +115 -0
- cyfaust/resources/architecture/oscio-qt.cpp +121 -0
- cyfaust/resources/architecture/owl.cpp +345 -0
- cyfaust/resources/architecture/pa-gtk.cpp +119 -0
- cyfaust/resources/architecture/pa-qt.cpp +261 -0
- cyfaust/resources/architecture/path-printer.cpp +100 -0
- cyfaust/resources/architecture/plot.cpp +128 -0
- cyfaust/resources/architecture/portaudio.rs +192 -0
- cyfaust/resources/architecture/puredata.cpp +636 -0
- cyfaust/resources/architecture/ra-qt.cpp +238 -0
- cyfaust/resources/architecture/sam/fast_pow2.h +69 -0
- cyfaust/resources/architecture/sam/fastexp.h +140 -0
- cyfaust/resources/architecture/sam/samFaustDSP.cpp +125 -0
- cyfaust/resources/architecture/sam/samFaustDSP.h +107 -0
- cyfaust/resources/architecture/scheduler.cpp +1391 -0
- cyfaust/resources/architecture/sndfile.cpp +291 -0
- cyfaust/resources/architecture/supercollider.cpp +611 -0
- cyfaust/resources/architecture/teensy/README.md +13 -0
- cyfaust/resources/architecture/teensy/teensy.cpp +214 -0
- cyfaust/resources/architecture/teensy/teensy.h +71 -0
- cyfaust/resources/architecture/thread.h +373 -0
- cyfaust/resources/architecture/vcvrack/README.md +78 -0
- cyfaust/resources/architecture/vcvrack/template/.gitignore +6 -0
- cyfaust/resources/architecture/vcvrack/template/Makefile +22 -0
- cyfaust/resources/architecture/vcvrack/template/res/FaustModule.svg +299 -0
- cyfaust/resources/architecture/vcvrack/template/src/FaustModule.cpp +942 -0
- cyfaust/resources/architecture/vst.cpp +947 -0
- cyfaust/resources/libraries/aanl.lib +900 -0
- cyfaust/resources/libraries/all.lib +36 -0
- cyfaust/resources/libraries/analyzers.lib +980 -0
- cyfaust/resources/libraries/basics.lib +2681 -0
- cyfaust/resources/libraries/compressors.lib +1341 -0
- cyfaust/resources/libraries/delays.lib +401 -0
- cyfaust/resources/libraries/demos.lib +1556 -0
- cyfaust/resources/libraries/dx7.lib +1036 -0
- cyfaust/resources/libraries/effect.lib +1645 -0
- cyfaust/resources/libraries/envelopes.lib +666 -0
- cyfaust/resources/libraries/examples/README.md +13 -0
- cyfaust/resources/libraries/examples/ambisonics/fourSourcesToOcto.dsp +20 -0
- cyfaust/resources/libraries/examples/ambisonics/oneSourceToStereo.dsp +12 -0
- cyfaust/resources/libraries/examples/analysis/FFT.dsp +26 -0
- cyfaust/resources/libraries/examples/analysis/dbmeter.dsp +19 -0
- cyfaust/resources/libraries/examples/analysis/spectralLevel.dsp +8 -0
- cyfaust/resources/libraries/examples/analysis/spectralTiltLab.dsp +20 -0
- cyfaust/resources/libraries/examples/analysis/vumeter.dsp +18 -0
- cyfaust/resources/libraries/examples/autodiff/delay/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/delay/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/gain/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/gt.dsp +4 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/diff.dsp +12 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/diff.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/noise.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/noop.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/ramp.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/target.dsp +13 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diff.dsp +14 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diffable.lib +7 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/gt.dsp +11 -0
- cyfaust/resources/libraries/examples/delayEcho/echo.dsp +15 -0
- cyfaust/resources/libraries/examples/delayEcho/quadEcho.dsp +21 -0
- cyfaust/resources/libraries/examples/delayEcho/smoothDelay.dsp +26 -0
- cyfaust/resources/libraries/examples/delayEcho/stereoEcho.dsp +16 -0
- cyfaust/resources/libraries/examples/delayEcho/tapiir.dsp +44 -0
- cyfaust/resources/libraries/examples/dynamic/compressor.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/distortion.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/gateCompressor.dsp +10 -0
- cyfaust/resources/libraries/examples/dynamic/noiseGate.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/volume.dsp +15 -0
- cyfaust/resources/libraries/examples/filtering/APF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/BPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/DNN.dsp +25 -0
- cyfaust/resources/libraries/examples/filtering/HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/bandFilter.dsp +44 -0
- cyfaust/resources/libraries/examples/filtering/cryBaby.dsp +4 -0
- cyfaust/resources/libraries/examples/filtering/diodeLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/filterBank.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/graphicEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/highShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/lfBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowCut.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/moogHalfLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogVCF.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/multibandFilter.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/notch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheim.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBSF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqualizer.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/peakNotch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/peakingEQ.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrder.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePole.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleHPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleLPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/spectralTilt.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/vcfWahLab.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/vocoder.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/wahPedal.dsp +6 -0
- cyfaust/resources/libraries/examples/gameaudio/bubble.dsp +42 -0
- cyfaust/resources/libraries/examples/gameaudio/door.dsp +58 -0
- cyfaust/resources/libraries/examples/gameaudio/fire.dsp +46 -0
- cyfaust/resources/libraries/examples/gameaudio/insects.dsp +148 -0
- cyfaust/resources/libraries/examples/gameaudio/rain.dsp +27 -0
- cyfaust/resources/libraries/examples/gameaudio/wind.dsp +23 -0
- cyfaust/resources/libraries/examples/generator/filterOsc.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/noise.dsp +52 -0
- cyfaust/resources/libraries/examples/generator/noiseMetadata.dsp +74 -0
- cyfaust/resources/libraries/examples/generator/osc.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/osci.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/sawtoothLab.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalog.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalogLab.dsp +10 -0
- cyfaust/resources/libraries/examples/misc/UITester.dsp +71 -0
- cyfaust/resources/libraries/examples/misc/autopan.dsp +59 -0
- cyfaust/resources/libraries/examples/misc/capture.dsp +24 -0
- cyfaust/resources/libraries/examples/misc/drumkit.dsp +36 -0
- cyfaust/resources/libraries/examples/misc/guitarix.dsp +184 -0
- cyfaust/resources/libraries/examples/misc/matrix.dsp +17 -0
- cyfaust/resources/libraries/examples/misc/midiTester.dsp +122 -0
- cyfaust/resources/libraries/examples/misc/mixer.dsp +27 -0
- cyfaust/resources/libraries/examples/misc/statespace.dsp +39 -0
- cyfaust/resources/libraries/examples/misc/switcher.dsp +20 -0
- cyfaust/resources/libraries/examples/misc/tester.dsp +32 -0
- cyfaust/resources/libraries/examples/misc/tester2.dsp +31 -0
- cyfaust/resources/libraries/examples/old/README.md +5 -0
- cyfaust/resources/libraries/examples/old/freeverb.dsp +109 -0
- cyfaust/resources/libraries/examples/old/rewriting/Makefile +21 -0
- cyfaust/resources/libraries/examples/old/rewriting/fact.dsp +3 -0
- cyfaust/resources/libraries/examples/old/rewriting/fold.dsp +61 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.dsp +43 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.pd +37 -0
- cyfaust/resources/libraries/examples/old/rewriting/sample.pd +12 -0
- cyfaust/resources/libraries/examples/old/rewriting/serial.dsp +7 -0
- cyfaust/resources/libraries/examples/old/rewriting/sum.dsp +55 -0
- cyfaust/resources/libraries/examples/old/rewriting/test.pd +48 -0
- cyfaust/resources/libraries/examples/phasing/flanger.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaser.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaserFlangerLab.dsp +12 -0
- cyfaust/resources/libraries/examples/physicalModeling/brass.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/brassMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/churchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinet.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinetMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/djembeMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/elecGuitarMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/englishBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFeks.dsp +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFfm.dsp +70 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/README +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.dsp +84 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.h +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/blowBottle.dsp +102 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bowed.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/brass.dsp +103 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/clarinet.dsp +110 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/flute.dsp +116 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/fluteStk.dsp +121 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/glassHarmonica.dsp +131 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsi.dsp +90 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsichord.h +185 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/instrument.h +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.dsp +122 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.h +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/bottle.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/clarinets.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/canon.pd +55 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/flute.pd +343 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/pachelbel.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/voiceForm.pd +340 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/blowHole.pd +330 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/harpsi.pd +204 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.pd +31 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/modalBar.pd +258 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what-a-friend.pd +52 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what_a_friend.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/flutes.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fm.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/glassBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/harpsichord-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/ironBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/midi-in.pd +111 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/modal.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/osc.pd +26 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/piano-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/plucked.pd +20 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/saxophone.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/tibetan.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/trumpet.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/violin.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/voiceSynth.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/woodenBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/phonemes.h +189 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.dsp +255 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.h +751 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/saxophony.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/sitar.dsp +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tibetanBowl.dsp +155 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tunedBar.dsp +123 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/uniBar.dsp +100 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/voiceForm.dsp +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/1dDampedWaveEquation.dsp +43 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/BowedString.dsp +61 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/ControllableNonPhysicalString.dsp +72 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/HammeredString.dsp +74 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/PianoHammeredString.dsp +85 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/StiffString.dsp +54 -0
- cyfaust/resources/libraries/examples/physicalModeling/flute.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/fluteMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/frenchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/germanBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/guitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/karplus.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/marimbaMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator.dsp +58 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator2.dsp +62 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator3.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/01_ParamControl/paramOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/02_AudioParamControl/audioParamOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/03_HammerTime/hammerOsc.dsp +71 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/04_Gravity/bouncingOsc.dsp +64 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/05_PluckedOscillator/pluckedOsc.dsp +57 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/06_BowedOscillator/bowedOsc.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/07_NonLinearOscillator/nlOsc.dsp +78 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/08_TwoMassChain/2massChain.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/09_TinyString/tinyString.dsp +101 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/10_PluckedString/pluckedString.dsp +678 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/11_BowedString/bowedString.dsp +671 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/12_TriangleMesh/triangleMesh.dsp +448 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/13_Construction/construction.dsp +1036 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/14_Polyphonic/polyTriangle.dsp +79 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/15_PhysicalLFO/physicalLFO.dsp +107 -0
- cyfaust/resources/libraries/examples/physicalModeling/modularInterpInstrMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/nylonGuitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/harpe.dsp +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus.dsp +34 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus32.dsp +47 -0
- cyfaust/resources/libraries/examples/physicalModeling/russianBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/standardBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violin.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violinMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBP.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBPMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOF.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOFMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/pitchShifting/pitchShifter.dsp +20 -0
- cyfaust/resources/libraries/examples/psychoacoustic/harmonicExciter.dsp +10 -0
- cyfaust/resources/libraries/examples/quantizing/quantizedChords.dsp +49 -0
- cyfaust/resources/libraries/examples/reverb/dattorro.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/fdnRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/freeverb.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/greyhole.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/jprev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/reverbDesigner.dsp +12 -0
- cyfaust/resources/libraries/examples/reverb/reverbTester.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRevFDN.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/acGuitar.dsp +100 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/myEffect.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/reverb.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bells.dsp +80 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bowed.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/brass.dsp +82 -0
- cyfaust/resources/libraries/examples/smartKeyboard/clarinet.dsp +113 -0
- cyfaust/resources/libraries/examples/smartKeyboard/crazyGuiro.dsp +96 -0
- cyfaust/resources/libraries/examples/smartKeyboard/drums.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/dubDub.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/elecGuitar.dsp +67 -0
- cyfaust/resources/libraries/examples/smartKeyboard/fm.dsp +78 -0
- cyfaust/resources/libraries/examples/smartKeyboard/frog.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/harp.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/midiOnly.dsp +62 -0
- cyfaust/resources/libraries/examples/smartKeyboard/multiSynth.dsp +75 -0
- cyfaust/resources/libraries/examples/smartKeyboard/toy.dsp +71 -0
- cyfaust/resources/libraries/examples/smartKeyboard/trumpet.dsp +59 -0
- cyfaust/resources/libraries/examples/smartKeyboard/turenas.dsp +114 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin.dsp +91 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin2.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/vocal.dsp +43 -0
- cyfaust/resources/libraries/examples/spat/panpot.dsp +17 -0
- cyfaust/resources/libraries/examples/spat/spat.dsp +25 -0
- cyfaust/resources/libraries/fds.lib +535 -0
- cyfaust/resources/libraries/filter.lib +1710 -0
- cyfaust/resources/libraries/filters.lib +3125 -0
- cyfaust/resources/libraries/hoa.lib +1081 -0
- cyfaust/resources/libraries/instruments.lib +263 -0
- cyfaust/resources/libraries/interpolators.lib +675 -0
- cyfaust/resources/libraries/math.lib +602 -0
- cyfaust/resources/libraries/maths.lib +798 -0
- cyfaust/resources/libraries/maxmsp.lib +237 -0
- cyfaust/resources/libraries/mi.lib +528 -0
- cyfaust/resources/libraries/misceffects.lib +998 -0
- cyfaust/resources/libraries/music.lib +496 -0
- cyfaust/resources/libraries/noises.lib +487 -0
- cyfaust/resources/libraries/oscillator.lib +450 -0
- cyfaust/resources/libraries/oscillators.lib +1838 -0
- cyfaust/resources/libraries/phaflangers.lib +235 -0
- cyfaust/resources/libraries/physmodels.lib +3990 -0
- cyfaust/resources/libraries/platform.lib +59 -0
- cyfaust/resources/libraries/quantizers.lib +310 -0
- cyfaust/resources/libraries/reducemaps.lib +235 -0
- cyfaust/resources/libraries/reverbs.lib +686 -0
- cyfaust/resources/libraries/routes.lib +262 -0
- cyfaust/resources/libraries/sf.lib +53 -0
- cyfaust/resources/libraries/signals.lib +570 -0
- cyfaust/resources/libraries/soundfiles.lib +234 -0
- cyfaust/resources/libraries/spats.lib +173 -0
- cyfaust/resources/libraries/stdfaust.lib +38 -0
- cyfaust/resources/libraries/synths.lib +322 -0
- cyfaust/resources/libraries/tonestacks.lib +427 -0
- cyfaust/resources/libraries/tubes.lib +5039 -0
- cyfaust/resources/libraries/vaeffects.lib +984 -0
- cyfaust/resources/libraries/version.lib +22 -0
- cyfaust/resources/libraries/wdmodels.lib +2276 -0
- cyfaust/resources/libraries/webaudio.lib +402 -0
- cyfaust/signal.pxd +44 -0
- cyfaust/signal.pyx +1993 -0
- cyfaust-0.1.0.dist-info/METADATA +355 -0
- cyfaust-0.1.0.dist-info/RECORD +693 -0
- cyfaust-0.1.0.dist-info/WHEEL +5 -0
- cyfaust-0.1.0.dist-info/entry_points.txt +3 -0
- cyfaust-0.1.0.dist-info/licenses/LICENSE +26 -0
|
@@ -0,0 +1,570 @@
|
|
|
1
|
+
//#################################### signals.lib ########################################
|
|
2
|
+
// A library of basic elements to handle signals in Faust. Its official prefix is `si`.
|
|
3
|
+
//
|
|
4
|
+
// #### References
|
|
5
|
+
// * <https://github.com/grame-cncm/faustlibraries/blob/master/signals.lib>
|
|
6
|
+
//########################################################################################
|
|
7
|
+
|
|
8
|
+
/************************************************************************
|
|
9
|
+
************************************************************************
|
|
10
|
+
FAUST library file, GRAME section
|
|
11
|
+
|
|
12
|
+
Except where noted otherwise, Copyright (C) 2003-2017 by GRAME,
|
|
13
|
+
Centre National de Creation Musicale.
|
|
14
|
+
|
|
15
|
+
----------------------------------------------------------------------
|
|
16
|
+
GRAME LICENSE
|
|
17
|
+
|
|
18
|
+
This program is free software; you can redistribute it and/or modify
|
|
19
|
+
it under the terms of the GNU Lesser General Public License as
|
|
20
|
+
published by the Free Software Foundation; either version 2.1 of the
|
|
21
|
+
License, or (at your option) any later version.
|
|
22
|
+
|
|
23
|
+
This program is distributed in the hope that it will be useful,
|
|
24
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
25
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
26
|
+
GNU Lesser General Public License for more details.
|
|
27
|
+
|
|
28
|
+
You should have received a copy of the GNU Lesser General Public
|
|
29
|
+
License along with the GNU C Library; if not, write to the Free
|
|
30
|
+
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
31
|
+
02111-1307 USA.
|
|
32
|
+
|
|
33
|
+
EXCEPTION TO THE LGPL LICENSE : As a special exception, you may create a
|
|
34
|
+
larger FAUST program which directly or indirectly imports this library
|
|
35
|
+
file and still distribute the compiled code generated by the FAUST
|
|
36
|
+
compiler, or a modified version of this compiled code, under your own
|
|
37
|
+
copyright and license. This EXCEPTION TO THE LGPL LICENSE explicitly
|
|
38
|
+
grants you the right to freely choose the license for the resulting
|
|
39
|
+
compiled code. In particular the resulting compiled code has no obligation
|
|
40
|
+
to be LGPL or GPL. For example you are free to choose a commercial or
|
|
41
|
+
closed source license or any other license if you decide so.
|
|
42
|
+
************************************************************************
|
|
43
|
+
************************************************************************/
|
|
44
|
+
|
|
45
|
+
ba = library("basics.lib");
|
|
46
|
+
ro = library("routes.lib");
|
|
47
|
+
ma = library("maths.lib");
|
|
48
|
+
si = library("signals.lib");
|
|
49
|
+
|
|
50
|
+
declare name "Faust Signal Routing Library";
|
|
51
|
+
declare version "1.5.0";
|
|
52
|
+
|
|
53
|
+
//=============================Functions Reference========================================
|
|
54
|
+
//========================================================================================
|
|
55
|
+
|
|
56
|
+
//--------------------------------`(si.)bus`-------------------------------------
|
|
57
|
+
// Put N cables in parallel.
|
|
58
|
+
// `bus` is a standard Faust function.
|
|
59
|
+
//
|
|
60
|
+
// #### Usage
|
|
61
|
+
//
|
|
62
|
+
// ```
|
|
63
|
+
// bus(N)
|
|
64
|
+
// bus(4) : _,_,_,_
|
|
65
|
+
// ```
|
|
66
|
+
//
|
|
67
|
+
// Where:
|
|
68
|
+
//
|
|
69
|
+
// * `N`: is an integer known at compile time that indicates the number of parallel cables
|
|
70
|
+
//-----------------------------------------------------------------------------
|
|
71
|
+
bus(0) = 0:!;
|
|
72
|
+
bus(1) = _; // avoids a lot of "bus(1)" labels in block diagrams
|
|
73
|
+
bus(2) = _,_; // avoids a lot of "bus(2)" labels in block diagrams
|
|
74
|
+
bus(N) = par(i, N, _);
|
|
75
|
+
|
|
76
|
+
//--------------`(si.)block`--------------
|
|
77
|
+
// Block - terminate N signals.
|
|
78
|
+
// `block` is a standard Faust function.
|
|
79
|
+
//
|
|
80
|
+
// #### Usage
|
|
81
|
+
//
|
|
82
|
+
// ```
|
|
83
|
+
// si.bus(N) : block(N)
|
|
84
|
+
// ```
|
|
85
|
+
//
|
|
86
|
+
// Where:
|
|
87
|
+
//
|
|
88
|
+
// * `N`: the number of signals to be blocked known at compile time
|
|
89
|
+
//--------------------------------------
|
|
90
|
+
block(N) = par(i, N, !);
|
|
91
|
+
|
|
92
|
+
//-----------------------------`(si.)interpolate`-------------------------------
|
|
93
|
+
// Linear interpolation between two signals.
|
|
94
|
+
//
|
|
95
|
+
// #### Usage
|
|
96
|
+
//
|
|
97
|
+
// ```
|
|
98
|
+
// _,_ : interpolate(i) : _
|
|
99
|
+
// ```
|
|
100
|
+
//
|
|
101
|
+
// Where:
|
|
102
|
+
//
|
|
103
|
+
// * `i`: interpolation control between 0 and 1 (0: first input; 1: second input)
|
|
104
|
+
//-----------------------------------------------------------------------------
|
|
105
|
+
interpolate(i,x,y) = x + i*(y-x);
|
|
106
|
+
|
|
107
|
+
//---------------`(si.)repeat`----------------------------------------------
|
|
108
|
+
// Repeat an effect N time(s) and take the parallel sum of all
|
|
109
|
+
// intermediate buses.
|
|
110
|
+
//
|
|
111
|
+
// #### References
|
|
112
|
+
// * <https://github.com/orlarey/presentation-compilateur-faust/blob/master/slides.pdf>
|
|
113
|
+
//
|
|
114
|
+
// #### Usage
|
|
115
|
+
//
|
|
116
|
+
// ```
|
|
117
|
+
// si.bus(inputs(FX)) : repeat(N, FX) : si.bus(outputs(FX))
|
|
118
|
+
// ```
|
|
119
|
+
//
|
|
120
|
+
// Where:
|
|
121
|
+
//
|
|
122
|
+
// * `N`: Number of repetitions, minimum of 1, a constant numerical expression
|
|
123
|
+
// * `FX`: an arbitrary effect (N inputs and N outputs) that will be repeated
|
|
124
|
+
//
|
|
125
|
+
// Example 1:
|
|
126
|
+
// ```
|
|
127
|
+
// process = repeat(2, dm.zita_light) : _*.5,_*.5;
|
|
128
|
+
// ```
|
|
129
|
+
//
|
|
130
|
+
// Example 2:
|
|
131
|
+
// ```
|
|
132
|
+
// N = 4;
|
|
133
|
+
// C = 2;
|
|
134
|
+
// fx(i) = i+1, par(j, C, @(i*5000));
|
|
135
|
+
// process = 0, si.bus(C) : repeat(N, fx) : !, par(i, C, _*.2/N);
|
|
136
|
+
// ```
|
|
137
|
+
//---------------------------------------------------------------------------
|
|
138
|
+
declare repeat author "Yann Orlarey and Stéphane Letz, revised by David Braun";
|
|
139
|
+
|
|
140
|
+
repeat(1, FX) = FX;
|
|
141
|
+
repeat(n, FX) = FX <: si.bus(N), repeat(n-1, FX) :> si.bus(N)
|
|
142
|
+
with {
|
|
143
|
+
N = outputs(FX);
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
//------------------------`(si.)smoo`---------------------------------------
|
|
147
|
+
// Smoothing function based on `smooth` ideal to smooth UI signals
|
|
148
|
+
// (sliders, etc.) down. Approximately, this is a 7 Hz one-pole
|
|
149
|
+
// low-pass considering the coefficient calculation:
|
|
150
|
+
// exp(-2pi*CF/SR).
|
|
151
|
+
//
|
|
152
|
+
// `smoo` is a standard Faust function.
|
|
153
|
+
//
|
|
154
|
+
// #### Usage
|
|
155
|
+
//
|
|
156
|
+
// ```
|
|
157
|
+
// hslider(...) : smoo;
|
|
158
|
+
// ```
|
|
159
|
+
//---------------------------------------------------------------------
|
|
160
|
+
smoo = si.smooth(1 - 44.1/ma.SR);
|
|
161
|
+
|
|
162
|
+
//-----------------------`(si.)polySmooth`--------------------------------
|
|
163
|
+
// A smoothing function based on `smooth` that doesn't smooth when a
|
|
164
|
+
// trigger signal is given. This is very useful when making
|
|
165
|
+
// polyphonic synthesizer to make sure that the value of the parameter
|
|
166
|
+
// is the right one when the note is started.
|
|
167
|
+
//
|
|
168
|
+
// #### Usage
|
|
169
|
+
//
|
|
170
|
+
// ```
|
|
171
|
+
// hslider(...) : polySmooth(g,s,d) : _
|
|
172
|
+
// ```
|
|
173
|
+
//
|
|
174
|
+
// Where:
|
|
175
|
+
//
|
|
176
|
+
// * `g`: the gate/trigger signal used when making polyphonic synths
|
|
177
|
+
// * `s`: the smoothness (see `smooth`)
|
|
178
|
+
// * `d`: the number of samples to wait before the signal start being
|
|
179
|
+
// smoothed after `g` switched to 1
|
|
180
|
+
//-------------------------------------------------------------------
|
|
181
|
+
polySmooth(g,s,d) = si.smooth(s*((g==(g@d)) | (g == 0)));
|
|
182
|
+
|
|
183
|
+
//-----------------------`(si.)smoothAndH`--------------------------------
|
|
184
|
+
// A smoothing function based on `smooth` that holds its output
|
|
185
|
+
// signal when a trigger is sent to it. This feature is convenient
|
|
186
|
+
// when implementing polyphonic instruments to prevent some
|
|
187
|
+
// smoothed parameter to change when a note-off event is sent.
|
|
188
|
+
//
|
|
189
|
+
// #### Usage
|
|
190
|
+
//
|
|
191
|
+
// ```
|
|
192
|
+
// hslider(...) : smoothAndH(g,s) : _
|
|
193
|
+
// ```
|
|
194
|
+
//
|
|
195
|
+
// Where:
|
|
196
|
+
//
|
|
197
|
+
// * `g`: the hold signal (0 for hold, 1 for bypass)
|
|
198
|
+
// * `s`: the smoothness (see `smooth`)
|
|
199
|
+
//-------------------------------------------------------------------
|
|
200
|
+
smoothAndH(t,s) = si.smooth(s*t) : ba.sAndH(t);
|
|
201
|
+
|
|
202
|
+
//-----------------------------`(si.)bsmooth`------------------------------
|
|
203
|
+
// Block smooth linear interpolation during a block of samples (given by the `ma.BS` value).
|
|
204
|
+
//
|
|
205
|
+
// #### Usage
|
|
206
|
+
//
|
|
207
|
+
// ```
|
|
208
|
+
// hslider(...) : bsmooth : _
|
|
209
|
+
// ```
|
|
210
|
+
//-----------------------------------------------------------------------
|
|
211
|
+
bsmooth(c) = +(i) ~ _
|
|
212
|
+
with {
|
|
213
|
+
i = (c-c@n)/n;
|
|
214
|
+
n = min(4096, max(1, ma.BS));
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
//-------------------------------`(si.)dot`--------------------------------------
|
|
218
|
+
// Dot product for two vectors of size N.
|
|
219
|
+
//
|
|
220
|
+
// #### Usage
|
|
221
|
+
//
|
|
222
|
+
// ```
|
|
223
|
+
// si.bus(N), si.bus(N) : dot(N) : _
|
|
224
|
+
// ```
|
|
225
|
+
//
|
|
226
|
+
// Where:
|
|
227
|
+
//
|
|
228
|
+
// * `N`: size of the vectors (int, must be known at compile time)
|
|
229
|
+
//-----------------------------------------------------------------------------
|
|
230
|
+
dot(N) = ro.interleave(N,2) : par(i,N,*) :> _;
|
|
231
|
+
|
|
232
|
+
// end GRAME section
|
|
233
|
+
//########################################################################################
|
|
234
|
+
/************************************************************************
|
|
235
|
+
FAUST library file, jos section
|
|
236
|
+
|
|
237
|
+
Except where noted otherwise, The Faust functions below in this
|
|
238
|
+
section are Copyright (C) 2003-2017 by Julius O. Smith III <jos@ccrma.stanford.edu>
|
|
239
|
+
([jos](http://ccrma.stanford.edu/~jos/)), and released under the
|
|
240
|
+
(MIT-style) [STK-4.3](#stk-4.3-license) license.
|
|
241
|
+
|
|
242
|
+
All MarkDown comments in this section are Copyright 2016-2017 by Romain
|
|
243
|
+
Michon and Julius O. Smith III, and are released under the
|
|
244
|
+
[CCA4I](https://creativecommons.org/licenses/by/4.0/) license (TODO: if/when Romain agrees!)
|
|
245
|
+
|
|
246
|
+
************************************************************************/
|
|
247
|
+
//-------------------`(si.)smooth`-----------------------------------
|
|
248
|
+
// Exponential smoothing by a unity-dc-gain one-pole lowpass.
|
|
249
|
+
// `smooth` is a standard Faust function.
|
|
250
|
+
//
|
|
251
|
+
// #### Usage:
|
|
252
|
+
//
|
|
253
|
+
// ```
|
|
254
|
+
// _ : si.smooth(ba.tau2pole(tau)) : _
|
|
255
|
+
// ```
|
|
256
|
+
//
|
|
257
|
+
// Where:
|
|
258
|
+
//
|
|
259
|
+
// * `tau`: desired smoothing time constant in seconds, or
|
|
260
|
+
//
|
|
261
|
+
// ```
|
|
262
|
+
// hslider(...) : smooth(s) : _
|
|
263
|
+
// ```
|
|
264
|
+
//
|
|
265
|
+
// Where:
|
|
266
|
+
//
|
|
267
|
+
// * `s`: smoothness between 0 and 1. s=0 for no smoothing, s=0.999 is "very smooth",
|
|
268
|
+
// s>1 is unstable, and s=1 yields the zero signal for all inputs.
|
|
269
|
+
// The exponential time-constant is approximately 1/(1-s) samples, when s is close to
|
|
270
|
+
// (but less than) 1.
|
|
271
|
+
//
|
|
272
|
+
// #### References:
|
|
273
|
+
//
|
|
274
|
+
// * <https://ccrma.stanford.edu/~jos/mdft/Convolution_Example_2_ADSR.html>
|
|
275
|
+
// * <https://ccrma.stanford.edu/~jos/aspf/Appendix_B_Inspecting_Assembly.html>
|
|
276
|
+
//-------------------------------------------------------------
|
|
277
|
+
|
|
278
|
+
// See [grame-cncm/faustlibraries]: Minor improvement to si.smoo. (Discussion #106)
|
|
279
|
+
|
|
280
|
+
smooth_imp = case {
|
|
281
|
+
// y[n] = (1 - s) * x[n] + s * y[n - 1]
|
|
282
|
+
(0,s) => \(x).(fb ~ _ with { fb(y) = (1.0 - s) * x + s * y; });
|
|
283
|
+
|
|
284
|
+
// y[n] = s * (y[n - 1] - x[n]) + x[n]
|
|
285
|
+
(1,s) => \(x).(fb ~ _ with { fb(y) = s * (y - x) + x; });
|
|
286
|
+
|
|
287
|
+
// y[n] = y[n - 1] + (1 - s) * (x[n] - y[n - 1])
|
|
288
|
+
(2,s) => \(x).(fb ~ _ with { fb(y) = y + (1.0 - s) * (x - y); });
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
// The best compromise on modern CPUs where two independent multiplications can be done in parallel.
|
|
292
|
+
// Other versions could possibly be faster on embedded devices.
|
|
293
|
+
smooth = smooth_imp(0);
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
//--------------------------------`(si.)smoothq`-------------------------------------
|
|
297
|
+
// Smoothing with continuously variable curves from Exponential to Linear, with a constant time.
|
|
298
|
+
//
|
|
299
|
+
// #### Usage
|
|
300
|
+
//
|
|
301
|
+
// ```
|
|
302
|
+
// _ : smoothq(time, q) : _;
|
|
303
|
+
// ```
|
|
304
|
+
//
|
|
305
|
+
// Where:
|
|
306
|
+
//
|
|
307
|
+
// * `time`: seconds to reach target
|
|
308
|
+
// * `q`: curve shape (between 0..1, 0 is Exponential, 1 is Linear)
|
|
309
|
+
//-----------------------------------------------------------------------------
|
|
310
|
+
declare smoothq author "Andrew John March";
|
|
311
|
+
declare smoothq licence "STK-4.3";
|
|
312
|
+
|
|
313
|
+
smoothq(time, q, tar) = envelope
|
|
314
|
+
with {
|
|
315
|
+
ratio = pow(q, 5) * 32 : max(0.001);
|
|
316
|
+
coef = (ratio / (1 + ratio))^(1 / (ma.SR * time));
|
|
317
|
+
fb(cBase, cTar, cSrc, cDistance, cDir, cY, cOut) = base, tar, src, distance, dir, y, out
|
|
318
|
+
with {
|
|
319
|
+
trig = cTar != tar;
|
|
320
|
+
src = select2(trig, cSrc, cOut);
|
|
321
|
+
dir = select2(trig, cDir, tar > src);
|
|
322
|
+
base = select2(trig, cBase, select2(dir,
|
|
323
|
+
(0.0 - ratio) * (1.0 - coef),
|
|
324
|
+
(1.0 + ratio) * (1.0 - coef)
|
|
325
|
+
));
|
|
326
|
+
distance = select2(trig, cDistance, abs(tar - src));
|
|
327
|
+
y = select2(dir,
|
|
328
|
+
select2(trig,
|
|
329
|
+
max( 0, base + cY * coef),
|
|
330
|
+
1
|
|
331
|
+
),
|
|
332
|
+
select2(trig,
|
|
333
|
+
min( 1, base + cY * coef),
|
|
334
|
+
0
|
|
335
|
+
)
|
|
336
|
+
);
|
|
337
|
+
out = select2(dir,
|
|
338
|
+
tar + y * distance,
|
|
339
|
+
src + y * distance
|
|
340
|
+
);
|
|
341
|
+
};
|
|
342
|
+
envelope = fb ~ (_,_,_,_,_,_,_) : !,!,!,!,!,!,_;
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
//--------------------------------`(si.)cbus`-------------------------------------
|
|
347
|
+
// N parallel cables for complex signals.
|
|
348
|
+
// `cbus` is a standard Faust function.
|
|
349
|
+
//
|
|
350
|
+
// #### Usage
|
|
351
|
+
//
|
|
352
|
+
// ```
|
|
353
|
+
// cbus(N)
|
|
354
|
+
// cbus(4) : (r0,i0), (r1,i1), (r2,i2), (r3,i3)
|
|
355
|
+
// ```
|
|
356
|
+
//
|
|
357
|
+
// Where:
|
|
358
|
+
//
|
|
359
|
+
// * `N`: is an integer known at compile time that indicates the number of parallel cables.
|
|
360
|
+
// * each complex number is represented by two real signals as (real,imag)
|
|
361
|
+
//-----------------------------------------------------------------------------
|
|
362
|
+
cbus(1) = (_,_);
|
|
363
|
+
cbus(N) = par(i, N, (_,_));
|
|
364
|
+
|
|
365
|
+
//--------------------------------`(si.)cmul`-------------------------------------
|
|
366
|
+
// Multiply two complex signals pointwise.
|
|
367
|
+
// `cmul` is a standard Faust function.
|
|
368
|
+
//
|
|
369
|
+
// #### Usage
|
|
370
|
+
//
|
|
371
|
+
// ```
|
|
372
|
+
// (r1,i1) : cmul(r2,i2) : (_,_)
|
|
373
|
+
// ```
|
|
374
|
+
//
|
|
375
|
+
// Where:
|
|
376
|
+
//
|
|
377
|
+
// * Each complex number is represented by two real signals as (real,imag), so
|
|
378
|
+
// - `(r1,i1)` = real and imaginary parts of signal 1
|
|
379
|
+
// - `(r2,i2)` = real and imaginary parts of signal 2
|
|
380
|
+
//-----------------------------------------------------------------------------
|
|
381
|
+
cmul(r1,i1,r2,i2) = (r1*r2 - i1*i2), (r1*i2 + r2*i1);
|
|
382
|
+
|
|
383
|
+
//--------------------------------`(si.)cconj`-------------------------------------
|
|
384
|
+
// Complex conjugation of a (complex) signal.
|
|
385
|
+
// `cconj` is a standard Faust function.
|
|
386
|
+
//
|
|
387
|
+
// #### Usage
|
|
388
|
+
//
|
|
389
|
+
// ```
|
|
390
|
+
// (r1,i1) : cconj : (_,_)
|
|
391
|
+
// ```
|
|
392
|
+
//
|
|
393
|
+
// Where:
|
|
394
|
+
//
|
|
395
|
+
// * Each complex number is represented by two real signals as (real,imag), so
|
|
396
|
+
// - `(r1,i1)` = real and imaginary parts of the input signal
|
|
397
|
+
// - `(r1,-i1)` = real and imaginary parts of the output signal
|
|
398
|
+
//-----------------------------------------------------------------------------
|
|
399
|
+
cconj = _, *(-1);
|
|
400
|
+
|
|
401
|
+
// end jos section
|
|
402
|
+
/************************************************************************
|
|
403
|
+
FAUST library file, further contributions section
|
|
404
|
+
All contributions below should indicate both the contributor and terms
|
|
405
|
+
of license. If no such indication is found, "git blame" will say who
|
|
406
|
+
last edited each line, and that person can be emailed to inquire about
|
|
407
|
+
license disposition, if their license choice is not already indicated
|
|
408
|
+
elsewhere among the libraries. It is expected that all software will be
|
|
409
|
+
released under LGPL, STK-4.3, MIT, BSD, or a similar FOSS license.
|
|
410
|
+
************************************************************************/
|
|
411
|
+
|
|
412
|
+
//-------------`(si.)onePoleSwitching`---------------
|
|
413
|
+
// One pole filter with independent attack and release times.
|
|
414
|
+
//
|
|
415
|
+
// #### Usage
|
|
416
|
+
//
|
|
417
|
+
// ```
|
|
418
|
+
// _ : onePoleSwitching(att,rel) : _
|
|
419
|
+
// ```
|
|
420
|
+
//
|
|
421
|
+
// Where:
|
|
422
|
+
//
|
|
423
|
+
// * `att`: the attack tau time constant in second
|
|
424
|
+
// * `rel`: the release tau time constant in second
|
|
425
|
+
//
|
|
426
|
+
//----------------------------------------------------
|
|
427
|
+
declare onePoleSwitching author "Jonatan Liljedahl, revised by Dario Sanfilippo";
|
|
428
|
+
declare onePoleSwitching licence "STK-4.3";
|
|
429
|
+
|
|
430
|
+
onePoleSwitching(att, rel, x) = loop ~ _
|
|
431
|
+
with {
|
|
432
|
+
loop(yState) = (1.0 - coeff) * x + coeff * yState
|
|
433
|
+
with {
|
|
434
|
+
coeff = ba.if(x > yState, ba.tau2pole(att), ba.tau2pole(rel));
|
|
435
|
+
};
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
// Kept for backward compatibility
|
|
439
|
+
lag_ud = onePoleSwitching;
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
// end further further contributions section
|
|
443
|
+
|
|
444
|
+
//-------------`(si.)rev`---------------
|
|
445
|
+
// Reverse the input signal by blocks of n>0 samples. `rev(1)` is the indentity
|
|
446
|
+
// function. `rev(n)` has a latency of `n-1` samples.
|
|
447
|
+
//
|
|
448
|
+
// #### Usage
|
|
449
|
+
//
|
|
450
|
+
// ```
|
|
451
|
+
// _ : rev(n) : _
|
|
452
|
+
// ```
|
|
453
|
+
//
|
|
454
|
+
// Where:
|
|
455
|
+
//
|
|
456
|
+
// * `n`: the block size in samples
|
|
457
|
+
//----------------------------------------------------
|
|
458
|
+
declare rev author "Yann Orlarey";
|
|
459
|
+
|
|
460
|
+
rev(n) = @(phase(n)*2)
|
|
461
|
+
with {
|
|
462
|
+
phase(n) = 1 : (+ : %(n)) ~ _ : max(0) : min(n-1);
|
|
463
|
+
};
|
|
464
|
+
|
|
465
|
+
//--------------------`(si.)vecOp`----------------------------------------------
|
|
466
|
+
//
|
|
467
|
+
// This function is a generalisation of Faust's iterators such as `prod` and
|
|
468
|
+
// `sum`, and it allows to perform operations on an arbitrary number of
|
|
469
|
+
// vectors, provided that they all have the same length. Unlike Faust's
|
|
470
|
+
// iterators `prod` and `sum` where the vector size is equal to one and the
|
|
471
|
+
// vector space dimension must be specified by the user, this function will
|
|
472
|
+
// infer the vector space dimension and vector size based on the vectors list
|
|
473
|
+
// that we provide.
|
|
474
|
+
//
|
|
475
|
+
// The outputs of the function are equal to the vector size, whereas the
|
|
476
|
+
// number of inputs is dependent on whether the elements of the vectors
|
|
477
|
+
// provided expect an incoming signal themselves or not. We will see a
|
|
478
|
+
// clarifying example later; in general, the number of total inputs will
|
|
479
|
+
// be the sum of the inputs in each input vector.
|
|
480
|
+
//
|
|
481
|
+
// Note that we must provide a list of at least two vectors, each with a size
|
|
482
|
+
// that is greater or equal to one.
|
|
483
|
+
//
|
|
484
|
+
// #### Usage
|
|
485
|
+
//
|
|
486
|
+
// ```
|
|
487
|
+
// si.bus(inputs(vectorsList)) : vecOp((vectorsList), op) : si.bus(outputs(ba.take(1, vectorsList)));
|
|
488
|
+
// ```
|
|
489
|
+
//
|
|
490
|
+
// #### Where
|
|
491
|
+
//
|
|
492
|
+
// * `vectorsList`: is a list of vectors
|
|
493
|
+
// * `op`: is a two-input, one-output operator
|
|
494
|
+
//
|
|
495
|
+
// For example, consider the following vectors lists:
|
|
496
|
+
//
|
|
497
|
+
// v0 = (0 , 1 , 2 , 3);
|
|
498
|
+
// v1 = (4 , 5 , 6 , 7);
|
|
499
|
+
// v2 = (8 , 9 , 10 , 11);
|
|
500
|
+
// v3 = (12 , 13 , 14 , 15);
|
|
501
|
+
// v4 = (+(16) , _ , 18 , *(19));
|
|
502
|
+
// vv = (v0 , v1 , v2 , v3);
|
|
503
|
+
//
|
|
504
|
+
// Although Faust has limitations for list processing, these vectors can be
|
|
505
|
+
// combined or processed individually.
|
|
506
|
+
//
|
|
507
|
+
// If we do:
|
|
508
|
+
//
|
|
509
|
+
// process = vecOp(v0, +);
|
|
510
|
+
//
|
|
511
|
+
// the function will deduce a vector space of dimension equal to four and
|
|
512
|
+
// a vector length equal to one. Note that this is equivalent to writing:
|
|
513
|
+
//
|
|
514
|
+
// process = v0 : sum(i, 4, _);
|
|
515
|
+
//
|
|
516
|
+
// Similarly, we can write:
|
|
517
|
+
//
|
|
518
|
+
// process = vecOp((v0 , v1), *) :> _;
|
|
519
|
+
//
|
|
520
|
+
// and we have a dimension-two space and length-four vectors. This is the dot
|
|
521
|
+
// product between vectors v0 and v1, which is equivalent to writing:
|
|
522
|
+
//
|
|
523
|
+
// process = v0 , v1 : dot(4);
|
|
524
|
+
//
|
|
525
|
+
// The examples above have no inputs, as none of the elements of the vectors
|
|
526
|
+
// expect inputs. On the other hand, we can write:
|
|
527
|
+
//
|
|
528
|
+
// process = vecOp((v4 , v4), +);
|
|
529
|
+
//
|
|
530
|
+
// and the function will have six inputs and four outputs, as each vector
|
|
531
|
+
// has three of the four elements expecting an input, times two, as the two
|
|
532
|
+
// input vectors are identical.
|
|
533
|
+
//
|
|
534
|
+
// Finally, we can write:
|
|
535
|
+
//
|
|
536
|
+
// process = vecOp(vv, &);
|
|
537
|
+
//
|
|
538
|
+
// to perform the bitwise AND on all the elements at the same position in
|
|
539
|
+
// each vector, having dimension equal to the vector length equal to four.
|
|
540
|
+
//
|
|
541
|
+
// Or even:
|
|
542
|
+
//
|
|
543
|
+
// process = vecOp((vv , vv), &);
|
|
544
|
+
//
|
|
545
|
+
// which gives us a dimension equal to two, and a vector size equal to sixteen.
|
|
546
|
+
//
|
|
547
|
+
// For a more practical use-case, this is how we can implement a time-invariant
|
|
548
|
+
// feedback delay network with Hadamard matrix:
|
|
549
|
+
//
|
|
550
|
+
// N = 4;
|
|
551
|
+
// normalisation = 1.0 / sqrt(N);
|
|
552
|
+
// coeffVec = par(i, N, .99 * normalisation);
|
|
553
|
+
// delVec = par(i, N, (i + 1) * 3);
|
|
554
|
+
// process = vecOp((si.bus(N) , si.bus(N)), +) ~
|
|
555
|
+
// vecOp((vecOp((ro.hadamard(N) , coeffVec), *) , delVec), @);
|
|
556
|
+
//
|
|
557
|
+
//------------------------------------------------------------------------------
|
|
558
|
+
declare vecOp author "Dario Sanfilippo";
|
|
559
|
+
declare vecOp copyright "Copyright (C) 2022 Dario Sanfilippo
|
|
560
|
+
<sanfilippo.dario@gmail.com>";
|
|
561
|
+
declare vecOp license "MIT License";
|
|
562
|
+
vecOp(vectorsList, op) =
|
|
563
|
+
vectorsList : seq(i, vecDim - 1, vecOp2D , vecBus(vecDim - 2 - i))
|
|
564
|
+
with {
|
|
565
|
+
vecBus(0) = par(i, vecLen, 0 : !);
|
|
566
|
+
vecBus(dim) = par(i, dim, si.bus(vecLen));
|
|
567
|
+
vecOp2D = ro.interleave(vecLen, 2) : par(i, vecLen, op);
|
|
568
|
+
vecDim = outputs(vectorsList) / vecLen;
|
|
569
|
+
vecLen = outputs(ba.take(1, vectorsList));
|
|
570
|
+
};
|