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,116 @@
|
|
|
1
|
+
declare name "flute";
|
|
2
|
+
declare description "Nonlinear WaveGuide Flute";
|
|
3
|
+
declare author "Romain Michon (rmichon@ccrma.stanford.edu)";
|
|
4
|
+
declare copyright "Romain Michon";
|
|
5
|
+
declare version "1.0";
|
|
6
|
+
declare licence "STK-4.3"; // Synthesis Tool Kit 4.3 (MIT style license);
|
|
7
|
+
declare description "A simple flute based on Smith algorithm: https://ccrma.stanford.edu/~jos/pasp/Flutes_Recorders_Pipe_Organs.html";
|
|
8
|
+
|
|
9
|
+
import("instruments.lib");
|
|
10
|
+
|
|
11
|
+
//==================== GUI SPECIFICATION ================
|
|
12
|
+
|
|
13
|
+
freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",440,20,20000,1);
|
|
14
|
+
gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",1,0,1,0.01);
|
|
15
|
+
gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]") : int;
|
|
16
|
+
|
|
17
|
+
pressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Pressure
|
|
18
|
+
[2][tooltip:Breath pressure (value bewteen 0 and 1)]",0.9,0,1.5,0.01) : si.smoo;
|
|
19
|
+
breathAmp = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Noise Gain
|
|
20
|
+
[2][tooltip:Breath noise gain (value between 0 and 1)]",0.1,0,1,0.01)/10;
|
|
21
|
+
|
|
22
|
+
typeModulation = nentry("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
23
|
+
[3][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
24
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
25
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
26
|
+
nonLinearity = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
27
|
+
[3][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
28
|
+
frequencyMod = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
29
|
+
[3][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
30
|
+
nonLinAttack = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity Attack
|
|
31
|
+
[3][unit:s][Attack duration of the nonlinearity]",0.1,0,2,0.01);
|
|
32
|
+
|
|
33
|
+
vibratoFreq = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Freq
|
|
34
|
+
[4][unit:Hz]",5,1,15,0.1);
|
|
35
|
+
vibratoGain = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Gain
|
|
36
|
+
[4][tooltip:A value between 0 and 1]",0.1,0,1,0.01);
|
|
37
|
+
vibratoBegin = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Begin
|
|
38
|
+
[4][unit:s][tooltip:Vibrato silence duration before attack]",0.1,0,2,0.01);
|
|
39
|
+
vibratoAttack = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Attack
|
|
40
|
+
[4][unit:s][tooltip:Vibrato attack duration]",0.5,0,2,0.01);
|
|
41
|
+
vibratoRelease = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Release
|
|
42
|
+
[4][unit:s][tooltip:Vibrato release duration]",0.2,0,2,0.01);
|
|
43
|
+
|
|
44
|
+
pressureEnvelope = checkbox("h:Envelopes_and_Vibrato/v:Pressure_Envelope_Parameters/Pressure_Env
|
|
45
|
+
[5][unit:s][tooltip:Activate Pressure envelope]") : int;
|
|
46
|
+
env1Attack = hslider("h:Envelopes_and_Vibrato/v:Pressure_Envelope_Parameters/Press_Env_Attack
|
|
47
|
+
[5][unit:s][tooltip:Pressure envelope attack duration]",0.05,0,2,0.01);
|
|
48
|
+
env1Decay = hslider("h:Envelopes_and_Vibrato/v:Pressure_Envelope_Parameters/Press_Env_Decay
|
|
49
|
+
[5][unit:s][tooltip:Pressure envelope decay duration]",0.2,0,2,0.01);
|
|
50
|
+
env1Release = hslider("h:Envelopes_and_Vibrato/v:Pressure_Envelope_Parameters/Press_Env_Release
|
|
51
|
+
[5][unit:s][tooltip:Pressure envelope release duration]",1,0,2,0.01);
|
|
52
|
+
|
|
53
|
+
env2Attack = hslider("h:Envelopes_and_Vibrato/v:Global_Envelope_Parameters/Glob_Env_Attack
|
|
54
|
+
[6][unit:s][tooltip:Global envelope attack duration]",0.1,0,2,0.01);
|
|
55
|
+
env2Release = hslider("h:Envelopes_and_Vibrato/v:Global_Envelope_Parameters/Glob_Env_Release
|
|
56
|
+
[6][unit:s][tooltip:Global envelope release duration]",0.1,0,2,0.01);
|
|
57
|
+
|
|
58
|
+
//==================== SIGNAL PROCESSING ================
|
|
59
|
+
|
|
60
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
61
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
62
|
+
|
|
63
|
+
//nonlinear filter order
|
|
64
|
+
nlfOrder = 6;
|
|
65
|
+
|
|
66
|
+
//attack - sustain - release envelope for nonlinearity (declared in instruments.lib)
|
|
67
|
+
envelopeMod = en.asr(nonLinAttack,1,0.1,gate);
|
|
68
|
+
|
|
69
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
70
|
+
//for using it with waveguide instruments
|
|
71
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),envelopeMod,freq,
|
|
72
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
73
|
+
|
|
74
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
75
|
+
|
|
76
|
+
//Loops feedbacks gains
|
|
77
|
+
feedBack1 = 0.4;
|
|
78
|
+
feedBack2 = 0.4;
|
|
79
|
+
|
|
80
|
+
//Delay Lines
|
|
81
|
+
embouchureDelayLength = (ma.SR/freq)/2-2;
|
|
82
|
+
boreDelayLength = ma.SR/freq-2;
|
|
83
|
+
embouchureDelay = de.fdelay(4096,embouchureDelayLength);
|
|
84
|
+
boreDelay = de.fdelay(4096,boreDelayLength);
|
|
85
|
+
|
|
86
|
+
//Polynomial
|
|
87
|
+
poly = _ <: _ - _*_*_;
|
|
88
|
+
|
|
89
|
+
//jet filter is a lowpass filter (declared in miscfilter.lib)
|
|
90
|
+
reflexionFilter = fi.lowpass(1,2000);
|
|
91
|
+
|
|
92
|
+
//stereoizer is declared in instruments.lib and implement a stereo spatialisation in function of
|
|
93
|
+
//the frequency period in number of samples
|
|
94
|
+
stereo = stereoizer(ma.SR/freq);
|
|
95
|
+
|
|
96
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
97
|
+
|
|
98
|
+
//Pressure envelope
|
|
99
|
+
env1 = en.adsr(env1Attack,env1Decay,0.9,env1Release,(gate | pressureEnvelope))*pressure*1.1;
|
|
100
|
+
|
|
101
|
+
//Global envelope
|
|
102
|
+
env2 = en.asr(env2Attack,1,env2Release,gate)*0.5;
|
|
103
|
+
|
|
104
|
+
//Vibrato Envelope
|
|
105
|
+
vibratoEnvelope = envVibrato(vibratoBegin,vibratoAttack,100,vibratoRelease,gate)*vibratoGain;
|
|
106
|
+
|
|
107
|
+
vibrato = os.osc(vibratoFreq)*vibratoEnvelope;
|
|
108
|
+
|
|
109
|
+
breath = no.noise*env1;
|
|
110
|
+
|
|
111
|
+
flow = env1 + breath*breathAmp + vibrato;
|
|
112
|
+
|
|
113
|
+
//instrReverb is declared in instruments.lib
|
|
114
|
+
process = (_ <: (flow + *(feedBack1) : embouchureDelay : poly) + *(feedBack2) : reflexionFilter)~(boreDelay : NLFM) : *(env2)*gain :
|
|
115
|
+
stereo : instrReverb;
|
|
116
|
+
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
declare name "fluteStk";
|
|
2
|
+
declare description "Nonlinear WaveGuide Flute from STK";
|
|
3
|
+
declare author "Romain Michon";
|
|
4
|
+
declare copyright "Romain Michon (rmichon@ccrma.stanford.edu)";
|
|
5
|
+
declare version "1.0";
|
|
6
|
+
declare licence "STK-4.3"; // Synthesis Tool Kit 4.3 (MIT style license);
|
|
7
|
+
declare description "A simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.";
|
|
8
|
+
declare reference "https://ccrma.stanford.edu/~jos/pasp/Flutes_Recorders_Pipe_Organs.html";
|
|
9
|
+
|
|
10
|
+
import("instruments.lib");
|
|
11
|
+
|
|
12
|
+
//==================== GUI SPECIFICATION ================
|
|
13
|
+
|
|
14
|
+
freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",440,20,20000,1);
|
|
15
|
+
gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",1,0,1,0.01);
|
|
16
|
+
gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]");
|
|
17
|
+
|
|
18
|
+
embouchureAjust = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Embouchure_Ajust
|
|
19
|
+
[2][tooltip:A value between 0 and 1]",0.5,0,1,0.01);
|
|
20
|
+
noiseGain = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Noise_Gain
|
|
21
|
+
[2][tooltip:A value between 0 and 1]",0.03,0,1,0.01);
|
|
22
|
+
pressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Pressure
|
|
23
|
+
[2][tooltip:Breath pressure (value between 0 and 1)]",1,0,1,0.01);
|
|
24
|
+
|
|
25
|
+
typeModulation = nentry("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
26
|
+
[3][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
27
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
28
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
29
|
+
nonLinearity = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
30
|
+
[3][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
31
|
+
frequencyMod = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
32
|
+
[3][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
33
|
+
nonLinAttack = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity_Attack
|
|
34
|
+
[3][unit:s][Attack duration of the nonlinearity]",0.1,0,2,0.01);
|
|
35
|
+
|
|
36
|
+
vibratoFreq = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Freq
|
|
37
|
+
[4][unit:Hz]",6,1,15,0.1);
|
|
38
|
+
vibratoGain = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Gain
|
|
39
|
+
[4][tooltip:A value between 0 and 1]",0.05,0,1,0.01);
|
|
40
|
+
vibratoBegin = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Begin
|
|
41
|
+
[4][unit:s][tooltip:Vibrato silence duration before attack]",0.05,0,2,0.01);
|
|
42
|
+
vibratoAttack = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Attack
|
|
43
|
+
[4][unit:s][tooltip:Vibrato attack duration]",0.5,0,2,0.01);
|
|
44
|
+
vibratoRelease = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Release
|
|
45
|
+
[4][unit:s][tooltip:Vibrato release duration]",0.1,0,2,0.01);
|
|
46
|
+
|
|
47
|
+
envelopeAttack = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Attack
|
|
48
|
+
[5][unit:s][tooltip:Envelope attack duration]",0.03,0,2,0.01);
|
|
49
|
+
envelopeDecay = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Decay
|
|
50
|
+
[5][unit:s][tooltip:Envelope decay duration]",0.01,0,2,0.01);
|
|
51
|
+
envelopeRelease = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Release
|
|
52
|
+
[5][unit:s][tooltip:Envelope release duration]",0.3,0,2,0.01);
|
|
53
|
+
|
|
54
|
+
//==================== SIGNAL PROCESSING ================
|
|
55
|
+
|
|
56
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
57
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
58
|
+
|
|
59
|
+
//nonlinear filter order
|
|
60
|
+
nlfOrder = 6;
|
|
61
|
+
|
|
62
|
+
//attack - sustain - release envelope for nonlinearity (declared in instruments.lib)
|
|
63
|
+
envelopeMod = en.asr(nonLinAttack,1,envelopeRelease,gate);
|
|
64
|
+
|
|
65
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
66
|
+
//for using it with waveguide instruments
|
|
67
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),envelopeMod,freq,
|
|
68
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
69
|
+
|
|
70
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
71
|
+
|
|
72
|
+
jetReflexion = 0.5;
|
|
73
|
+
//jetRatio = 0.08 + (0.48*embouchureAjust); //original stk function
|
|
74
|
+
jetRatio = 1+(0.5-embouchureAjust); //corrected function
|
|
75
|
+
endReflexion = 0.5;
|
|
76
|
+
|
|
77
|
+
//Delay lines lengths in number of samples
|
|
78
|
+
//jetDelayLength = (SR/freq-2)*jetRatio; //original stk function for jet delay length
|
|
79
|
+
jetDelayLength = (ma.SR/(freq*2)-2)*jetRatio; //corrected function for jet delay length
|
|
80
|
+
boreDelayLength = ma.SR/(freq*2)-2; //original function for bore delay length
|
|
81
|
+
//boreDelayLength = SR/(freq)-2; //corrected function for bore delay length
|
|
82
|
+
filterPole = 0.7 - (0.1*22050/ma.SR);
|
|
83
|
+
|
|
84
|
+
//One Pole Filter (declared in instruments.lib)
|
|
85
|
+
onePoleFilter = _*gain : onePole(b0,a1)
|
|
86
|
+
with{
|
|
87
|
+
gain = -1;
|
|
88
|
+
pole = 0.7 - (0.1*22050/ma.SR);
|
|
89
|
+
b0 = 1 - pole;
|
|
90
|
+
a1 = -pole;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
94
|
+
//the frequency period in number of samples
|
|
95
|
+
stereo = stereoizer(ma.SR/freq);
|
|
96
|
+
|
|
97
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
98
|
+
|
|
99
|
+
//the vibrato amplitude is controlled by an envelope generator (declared in instruments.lib)
|
|
100
|
+
vibrato = vibratoGain*envVibrato(vibratoBegin,vibratoAttack,100,vibratoRelease,gate)*os.osc(vibratoFreq);
|
|
101
|
+
|
|
102
|
+
//Breath pressure is controlled by an Attack / Decay / Sustain / Release envelope
|
|
103
|
+
envelopeBreath = pressure*en.adsr(pressure*envelopeAttack,envelopeDecay,0.8,envelopeRelease,gate);
|
|
104
|
+
breathPressure = envelopeBreath + envelopeBreath*(noiseGain*no.noise + vibrato) + 10.0^(-15.0);
|
|
105
|
+
|
|
106
|
+
//delay lines
|
|
107
|
+
jetDelay = de.fdelay(4096,jetDelayLength);
|
|
108
|
+
boreDelay = de.fdelay(4096,boreDelayLength);
|
|
109
|
+
|
|
110
|
+
//reflexion filter is a one pole and a dcblocker
|
|
111
|
+
reflexionFilters = onePoleFilter : fi.dcblocker;
|
|
112
|
+
|
|
113
|
+
process =
|
|
114
|
+
(reflexionFilters <:
|
|
115
|
+
//Differential Pressure
|
|
116
|
+
((breathPressure - _*jetReflexion) :
|
|
117
|
+
jetDelay : jetTable) + (_*endReflexion)) ~ (boreDelay : NLFM) :
|
|
118
|
+
//output scaling and stereo signal
|
|
119
|
+
*(0.3*gain) : stereo : instrReverb;
|
|
120
|
+
|
|
121
|
+
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
declare name "glassHarmonica";
|
|
2
|
+
declare description "Nonlinear Banded Waveguide Modeled Glass Harmonica";
|
|
3
|
+
declare author "Romain Michon";
|
|
4
|
+
declare copyright "Romain Michon (rmichon@ccrma.stanford.edu)";
|
|
5
|
+
declare version "1.0";
|
|
6
|
+
declare licence "STK-4.3"; // Synthesis Tool Kit 4.3 (MIT style license);
|
|
7
|
+
declare description "This instrument uses banded waveguide. For more information, see Essl, G. and Cook, P. Banded Waveguides: Towards Physical Modelling of Bar Percussion Instruments, Proceedings of the 1999 International Computer Music Conference.";
|
|
8
|
+
|
|
9
|
+
import("instruments.lib");
|
|
10
|
+
|
|
11
|
+
//==================== GUI SPECIFICATION ================
|
|
12
|
+
|
|
13
|
+
freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",440,20,20000,1);
|
|
14
|
+
gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",0.8,0,1,0.01);
|
|
15
|
+
gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]");
|
|
16
|
+
|
|
17
|
+
select = nentry("h:Physical_and_Nonlinearity/v:Physical_Parameters/Excitation_Selector
|
|
18
|
+
[2][tooltip:0=Bow; 1=Strike]",0,0,1,1);
|
|
19
|
+
integrationConstant = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Integration_Constant
|
|
20
|
+
[2][tooltip:A value between 0 and 1]",0,0,1,0.01);
|
|
21
|
+
baseGain = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Base_Gain
|
|
22
|
+
[2][tooltip:A value between 0 and 1]",1,0,1,0.01);
|
|
23
|
+
bowPressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Bow_Pressure
|
|
24
|
+
[2][tooltip:Bow pressure on the instrument (Value between 0 and 1)]",0.2,0,1,0.01);
|
|
25
|
+
bowPosition = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Bow_Position
|
|
26
|
+
[2][tooltip:Bow position on the instrument (Value between 0 and 1)]",0,0,1,0.01);
|
|
27
|
+
|
|
28
|
+
typeModulation = nentry("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
29
|
+
[3][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
30
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
31
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
32
|
+
nonLinearity = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
33
|
+
[3][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
34
|
+
frequencyMod = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
35
|
+
[3][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
36
|
+
nonLinAttack = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity_Attack
|
|
37
|
+
[3][unit:s][Attack duration of the nonlinearity]",0.1,0,2,0.01);
|
|
38
|
+
|
|
39
|
+
//==================== MODAL PARAMETERS ================
|
|
40
|
+
|
|
41
|
+
preset = 3;
|
|
42
|
+
|
|
43
|
+
nMode(3) = 6;
|
|
44
|
+
|
|
45
|
+
modes(3,0) = 1.0;
|
|
46
|
+
basegains(3,0) = pow(0.999,1);
|
|
47
|
+
excitation(3,0) = 1*gain*gate/(nMode(3) - 1);
|
|
48
|
+
|
|
49
|
+
modes(3,1) = 2.32;
|
|
50
|
+
basegains(3,1) = pow(0.999,2);
|
|
51
|
+
excitation(3,1) = 1*gain*gate/(nMode(3) - 1);
|
|
52
|
+
|
|
53
|
+
modes(3,2) = 4.25;
|
|
54
|
+
basegains(3,2) = pow(0.999,3);
|
|
55
|
+
excitation(3,2) = 1*gain*gate/(nMode(3) - 1);
|
|
56
|
+
|
|
57
|
+
modes(3,3) = 6.63;
|
|
58
|
+
basegains(3,3) = pow(0.999,4);
|
|
59
|
+
excitation(3,3) = 1*gain*gate/(nMode(3) - 1);
|
|
60
|
+
|
|
61
|
+
modes(3,4) = 9.38;
|
|
62
|
+
basegains(3,4) = pow(0.999,5);
|
|
63
|
+
excitation(3,4) = 1*gain*gate/(nMode(3) - 1);
|
|
64
|
+
|
|
65
|
+
modes(3,5) = 9 : float;
|
|
66
|
+
basegains(3,5) = 0 : float;
|
|
67
|
+
excitation(3,5) = 0 : float;
|
|
68
|
+
|
|
69
|
+
//==================== SIGNAL PROCESSING ================
|
|
70
|
+
|
|
71
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
72
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
73
|
+
|
|
74
|
+
//nonlinear filter order
|
|
75
|
+
nlfOrder = 6;
|
|
76
|
+
|
|
77
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
78
|
+
//for using it with waveguide instruments
|
|
79
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),1,freq,
|
|
80
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
81
|
+
|
|
82
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
83
|
+
|
|
84
|
+
//the number of modes depends on the preset being used
|
|
85
|
+
nModes = nMode(preset);
|
|
86
|
+
|
|
87
|
+
//bow table parameters
|
|
88
|
+
tableOffset = 0;
|
|
89
|
+
tableSlope = 10 - (9*bowPressure);
|
|
90
|
+
|
|
91
|
+
delayLengthBase = ma.SR/freq;
|
|
92
|
+
|
|
93
|
+
//delay lengths in number of samples
|
|
94
|
+
delayLength(x) = delayLengthBase/modes(preset,x);
|
|
95
|
+
|
|
96
|
+
//delay lines
|
|
97
|
+
delayLine(x) = de.delay(4096,delayLength(x));
|
|
98
|
+
|
|
99
|
+
//Filter bank: bandpass filters (declared in instruments.lib)
|
|
100
|
+
radius = 1 - ma.PI*32/ma.SR;
|
|
101
|
+
bandPassFilter(x) = bandPass(freq*modes(preset,x),radius);
|
|
102
|
+
|
|
103
|
+
//Delay lines feedback for bow table lookup control
|
|
104
|
+
baseGainApp = 0.8999999999999999 + (0.1*baseGain);
|
|
105
|
+
velocityInputApp = integrationConstant;
|
|
106
|
+
velocityInput = velocityInputApp + _*baseGainApp,par(i,(nModes-1),(_*baseGainApp)) :> +;
|
|
107
|
+
|
|
108
|
+
//Bow velocity is controlled by an ADSR envelope
|
|
109
|
+
maxVelocity = 0.03 + 0.1*gain;
|
|
110
|
+
bowVelocity = maxVelocity*en.adsr(0.02,0.005,1,0.01,gate);
|
|
111
|
+
|
|
112
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
113
|
+
//the frequency period in number of samples
|
|
114
|
+
stereo = stereoizer(delayLengthBase);
|
|
115
|
+
|
|
116
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
117
|
+
|
|
118
|
+
//Bow table lookup (bow is decalred in instruments.lib)
|
|
119
|
+
bowing = bowVelocity - velocityInput <: *(bow(tableOffset,tableSlope)) : /(nModes);
|
|
120
|
+
|
|
121
|
+
//One resonance
|
|
122
|
+
resonance(x) = + : + (excitation(preset,x)*select) : delayLine(x) : *(basegains(preset,x)) : bandPassFilter(x);
|
|
123
|
+
|
|
124
|
+
process =
|
|
125
|
+
//Bowed Excitation
|
|
126
|
+
(bowing*((select-1)*-1) <:
|
|
127
|
+
//nModes resonances with nModes feedbacks for bow table look-up
|
|
128
|
+
par(i,nModes,(resonance(i)~_)))~par(i,nModes,_) :> + :
|
|
129
|
+
//Signal Scaling and stereo
|
|
130
|
+
*(4) : NLFM : stereo : instrReverb;
|
|
131
|
+
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
declare name "harpsi";
|
|
2
|
+
declare description "Nonlinear WaveGuide Commuted Harpsichord";
|
|
3
|
+
declare author "Romain Michon (rmichon@ccrma.stanford.edu)";
|
|
4
|
+
declare copyright "Romain Michon";
|
|
5
|
+
declare version "1.0";
|
|
6
|
+
declare licence "STK-4.3"; // Synthesis Tool Kit 4.3 (MIT style license);
|
|
7
|
+
declare description "A commuted WaveGuide Harpsichord.";
|
|
8
|
+
|
|
9
|
+
import("instruments.lib");
|
|
10
|
+
|
|
11
|
+
//==================== GUI SPECIFICATION ================
|
|
12
|
+
|
|
13
|
+
freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",440,20,20000,1);
|
|
14
|
+
gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",0.8,0,1,0.01);
|
|
15
|
+
gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]");
|
|
16
|
+
|
|
17
|
+
typeModulation = nentry("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
18
|
+
[2][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
19
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
20
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
21
|
+
nonLinearity = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
22
|
+
[2][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
23
|
+
frequencyMod = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
24
|
+
[2][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
25
|
+
|
|
26
|
+
//==================== PROCESSING ================
|
|
27
|
+
|
|
28
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
29
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
30
|
+
|
|
31
|
+
//nonlinear filter order
|
|
32
|
+
nlfOrder = 6;
|
|
33
|
+
|
|
34
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
35
|
+
//for using it with waveguide instruments
|
|
36
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),1,freq,
|
|
37
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
38
|
+
|
|
39
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
40
|
+
|
|
41
|
+
//convert a frequency in a midi note number
|
|
42
|
+
freqToNoteNumber = (log-log(440))/log(2)*12+69+0.5 : int;
|
|
43
|
+
freqn = freq : freqToNoteNumber;
|
|
44
|
+
|
|
45
|
+
//string excitation
|
|
46
|
+
soundBoard = dryTapAmp*no.noise
|
|
47
|
+
with{
|
|
48
|
+
dryTapAmpT60 = ffunction(float getValueDryTapAmpT60(float), <harpsichord.h>,"");
|
|
49
|
+
noteCutOffTime = freqn : dryTapAmpT60*gain;
|
|
50
|
+
dryTapAmp = asympT60(0.15,0,noteCutOffTime,gate);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
//loopfilter is a biquad filter whose coefficients are extracted from a C++ file using the foreign function mechanism
|
|
54
|
+
loopFilter = fi.TF2(b0,b1,b2,a1,a2)
|
|
55
|
+
with{
|
|
56
|
+
//functions are imported from the C++ file
|
|
57
|
+
loopFilterb0 = ffunction(float getValueLoopFilterb0(float), <harpsichord.h>,"");
|
|
58
|
+
loopFilterb1 = ffunction(float getValueLoopFilterb1(float), <harpsichord.h>,"");
|
|
59
|
+
loopFilterb2 = ffunction(float getValueLoopFilterb2(float), <harpsichord.h>,"");
|
|
60
|
+
loopFiltera1 = ffunction(float getValueLoopFiltera1(float), <harpsichord.h>,"");
|
|
61
|
+
loopFiltera2 = ffunction(float getValueLoopFiltera2(float), <harpsichord.h>,"");
|
|
62
|
+
//coefficients are extracted from the functions
|
|
63
|
+
b0 = loopFilterb0(freqn);
|
|
64
|
+
b1 = loopFilterb1(freqn);
|
|
65
|
+
b2 = loopFilterb2(freqn);
|
|
66
|
+
a1 = loopFiltera1(freqn);
|
|
67
|
+
a2 = loopFiltera2(freqn);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
//delay length as a number of samples
|
|
71
|
+
delayLength = ma.SR/freq;
|
|
72
|
+
|
|
73
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
74
|
+
//the frequency period in number of samples
|
|
75
|
+
stereo = stereoizer(delayLength);
|
|
76
|
+
|
|
77
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
78
|
+
|
|
79
|
+
//envelope for string loop resonance time
|
|
80
|
+
stringLoopGainT = gate*0.9996 + (gate<1)*releaseLoopGain(freqn)*0.9 : si.smoo
|
|
81
|
+
with{
|
|
82
|
+
releaseLoopGain = ffunction(float getValueReleaseLoopGain(float), <harpsichord.h>,"");
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//one string
|
|
86
|
+
string = (*(stringLoopGainT)+_ : de.delay(4096,delayLength) : loopFilter)~NLFM;
|
|
87
|
+
|
|
88
|
+
process = soundBoard : string : stereo : instrReverb;
|
|
89
|
+
|
|
90
|
+
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
//Parameters for harpsichord.dsp
|
|
2
|
+
//©Romain Michon (rmichon@ccrma.stanford.edu), 2011
|
|
3
|
+
//licence: FAUST-STK
|
|
4
|
+
|
|
5
|
+
#include "instrument.h"
|
|
6
|
+
|
|
7
|
+
#define _LOOKUP_TABLE_H_
|
|
8
|
+
|
|
9
|
+
double DryTapAmpT60_points[16*2] = {
|
|
10
|
+
// NoteNumber(A440=69), T60(sec)
|
|
11
|
+
21.001,0.491,
|
|
12
|
+
26.587,0.498,
|
|
13
|
+
34.249,0.470,
|
|
14
|
+
40.794,0.441,
|
|
15
|
+
47.977,0.392,
|
|
16
|
+
55.000,0.370,
|
|
17
|
+
60.000,0.370,
|
|
18
|
+
66.000,0.370,
|
|
19
|
+
71.934,0.370,
|
|
20
|
+
78.000,0.370,
|
|
21
|
+
83.936,0.390,
|
|
22
|
+
88.557,0.387,
|
|
23
|
+
92.858,0.400,
|
|
24
|
+
97.319,0.469,
|
|
25
|
+
102.400,0.500,
|
|
26
|
+
107.198,0.494 };
|
|
27
|
+
extern LookupTable DryTapAmpT60;
|
|
28
|
+
LookupTable DryTapAmpT60(&DryTapAmpT60_points[0], 16);
|
|
29
|
+
|
|
30
|
+
float getValueDryTapAmpT60 (float index){
|
|
31
|
+
return DryTapAmpT60.getValue(index);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
double releaseLoopGain_points[10*2] = {
|
|
35
|
+
21.000,0.865,
|
|
36
|
+
24.000,0.880,
|
|
37
|
+
29.000,0.896,
|
|
38
|
+
36.000,0.910,
|
|
39
|
+
48.000,0.920,
|
|
40
|
+
60.000,0.950,
|
|
41
|
+
72.000,0.965,
|
|
42
|
+
84.000,0.988,
|
|
43
|
+
88.000,0.997,
|
|
44
|
+
99.000,0.988 };
|
|
45
|
+
extern LookupTable releaseLoopGain;
|
|
46
|
+
LookupTable releaseLoopGain(&releaseLoopGain_points[0], 10);
|
|
47
|
+
|
|
48
|
+
float getValueReleaseLoopGain(float index){
|
|
49
|
+
return releaseLoopGain.getValue(index);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
double loopFilterb0_points[18*2] = {
|
|
53
|
+
35.000,0.94373,
|
|
54
|
+
36.000,0.94731,
|
|
55
|
+
46.000,0.94731,
|
|
56
|
+
47.000,0.96202,
|
|
57
|
+
52.000,0.96202,
|
|
58
|
+
53.000,0.97477,
|
|
59
|
+
58.000,0.97477,
|
|
60
|
+
59.000,0.97733,
|
|
61
|
+
64.000,0.97733,
|
|
62
|
+
65.000,0.97971,
|
|
63
|
+
70.000,0.97971,
|
|
64
|
+
71.000,0.97971,
|
|
65
|
+
76.000,0.97971,
|
|
66
|
+
77.000,0.98698,
|
|
67
|
+
82.000,0.98698,
|
|
68
|
+
83.000,0.98462,
|
|
69
|
+
86.000,0.98462,
|
|
70
|
+
87.000,0.98611,
|
|
71
|
+
};
|
|
72
|
+
extern LookupTable loopFilterb0;
|
|
73
|
+
LookupTable loopFilterb0(&loopFilterb0_points[0], 18);
|
|
74
|
+
|
|
75
|
+
float getValueLoopFilterb0(float index){
|
|
76
|
+
return loopFilterb0.getValue(index);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
double loopFilterb1_points[18*2] = {
|
|
80
|
+
35.000,0.60010,
|
|
81
|
+
36.000,-0.59124,
|
|
82
|
+
46.000,-0.59124,
|
|
83
|
+
47.000,-0.21243,
|
|
84
|
+
52.000,-0.21243,
|
|
85
|
+
53.000,-0.39280,
|
|
86
|
+
58.000,-0.39280,
|
|
87
|
+
59.000,-0.48307,
|
|
88
|
+
64.000,-0.48307,
|
|
89
|
+
65.000,0.51965,
|
|
90
|
+
70.000,0.51965,
|
|
91
|
+
71.000,0.51965,
|
|
92
|
+
76.000,0.51965,
|
|
93
|
+
77.000,-0.42463,
|
|
94
|
+
82.000,-0.42463,
|
|
95
|
+
83.000,0.85655,
|
|
96
|
+
86.000,0.85655,
|
|
97
|
+
87.000,0.68851,
|
|
98
|
+
};
|
|
99
|
+
extern LookupTable loopFilterb1;
|
|
100
|
+
LookupTable loopFilterb1(&loopFilterb1_points[0], 18);
|
|
101
|
+
|
|
102
|
+
float getValueLoopFilterb1(float index){
|
|
103
|
+
return loopFilterb1.getValue(index);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
double loopFilterb2_points[18*2] = {
|
|
107
|
+
35.000,-0.00360,
|
|
108
|
+
36.000,-0.12249,
|
|
109
|
+
46.000,-0.12249,
|
|
110
|
+
47.000,-0.16044,
|
|
111
|
+
52.000,-0.16044,
|
|
112
|
+
53.000,-0.21680,
|
|
113
|
+
58.000,-0.21680,
|
|
114
|
+
59.000,-0.16346,
|
|
115
|
+
64.000,-0.16346,
|
|
116
|
+
65.000,0.22162,
|
|
117
|
+
70.000,0.22162,
|
|
118
|
+
71.000,0.22162,
|
|
119
|
+
76.000,0.22162,
|
|
120
|
+
77.000,-0.14973,
|
|
121
|
+
82.000,-0.14973,
|
|
122
|
+
83.000,0.24937,
|
|
123
|
+
86.000,0.24937,
|
|
124
|
+
87.000,0.14838,
|
|
125
|
+
};
|
|
126
|
+
extern LookupTable loopFilterb2;
|
|
127
|
+
LookupTable loopFilterb2(&loopFilterb2_points[0], 18);
|
|
128
|
+
|
|
129
|
+
float getValueLoopFilterb2(float index){
|
|
130
|
+
return loopFilterb2.getValue(index);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
double loopFiltera1_points[18*2] = {
|
|
134
|
+
35.000,0.5941,
|
|
135
|
+
36.000,-0.65928,
|
|
136
|
+
46.000,-0.65928,
|
|
137
|
+
47.000,-0.24222,
|
|
138
|
+
52.000,-0.24222,
|
|
139
|
+
53.000,-0.41402,
|
|
140
|
+
58.000,-0.41402,
|
|
141
|
+
59.000,-0.50837,
|
|
142
|
+
64.000,-0.50837,
|
|
143
|
+
65.000,0.51263,
|
|
144
|
+
70.000,0.51263,
|
|
145
|
+
71.000,0.51263,
|
|
146
|
+
76.000,0.51263,
|
|
147
|
+
77.000,-0.43976,
|
|
148
|
+
82.000,-0.43976,
|
|
149
|
+
83.000,0.85396,
|
|
150
|
+
86.000,0.85396,
|
|
151
|
+
87.000,0.68332,
|
|
152
|
+
};
|
|
153
|
+
extern LookupTable loopFiltera1;
|
|
154
|
+
LookupTable loopFiltera1(&loopFiltera1_points[0], 18);
|
|
155
|
+
|
|
156
|
+
float getValueLoopFiltera1(float index){
|
|
157
|
+
return loopFiltera1.getValue(index);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
double loopFiltera2_points[18*2] = {
|
|
161
|
+
35.000,-0.02641,
|
|
162
|
+
36.000,-0.10275,
|
|
163
|
+
46.000,-0.10275,
|
|
164
|
+
47.000,-0.15842,
|
|
165
|
+
52.000,-0.15842,
|
|
166
|
+
53.000,-0.21653,
|
|
167
|
+
58.000,-0.21653,
|
|
168
|
+
59.000,-0.15833,
|
|
169
|
+
64.000,-0.15833,
|
|
170
|
+
65.000,0.22025,
|
|
171
|
+
70.000,0.22025,
|
|
172
|
+
71.000,0.22025,
|
|
173
|
+
76.000,0.22025,
|
|
174
|
+
77.000,-0.14583,
|
|
175
|
+
82.000,-0.14583,
|
|
176
|
+
83.000,0.24405,
|
|
177
|
+
86.000,0.24405,
|
|
178
|
+
87.000,0.14370,
|
|
179
|
+
};
|
|
180
|
+
extern LookupTable loopFiltera2;
|
|
181
|
+
LookupTable loopFiltera2(&loopFiltera2_points[0], 18);
|
|
182
|
+
|
|
183
|
+
float getValueLoopFiltera2(float index){
|
|
184
|
+
return loopFiltera2.getValue(index);
|
|
185
|
+
}
|