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,84 @@
|
|
|
1
|
+
declare name "Bass";
|
|
2
|
+
declare description "Nonlinear WaveGuide Acoustic Bass";
|
|
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
|
+
|
|
8
|
+
import("instruments.lib");
|
|
9
|
+
|
|
10
|
+
//==================== GUI SPECIFICATION ================
|
|
11
|
+
|
|
12
|
+
freq = nentry("h:Basic_Parameters/freq [1][unit:Hz] [tooltip:Tone frequency]",120,20,20000,1);
|
|
13
|
+
gain = nentry("h:Basic_Parameters/gain [1][tooltip:Gain (value between 0 and 1)]",1,0,1,0.01);
|
|
14
|
+
gate = button("h:Basic_Parameters/gate [1][tooltip:noteOn = 1, noteOff = 0]");
|
|
15
|
+
|
|
16
|
+
touchLength = hslider("v:Physical_Parameters/Touch_Length
|
|
17
|
+
[2][tooltip:A value between 0 and 1]",0.15,0,1,0.01)*2;
|
|
18
|
+
|
|
19
|
+
typeModulation = nentry("v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
20
|
+
[3][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
21
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
22
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
23
|
+
nonLinearity = hslider("v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
24
|
+
[3][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
25
|
+
frequencyMod = hslider("v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
26
|
+
[3][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
27
|
+
|
|
28
|
+
//==================== SIGNAL PROCESSING ======================
|
|
29
|
+
|
|
30
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
31
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
32
|
+
|
|
33
|
+
//nonlinear filter order
|
|
34
|
+
nlfOrder = 6;
|
|
35
|
+
|
|
36
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
37
|
+
//for using it with waveguide instruments
|
|
38
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),1,freq,
|
|
39
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
40
|
+
|
|
41
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
42
|
+
|
|
43
|
+
//delay length in number of samples
|
|
44
|
+
delayLength = float(ma.SR)/freq;
|
|
45
|
+
|
|
46
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
47
|
+
//the frequency period in number of samples
|
|
48
|
+
stereo = stereoizer(delayLength);
|
|
49
|
+
|
|
50
|
+
//string excitation
|
|
51
|
+
excitation = asympT60(-0.5,-0.985,0.02,gate),no.noise*asympT60(gain,0,touchLength,gate) :
|
|
52
|
+
onePoleSwep : excitationFilter : excitationFilter
|
|
53
|
+
with{
|
|
54
|
+
//the exitation filter is a one pole filter (declared in instruments.lib)
|
|
55
|
+
excitationFilter = onePole(0.035,-0.965);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
//the bodyfilter is a bandpass filter (declared in instruments.lib)
|
|
59
|
+
bodyFilter = bandPass(108,0.997);
|
|
60
|
+
|
|
61
|
+
//the reflexion filter is pole zero filter (declared in instruments.lib) whose coefficients are
|
|
62
|
+
//modulated in function of the tone being played
|
|
63
|
+
reflexionFilter = poleZero(b0,b1,a1)
|
|
64
|
+
with{
|
|
65
|
+
//filter coefficients are stored in a C++ function
|
|
66
|
+
loopFilterb0 = ffunction(float getValueBassLoopFilterb0(float), <bass.h>,"");
|
|
67
|
+
loopFilterb1 = ffunction(float getValueBassLoopFilterb1(float), <bass.h>,"");
|
|
68
|
+
loopFiltera1 = ffunction(float getValueBassLoopFiltera1(float), <bass.h>,"");
|
|
69
|
+
freqToNoteNumber = (log - log(440))/log(2)*12 + 69 + 0.5 : int;
|
|
70
|
+
freqn = freq : freqToNoteNumber;
|
|
71
|
+
b0 = loopFilterb0(freqn);
|
|
72
|
+
b1 = loopFilterb1(freqn);
|
|
73
|
+
a1 = loopFiltera1(freqn);
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
delayLine = asympT60(0,delayLength,0.01,gate),_ : de.fdelay(4096);
|
|
77
|
+
|
|
78
|
+
//the resonance duration is different whether a note-on signal is sent or not
|
|
79
|
+
resonanceGain = gate + (gate < 1 <: *(asympT60(1,0.9,0.05)));
|
|
80
|
+
|
|
81
|
+
process = excitation :
|
|
82
|
+
(+)~(delayLine : NLFM : reflexionFilter*resonanceGain) <:
|
|
83
|
+
bodyFilter*1.5 + *(0.5) : *(4) : stereo : instrReverb;
|
|
84
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
//Parameters for bass.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 bassLoopFilterb0_points[19*2] = {
|
|
10
|
+
24.000,0.54355,
|
|
11
|
+
26.000,0.54355,
|
|
12
|
+
27.000,0.55677,
|
|
13
|
+
29.000,0.55677,
|
|
14
|
+
32.000,0.55677,
|
|
15
|
+
33.000,0.83598,
|
|
16
|
+
36.000,0.83598,
|
|
17
|
+
43.000,0.83598,
|
|
18
|
+
44.000,0.88292,
|
|
19
|
+
48.000,0.88292,
|
|
20
|
+
51.000,0.88292,
|
|
21
|
+
52.000,0.77805,
|
|
22
|
+
54.000,0.77805,
|
|
23
|
+
57.000,0.77805,
|
|
24
|
+
58.000,0.91820,
|
|
25
|
+
60.000,0.91820,
|
|
26
|
+
61.000,0.91820,
|
|
27
|
+
63.000,0.94594,
|
|
28
|
+
65.000,0.91820,
|
|
29
|
+
};
|
|
30
|
+
extern LookupTable bassLoopFilterb0;
|
|
31
|
+
LookupTable bassLoopFilterb0(&bassLoopFilterb0_points[0], 18);
|
|
32
|
+
|
|
33
|
+
float getValueBassLoopFilterb0(float index){
|
|
34
|
+
return bassLoopFilterb0.getValue(index);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
double bassLoopFilterb1_points[19*2] = {
|
|
38
|
+
24.000,-0.36586,
|
|
39
|
+
26.000,-0.36586,
|
|
40
|
+
27.000,-0.37628,
|
|
41
|
+
29.000,-0.37628,
|
|
42
|
+
32.000,-0.37628,
|
|
43
|
+
33.000,-0.60228,
|
|
44
|
+
36.000,-0.60228,
|
|
45
|
+
43.000,-0.60228,
|
|
46
|
+
44.000,-0.65721,
|
|
47
|
+
48.000,-0.65721,
|
|
48
|
+
51.000,-0.65721,
|
|
49
|
+
52.000,-0.51902,
|
|
50
|
+
54.000,-0.51902,
|
|
51
|
+
57.000,-0.51902,
|
|
52
|
+
58.000,-0.80765,
|
|
53
|
+
60.000,-0.80765,
|
|
54
|
+
61.000,-0.80765,
|
|
55
|
+
63.000,-0.83230,
|
|
56
|
+
65.000,-0.83230,
|
|
57
|
+
};
|
|
58
|
+
extern LookupTable bassLoopFilterb1;
|
|
59
|
+
LookupTable bassLoopFilterb1(&bassLoopFilterb1_points[0], 18);
|
|
60
|
+
|
|
61
|
+
float getValueBassLoopFilterb1(float index){
|
|
62
|
+
return bassLoopFilterb1.getValue(index);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
double bassLoopFiltera1_points[19*2] = {
|
|
66
|
+
24.000,-0.81486,
|
|
67
|
+
26.000,-0.81486,
|
|
68
|
+
27.000,-0.81147,
|
|
69
|
+
29.000,-0.81147,
|
|
70
|
+
32.000,-0.81147,
|
|
71
|
+
33.000,-0.76078,
|
|
72
|
+
36.000,-0.76078,
|
|
73
|
+
43.000,-0.76078,
|
|
74
|
+
44.000,-0.77075,
|
|
75
|
+
48.000,-0.77075,
|
|
76
|
+
51.000,-0.77075,
|
|
77
|
+
52.000,-0.73548,
|
|
78
|
+
54.000,-0.73548,
|
|
79
|
+
57.000,-0.73548,
|
|
80
|
+
58.000,-0.88810,
|
|
81
|
+
60.000,-0.88810,
|
|
82
|
+
61.000,-0.88810,
|
|
83
|
+
63.000,-0.88537,
|
|
84
|
+
65.000,-0.88537,
|
|
85
|
+
};
|
|
86
|
+
extern LookupTable bassLoopFiltera1;
|
|
87
|
+
LookupTable bassLoopFiltera1(&bassLoopFiltera1_points[0], 18);
|
|
88
|
+
|
|
89
|
+
float getValueBassLoopFiltera1(float index){
|
|
90
|
+
return bassLoopFiltera1.getValue(index);
|
|
91
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
declare name "blowBottle";
|
|
2
|
+
declare description "Blown Bottle Instrument";
|
|
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 "This object implements a helmholtz resonator (biquad filter) with a polynomial jet excitation (a la Cook).";
|
|
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]");
|
|
16
|
+
|
|
17
|
+
noiseGain = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Noise_Gain
|
|
18
|
+
[2][tooltip:Breath noise gain (value between 0 and 1)]",0.5,0,1,0.01)*2;
|
|
19
|
+
pressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Pressure
|
|
20
|
+
[2][tooltip:Breath pressure (value bewteen 0 and 1)]",1,0,1,0.01);
|
|
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.05,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.01,0,2,0.01);
|
|
43
|
+
|
|
44
|
+
envelopeAttack = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Attack
|
|
45
|
+
[5][unit:s][tooltip:Envelope attack duration]",0.01,0,2,0.01);
|
|
46
|
+
envelopeDecay = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Decay
|
|
47
|
+
[5][unit:s][tooltip:Envelope decay duration]",0.01,0,2,0.01);
|
|
48
|
+
envelopeRelease = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Release
|
|
49
|
+
[5][unit:s][tooltip:Envelope release duration]",0.5,0,2,0.01);
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
//==================== SIGNAL PROCESSING ================
|
|
53
|
+
|
|
54
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
55
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
56
|
+
|
|
57
|
+
//nonlinear filter order
|
|
58
|
+
nlfOrder = 6;
|
|
59
|
+
|
|
60
|
+
//attack - sustain - release envelope for nonlinearity (declared in instruments.lib)
|
|
61
|
+
envelopeMod = en.asr(nonLinAttack,1,envelopeRelease,gate);
|
|
62
|
+
|
|
63
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
64
|
+
//for using it with waveguide instruments
|
|
65
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),envelopeMod,freq,
|
|
66
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
67
|
+
|
|
68
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
69
|
+
|
|
70
|
+
//botlle radius
|
|
71
|
+
bottleRadius = 0.999;
|
|
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(ma.SR/freq);
|
|
76
|
+
|
|
77
|
+
bandPassFilter = bandPass(freq,bottleRadius);
|
|
78
|
+
|
|
79
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
80
|
+
|
|
81
|
+
//global envelope is of type attack - decay - sustain - release
|
|
82
|
+
envelopeG = gain*en.adsr(gain*envelopeAttack,envelopeDecay,1,envelopeRelease,gate);
|
|
83
|
+
|
|
84
|
+
//pressure envelope is also ADSR
|
|
85
|
+
envelope = pressure*en.adsr(gain*0.02,0.01,1,gain*0.2,gate);
|
|
86
|
+
|
|
87
|
+
//vibrato
|
|
88
|
+
vibrato = os.osc(vibratoFreq)*vibratoGain*envVibrato(vibratoBegin,vibratoAttack,100,vibratoRelease,gate)*os.osc(vibratoFreq);
|
|
89
|
+
|
|
90
|
+
//breat pressure
|
|
91
|
+
breathPressure = envelope + vibrato;
|
|
92
|
+
|
|
93
|
+
//breath noise
|
|
94
|
+
randPressure = noiseGain*no.noise*breathPressure ;
|
|
95
|
+
|
|
96
|
+
process =
|
|
97
|
+
//differential pressure
|
|
98
|
+
(-(breathPressure) <:
|
|
99
|
+
((+(1))*randPressure : +(breathPressure)) - *(jetTable),_ : bandPassFilter,_)~NLFM : !,_ :
|
|
100
|
+
//signal scaling
|
|
101
|
+
fi.dcblocker*envelopeG*0.5 : stereo : instrReverb;
|
|
102
|
+
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
declare name "bowed";
|
|
2
|
+
declare description "Nonlinear WaveGuide Bowed Instrument";
|
|
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 bowed string model, a la Smith (1986), after McIntyre, Schumacher, Woodhouse (1983).";
|
|
8
|
+
declare reference "https://ccrma.stanford.edu/~jos/pasp/Bowed_Strings.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
|
+
bowPosition = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Bow_Position
|
|
19
|
+
[2][tooltip:Bow position along the string (value between 0 and 1)]",0.7,0.01,1,0.01);
|
|
20
|
+
bowPressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Bow_Pressure
|
|
21
|
+
[2][tooltip:Bow pressure on the string (value between 0 and 1)]",0.75,0,1,0.01);
|
|
22
|
+
|
|
23
|
+
typeModulation = nentry("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Type
|
|
24
|
+
[3][tooltip: 0=theta is modulated by the incoming signal; 1=theta is modulated by the averaged incoming signal;
|
|
25
|
+
2=theta is modulated by the squared incoming signal; 3=theta is modulated by a sine wave of frequency freqMod;
|
|
26
|
+
4=theta is modulated by a sine wave of frequency freq;]",0,0,4,1);
|
|
27
|
+
nonLinearity = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity
|
|
28
|
+
[3][tooltip:Nonlinearity factor (value between 0 and 1)]",0,0,1,0.01);
|
|
29
|
+
frequencyMod = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Modulation_Frequency
|
|
30
|
+
[3][unit:Hz][tooltip:Frequency of the sine wave for the modulation of theta (works if Modulation Type=3)]",220,20,1000,0.1);
|
|
31
|
+
nonLinAttack = hslider("h:Physical_and_Nonlinearity/v:Nonlinear_Filter_Parameters/Nonlinearity_Attack
|
|
32
|
+
[3][unit:s][Attack duration of the nonlinearity]",0.1,0,2,0.01);
|
|
33
|
+
|
|
34
|
+
vibratoFreq = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Freq
|
|
35
|
+
[4][unit:Hz]",6,1,15,0.1);
|
|
36
|
+
vibratoGain = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Gain
|
|
37
|
+
[4][tooltip:A value between 0 and 1]",0.01,0,1,0.01);
|
|
38
|
+
vibratoBegin = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Begin
|
|
39
|
+
[4][unit:s][tooltip:Vibrato silence duration before attack]",0.05,0,2,0.01);
|
|
40
|
+
vibratoAttack = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Attack
|
|
41
|
+
[4][unit:s][tooltip:Vibrato attack duration]",0.5,0,2,0.01);
|
|
42
|
+
vibratoRelease = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Release
|
|
43
|
+
[4][unit:s][tooltip:Vibrato release duration]",0.01,0,2,0.01);
|
|
44
|
+
|
|
45
|
+
envelopeAttack = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Attack
|
|
46
|
+
[5][unit:s][tooltip:Envelope attack duration]",0.01,0,2,0.01);
|
|
47
|
+
envelopeDecay = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Decay
|
|
48
|
+
[5][unit:s][tooltip:Envelope decay duration]",0.05,0,2,0.01);
|
|
49
|
+
envelopeRelease = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Release
|
|
50
|
+
[5][unit:s][tooltip:Envelope release duration]",0.1,0,2,0.01);
|
|
51
|
+
|
|
52
|
+
//==================== SIGNAL PROCESSING ================
|
|
53
|
+
|
|
54
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
55
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
56
|
+
|
|
57
|
+
//nonlinear filter order
|
|
58
|
+
nlfOrder = 6;
|
|
59
|
+
|
|
60
|
+
//attack - sustain - release envelope for nonlinearity (declared in instruments.lib)
|
|
61
|
+
envelopeMod = en.asr(nonLinAttack,1,envelopeRelease,gate);
|
|
62
|
+
|
|
63
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
64
|
+
//for using it with waveguide instruments
|
|
65
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),envelopeMod,freq,
|
|
66
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
67
|
+
|
|
68
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
69
|
+
|
|
70
|
+
//Parameters for the bow table
|
|
71
|
+
tableOffset = 0;
|
|
72
|
+
tableSlope = 5 - (4*bowPressure);
|
|
73
|
+
|
|
74
|
+
//the bow table is declared in instruments.lib
|
|
75
|
+
bowTable = bow(tableOffset,tableSlope);
|
|
76
|
+
|
|
77
|
+
//a attack - decay - sustain - release envelope is used
|
|
78
|
+
envelope = en.adsr(gain*envelopeAttack,envelopeDecay,1, (1-gain)*envelopeRelease,gate);
|
|
79
|
+
maxVelocity = 0.03 + (0.2 * gain);
|
|
80
|
+
|
|
81
|
+
//Delay lines declaration and vibrato, the length of the two delay lines are evolving propotionally
|
|
82
|
+
betaRatio = 0.027236 + (0.2*bowPosition);
|
|
83
|
+
fdelneck = (ma.SR/freq-4)*(1 - betaRatio);
|
|
84
|
+
vibratoEnvelope = envVibrato(vibratoBegin,vibratoAttack,100,vibratoRelease,gate);
|
|
85
|
+
vibrato = fdelneck + ((ma.SR/freq - 4)*vibratoGain*vibratoEnvelope*os.osc(vibratoFreq));
|
|
86
|
+
neckDelay = de.fdelay(4096,vibrato);
|
|
87
|
+
fdelbridge = (ma.SR/freq - 4)*betaRatio;
|
|
88
|
+
bridgeDelay = de.delay(4096,fdelbridge);
|
|
89
|
+
|
|
90
|
+
//Body Filter: a biquad filter with a normalized pick gain (declared in instruments.lib)
|
|
91
|
+
bodyFilter = bandPass(500,0.85);
|
|
92
|
+
|
|
93
|
+
//String Filter: a lowpass filter (declared in instruments.lib)
|
|
94
|
+
stringFilter = *(0.95) : -onePole(b0,a1)
|
|
95
|
+
with{
|
|
96
|
+
pole = 0.6 - (0.1*22050/ma.SR);
|
|
97
|
+
gain = 0.95;
|
|
98
|
+
b0 = 1-pole;
|
|
99
|
+
a1 = -pole;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
103
|
+
//the frequency period in number of samples
|
|
104
|
+
stereo = stereoizer(ma.SR/freq);
|
|
105
|
+
|
|
106
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
107
|
+
|
|
108
|
+
bowVelocity = envelope*maxVelocity;
|
|
109
|
+
instrumentBody(feedBckBridge) = (*(-1) <: +(feedBckBridge),_ : (bowVelocity-_ <: *(bowTable) <: _,_),_ :
|
|
110
|
+
_, + : +(feedBckBridge),_) ~ (neckDelay) : !,_;
|
|
111
|
+
|
|
112
|
+
process = (stringFilter : instrumentBody) ~ (bridgeDelay : NLFM) : bodyFilter(*(0.2)) :
|
|
113
|
+
_*gain*8 : stereo : instrReverb;
|
|
114
|
+
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
declare name "brass";
|
|
2
|
+
declare description "WaveGuide Brass instrument from STK";
|
|
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 brass instrument waveguide model, a la Cook (TBone, HosePlayer).";
|
|
8
|
+
declare reference "https://ccrma.stanford.edu/~jos/pasp/Brasses.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
|
+
pressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Pressure
|
|
19
|
+
[2][tooltip:A value between 0 and 1]",1,0.01,1,0.01);
|
|
20
|
+
lipTension = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Lip_Tension
|
|
21
|
+
[2][tooltip:A value between 0 and 1]",0.780,0.01,1,0.001);
|
|
22
|
+
slideLength = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Slide_Length
|
|
23
|
+
[2][tooltip:A value between 0 and 1]",0.041,0.01,1,0.001);
|
|
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.005,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.001,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.07,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
|
+
//lips are simulated by a biquad filter whose output is squared and hard-clipped, bandPassH and saturationPos are declared in instruments.lib
|
|
73
|
+
lipFilterFrequency = freq*pow(4,(2*lipTension)-1);
|
|
74
|
+
lipFilter = *(0.03) : bandPassH(lipFilterFrequency,0.997) <: * : saturationPos;
|
|
75
|
+
|
|
76
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
77
|
+
//the frequency period in number of samples
|
|
78
|
+
stereo = stereoizer(ma.SR/freq);
|
|
79
|
+
|
|
80
|
+
//delay times in number of samples
|
|
81
|
+
slideTarget = ((ma.SR/freq)*2 + 3)*(0.5 + slideLength);
|
|
82
|
+
boreDelay = de.fdelay(4096,slideTarget);
|
|
83
|
+
|
|
84
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
85
|
+
|
|
86
|
+
//vibrato
|
|
87
|
+
vibrato = vibratoGain*os.osc(vibratoFreq)*envVibrato(vibratoBegin,vibratoAttack,100,vibratoRelease,gate);
|
|
88
|
+
|
|
89
|
+
//envelope (Attack / Decay / Sustain / Release), breath pressure and vibrato
|
|
90
|
+
breathPressure = pressure*en.adsr(envelopeAttack,envelopeDecay,1,envelopeRelease,gate) + vibrato;
|
|
91
|
+
mouthPressure = 0.3*breathPressure;
|
|
92
|
+
|
|
93
|
+
//scale the delay feedback
|
|
94
|
+
borePressure = *(0.85);
|
|
95
|
+
|
|
96
|
+
//differencial presure
|
|
97
|
+
deltaPressure = mouthPressure - _;
|
|
98
|
+
|
|
99
|
+
process = (borePressure <: deltaPressure,_ :
|
|
100
|
+
(lipFilter <: *(mouthPressure),(1-_)),_ : _, * :> + :
|
|
101
|
+
fi.dcblocker) ~ (boreDelay : NLFM) :
|
|
102
|
+
*(gain)*4 : stereo : instrReverb;
|
|
103
|
+
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
declare name "clarinet";
|
|
2
|
+
declare description "Nonlinear WaveGuide Clarinet";
|
|
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 clarinet physical model, as discussed by Smith (1986), McIntyre, Schumacher, Woodhouse (1983), and others.";
|
|
8
|
+
declare reference "https://ccrma.stanford.edu/~jos/pasp/Woodwinds.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
|
+
reedStiffness = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Reed_Stiffness
|
|
19
|
+
[2][tooltip:Reed stiffness (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:Breath noise gain (value between 0 and 1)]",0,0,1,0.01);
|
|
22
|
+
pressure = hslider("h:Physical_and_Nonlinearity/v:Physical_Parameters/Pressure
|
|
23
|
+
[2][tooltip:Breath pressure (value bewteen 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]",5,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.1,0,1,0.01);
|
|
40
|
+
vibratoAttack = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Attack
|
|
41
|
+
[4][unit:s][tooltip:Vibrato attack duration]",0.5,0,2,0.01);
|
|
42
|
+
vibratoRelease = hslider("h:Envelopes_and_Vibrato/v:Vibrato_Parameters/Vibrato_Release
|
|
43
|
+
[4][unit:s][tooltip:Vibrato release duration]",0.01,0,2,0.01);
|
|
44
|
+
|
|
45
|
+
envelopeAttack = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Attack
|
|
46
|
+
[5][unit:s][tooltip:Envelope attack duration]",0.01,0,2,0.01);
|
|
47
|
+
envelopeDecay = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Decay
|
|
48
|
+
[5][unit:s][tooltip:Envelope decay duration]",0.05,0,2,0.01);
|
|
49
|
+
envelopeRelease = hslider("h:Envelopes_and_Vibrato/v:Envelope_Parameters/Envelope_Release
|
|
50
|
+
[5][unit:s][tooltip:Envelope release duration]",0.1,0,2,0.01);
|
|
51
|
+
|
|
52
|
+
//==================== SIGNAL PROCESSING ======================
|
|
53
|
+
|
|
54
|
+
//----------------------- Nonlinear filter ----------------------------
|
|
55
|
+
//nonlinearities are created by the nonlinear passive allpass ladder filter declared in miscfilter.lib
|
|
56
|
+
|
|
57
|
+
//nonlinear filter order
|
|
58
|
+
nlfOrder = 6;
|
|
59
|
+
|
|
60
|
+
//attack - sustain - release envelope for nonlinearity (declared in instruments.lib)
|
|
61
|
+
envelopeMod = en.asr(nonLinAttack,1,envelopeRelease,gate);
|
|
62
|
+
|
|
63
|
+
//nonLinearModultor is declared in instruments.lib, it adapts allpassnn from miscfilter.lib
|
|
64
|
+
//for using it with waveguide instruments
|
|
65
|
+
NLFM = nonLinearModulator((nonLinearity : si.smoo),envelopeMod,freq,
|
|
66
|
+
typeModulation,(frequencyMod : si.smoo),nlfOrder);
|
|
67
|
+
|
|
68
|
+
//----------------------- Synthesis parameters computing and functions declaration ----------------------------
|
|
69
|
+
|
|
70
|
+
//reed table parameters
|
|
71
|
+
reedTableOffset = 0.7;
|
|
72
|
+
reedTableSlope = -0.44 + (0.26*reedStiffness);
|
|
73
|
+
|
|
74
|
+
//the reed function is declared in instruments.lib
|
|
75
|
+
reedTable = reed(reedTableOffset,reedTableSlope);
|
|
76
|
+
|
|
77
|
+
//delay line with a length adapted in function of the order of nonlinear filter
|
|
78
|
+
delayLength = ma.SR/freq*0.5 - 1.5 - (nlfOrder*nonLinearity)*(typeModulation < 2);
|
|
79
|
+
delayLine = de.fdelay(4096,delayLength);
|
|
80
|
+
|
|
81
|
+
//one zero filter used as a allpass: pole is set to -1
|
|
82
|
+
filter = oneZero0(0.5,0.5);
|
|
83
|
+
|
|
84
|
+
//stereoizer is declared in instruments.lib and implement a stereo spacialisation in function of
|
|
85
|
+
//the frequency period in number of samples
|
|
86
|
+
stereo = stereoizer(ma.SR/freq);
|
|
87
|
+
|
|
88
|
+
//----------------------- Algorithm implementation ----------------------------
|
|
89
|
+
|
|
90
|
+
//Breath pressure + vibrato + breath noise + envelope (Attack / Decay / Sustain / Release)
|
|
91
|
+
envelope = en.adsr(envelopeAttack,envelopeDecay,1,envelopeRelease,gate)*pressure*0.9;
|
|
92
|
+
|
|
93
|
+
vibrato = os.osc(vibratoFreq)*vibratoGain*
|
|
94
|
+
envVibrato(0.1*2*vibratoAttack,0.9*2*vibratoAttack,100,vibratoRelease,gate);
|
|
95
|
+
breath = envelope + envelope*no.noise*noiseGain;
|
|
96
|
+
breathPressure = breath + breath*vibrato;
|
|
97
|
+
|
|
98
|
+
process =
|
|
99
|
+
//Commuted Loss Filtering
|
|
100
|
+
(_,(breathPressure <: _,_) : (filter*-0.95 - _ <:
|
|
101
|
+
|
|
102
|
+
//Non-Linear Scattering
|
|
103
|
+
*(reedTable)) + _) ~
|
|
104
|
+
|
|
105
|
+
//Delay with Feedback
|
|
106
|
+
(delayLine : NLFM) :
|
|
107
|
+
|
|
108
|
+
//scaling and stereo
|
|
109
|
+
*(gain)*1.5 : stereo : instrReverb;
|
|
110
|
+
|