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,100 @@
|
|
|
1
|
+
//############################### acGuitar.dsp #################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` where 6 virtual
|
|
3
|
+
// nylon strings can be strummed and plucked using a dedicated keyboard. The
|
|
4
|
+
// extra "strumming keyboard" could be easily replaced by an external strumming
|
|
5
|
+
// interface while the touch screen could keep being used to change the pitch
|
|
6
|
+
// of the strings.
|
|
7
|
+
//
|
|
8
|
+
// ## `SmartKeyboard` Use Strategy
|
|
9
|
+
//
|
|
10
|
+
// The first 6 keyboards implement each individual string of the instrument. A
|
|
11
|
+
// seventh keybaord is used a strumming/plucking interface. As mentionned
|
|
12
|
+
// previously, it could be easily replaced by an external interface.
|
|
13
|
+
//
|
|
14
|
+
// ## Compilation Instructions
|
|
15
|
+
//
|
|
16
|
+
// This Faust code will compile fine with any of the standard Faust targets.
|
|
17
|
+
// However it was specifically designed to be used with `faust2smartkeyb`. For
|
|
18
|
+
// best results, we recommend to use the following parameters to compile it:
|
|
19
|
+
//
|
|
20
|
+
// ```
|
|
21
|
+
// faust2smartkeyb [-ios/-android] -effect reverb.dsp acGuitar.dsp
|
|
22
|
+
// ```
|
|
23
|
+
//
|
|
24
|
+
// ## Version/Licence
|
|
25
|
+
//
|
|
26
|
+
// Version 0.0, Aug. 2017
|
|
27
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
28
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
29
|
+
//##############################################################################
|
|
30
|
+
|
|
31
|
+
declare interface "SmartKeyboard{
|
|
32
|
+
'Number of Keyboards':'7',
|
|
33
|
+
'Max Keyboard Polyphony':'0',
|
|
34
|
+
'Rounding Mode':'2',
|
|
35
|
+
'Keyboard 0 - Number of Keys':'14',
|
|
36
|
+
'Keyboard 1 - Number of Keys':'14',
|
|
37
|
+
'Keyboard 2 - Number of Keys':'14',
|
|
38
|
+
'Keyboard 3 - Number of Keys':'14',
|
|
39
|
+
'Keyboard 4 - Number of Keys':'14',
|
|
40
|
+
'Keyboard 5 - Number of Keys':'14',
|
|
41
|
+
'Keyboard 6 - Number of Keys':'6',
|
|
42
|
+
'Keyboard 0 - Lowest Key':'52',
|
|
43
|
+
'Keyboard 1 - Lowest Key':'57',
|
|
44
|
+
'Keyboard 2 - Lowest Key':'62',
|
|
45
|
+
'Keyboard 3 - Lowest Key':'67',
|
|
46
|
+
'Keyboard 4 - Lowest Key':'71',
|
|
47
|
+
'Keyboard 5 - Lowest Key':'76',
|
|
48
|
+
'Keyboard 0 - Send Keyboard Freq':'1',
|
|
49
|
+
'Keyboard 1 - Send Keyboard Freq':'1',
|
|
50
|
+
'Keyboard 2 - Send Keyboard Freq':'1',
|
|
51
|
+
'Keyboard 3 - Send Keyboard Freq':'1',
|
|
52
|
+
'Keyboard 4 - Send Keyboard Freq':'1',
|
|
53
|
+
'Keyboard 5 - Send Keyboard Freq':'1',
|
|
54
|
+
'Keyboard 6 - Piano Keyboard':'0',
|
|
55
|
+
'Keyboard 6 - Send Key Status':'1',
|
|
56
|
+
'Keyboard 6 - Key 0 - Label':'S0',
|
|
57
|
+
'Keyboard 6 - Key 1 - Label':'S1',
|
|
58
|
+
'Keyboard 6 - Key 2 - Label':'S2',
|
|
59
|
+
'Keyboard 6 - Key 3 - Label':'S3',
|
|
60
|
+
'Keyboard 6 - Key 4 - Label':'S4',
|
|
61
|
+
'Keyboard 6 - Key 5 - Label':'S5'
|
|
62
|
+
}";
|
|
63
|
+
|
|
64
|
+
import("stdfaust.lib");
|
|
65
|
+
|
|
66
|
+
// SMARTKEYBOARD PARAMS
|
|
67
|
+
kbfreq(0) = hslider("kb0freq",164.8,20,10000,0.01);
|
|
68
|
+
kbbend(0) = hslider("kb0bend",1,ma.EPSILON,10,0.01);
|
|
69
|
+
kbfreq(1) = hslider("kb1freq",220,20,10000,0.01);
|
|
70
|
+
kbbend(1) = hslider("kb1bend",1,ma.EPSILON,10,0.01);
|
|
71
|
+
kbfreq(2) = hslider("kb2freq",293.7,20,10000,0.01);
|
|
72
|
+
kbbend(2) = hslider("kb2bend",1,ma.EPSILON,10,0.01);
|
|
73
|
+
kbfreq(3) = hslider("kb3freq",392,20,10000,0.01);
|
|
74
|
+
kbbend(3) = hslider("kb3bend",1,ma.EPSILON,10,0.01);
|
|
75
|
+
kbfreq(4) = hslider("kb4freq",493.9,20,10000,0.01);
|
|
76
|
+
kbbend(4) = hslider("kb4bend",1,ma.EPSILON,10,0.01);
|
|
77
|
+
kbfreq(5) = hslider("kb5freq",659.2,20,10000,0.01);
|
|
78
|
+
kbbend(5) = hslider("kb5bend",1,ma.EPSILON,10,0.01);
|
|
79
|
+
kb6kstatus(0) = hslider("kb6k0status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
80
|
+
kb6kstatus(1) = hslider("kb6k1status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
81
|
+
kb6kstatus(2) = hslider("kb6k2status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
82
|
+
kb6kstatus(3) = hslider("kb6k3status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
83
|
+
kb6kstatus(4) = hslider("kb6k4status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
84
|
+
kb6kstatus(5) = hslider("kb6k5status",0,0,1,1) <: ==(1) | ==(4) : int;
|
|
85
|
+
|
|
86
|
+
// MODEL PARAMETERS
|
|
87
|
+
// strings length
|
|
88
|
+
sl(i) = kbfreq(i)*kbbend(i) : pm.f2l : si.smoo;
|
|
89
|
+
// pluck position is controlled by the x axis of the accel
|
|
90
|
+
pluckPosition =
|
|
91
|
+
hslider("pluckPosition[acc: 1 0 -10 0 10]",0.5,0,1,0.01) : si.smoo;
|
|
92
|
+
|
|
93
|
+
// ASSEMBLING MODELS
|
|
94
|
+
// number of strings
|
|
95
|
+
nStrings = 6;
|
|
96
|
+
guitar = par(i,nStrings,
|
|
97
|
+
kb6kstatus(i) : ba.impulsify : // using "raw" impulses to drive the models
|
|
98
|
+
pm.nylonGuitarModel(sl(i),pluckPosition)) :> _;
|
|
99
|
+
|
|
100
|
+
process = guitar <: _,_;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
//################################ bells.dsp ###################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` where the
|
|
3
|
+
// physical models of 4 different bells can be played using screen pads. The
|
|
4
|
+
// models are taken from `physmodels.lib`.
|
|
5
|
+
//
|
|
6
|
+
// ## `SmartKeyboard` Use Strategy
|
|
7
|
+
//
|
|
8
|
+
// The `SmartKeyboard` interface is used to implement percussion pads where
|
|
9
|
+
// the X/Y position of fingers is retrieved to control the strike position on
|
|
10
|
+
// the bells.
|
|
11
|
+
//
|
|
12
|
+
// ## Compilation Instructions
|
|
13
|
+
//
|
|
14
|
+
// This Faust code will compile fine with any of the standard Faust targets.
|
|
15
|
+
// However it was specifically designed to be used with `faust2smartkeyb`. For
|
|
16
|
+
// best results, we recommend to use the following parameters to compile it:
|
|
17
|
+
//
|
|
18
|
+
// ```
|
|
19
|
+
// faust2smartkeyb [-ios/-android] -effect reverb.dsp bells.dsp
|
|
20
|
+
// ```
|
|
21
|
+
//
|
|
22
|
+
// ## Version/Licence
|
|
23
|
+
//
|
|
24
|
+
// Version 0.0, Aug. 2017
|
|
25
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
26
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
27
|
+
//##############################################################################
|
|
28
|
+
|
|
29
|
+
declare interface "SmartKeyboard{
|
|
30
|
+
'Number of Keyboards':'2',
|
|
31
|
+
'Max Keyboard Polyphony':'0',
|
|
32
|
+
'Keyboard 0 - Number of Keys':'2',
|
|
33
|
+
'Keyboard 1 - Number of Keys':'2',
|
|
34
|
+
'Keyboard 0 - Send Freq':'0',
|
|
35
|
+
'Keyboard 1 - Send Freq':'0',
|
|
36
|
+
'Keyboard 0 - Piano Keyboard':'0',
|
|
37
|
+
'Keyboard 1 - Piano Keyboard':'0',
|
|
38
|
+
'Keyboard 0 - Send Key Status':'1',
|
|
39
|
+
'Keyboard 1 - Send Key Status':'1',
|
|
40
|
+
'Keyboard 0 - Send X':'1',
|
|
41
|
+
'Keyboard 0 - Send Y':'1',
|
|
42
|
+
'Keyboard 1 - Send X':'1',
|
|
43
|
+
'Keyboard 1 - Send Y':'1',
|
|
44
|
+
'Keyboard 0 - Key 0 - Label':'English Bell',
|
|
45
|
+
'Keyboard 0 - Key 1 - Label':'French Bell',
|
|
46
|
+
'Keyboard 1 - Key 0 - Label':'German Bell',
|
|
47
|
+
'Keyboard 1 - Key 1 - Label':'Russian Bell'
|
|
48
|
+
}";
|
|
49
|
+
|
|
50
|
+
import("stdfaust.lib");
|
|
51
|
+
|
|
52
|
+
// SMARTKEYBOARD PARAMS
|
|
53
|
+
kb0k0status = hslider("kb0k0status",0,0,1,1) : min(1) : int;
|
|
54
|
+
kb0k1status = hslider("kb0k1status",0,0,1,1) : min(1) : int;
|
|
55
|
+
kb1k0status = hslider("kb1k0status",0,0,1,1) : min(1) : int;
|
|
56
|
+
kb1k1status = hslider("kb1k1status",0,0,1,1) : min(1) : int;
|
|
57
|
+
x = hslider("x",1,0,1,0.001);
|
|
58
|
+
y = hslider("y",1,0,1,0.001);
|
|
59
|
+
|
|
60
|
+
// MODEL PARAMETERS
|
|
61
|
+
strikeCutoff = 6500;
|
|
62
|
+
strikeSharpness = 0.5;
|
|
63
|
+
strikeGain = 1;
|
|
64
|
+
// synthesize 10 modes out of 50
|
|
65
|
+
nModes = 10;
|
|
66
|
+
// resonance duration is 30s
|
|
67
|
+
t60 = 30;
|
|
68
|
+
// number of excitation pos (retrieved from model)
|
|
69
|
+
nExPos = 7;
|
|
70
|
+
// computing excitation position from X and Y
|
|
71
|
+
exPos = min((x*2-1 : abs),(y*2-1 : abs))*(nExPos-1) : int;
|
|
72
|
+
|
|
73
|
+
// ASSEMBLING MODELS
|
|
74
|
+
bells =
|
|
75
|
+
(kb0k0status : pm.strikeModel(10,strikeCutoff,strikeSharpness,strikeGain) : pm.englishBellModel(nModes,exPos,t60,1,3)) +
|
|
76
|
+
(kb0k1status : pm.strikeModel(10,strikeCutoff,strikeSharpness,strikeGain) : pm.frenchBellModel(nModes,exPos,t60,1,3)) +
|
|
77
|
+
(kb1k0status : pm.strikeModel(10,strikeCutoff,strikeSharpness,strikeGain) : pm.germanBellModel(nModes,exPos,t60,1,2.5)) +
|
|
78
|
+
(kb1k1status : pm.strikeModel(10,strikeCutoff,strikeSharpness,strikeGain) : pm.russianBellModel(nModes,exPos,t60,1,3)) :> *(0.2);
|
|
79
|
+
|
|
80
|
+
process = bells <: _,_;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
//##################################### bowed.dsp ########################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` implementing a
|
|
3
|
+
// non-polyphonic synthesizer (e.g., physical model; etc.) using a combination of
|
|
4
|
+
// different types of UI elements.
|
|
5
|
+
//
|
|
6
|
+
// ## `SmartKeyboard` Use Strategy
|
|
7
|
+
//
|
|
8
|
+
// 5 keyboards are declared (4 actual keyboards and 1 control surface). We want to
|
|
9
|
+
// disable the voice allocation system and we want to activate a voice on start-up
|
|
10
|
+
// so that all strings are constantly running so we set `Max Keyboard Polyphony` to
|
|
11
|
+
// 0. Since we don't want the first 4 keyboards to send the X and Y position of
|
|
12
|
+
// fingers on the screen, we set `Send X` and `Send Y` to 0 for all these keyboards.
|
|
13
|
+
// Similarly, we don't want the fifth keyboard to send pitch information to the synth
|
|
14
|
+
// so we set `Send Freq` to 0 for that keyboard. Finally, we deactivate piano keyboard
|
|
15
|
+
// mode for the fifth keyboard to make sure that color doesn't change when the key is
|
|
16
|
+
// touch and that note names are not displayed.
|
|
17
|
+
//
|
|
18
|
+
// ## Compilation Instructions
|
|
19
|
+
//
|
|
20
|
+
// This Faust code will compile fine with any of the standard Faust targets. However
|
|
21
|
+
// it was specifically designed to be used with `faust2smartkeyb`. For best results,
|
|
22
|
+
// we recommend to use the following parameters to compile it:
|
|
23
|
+
//
|
|
24
|
+
// ```
|
|
25
|
+
// faust2smartkeyb [-ios/-android] -effect reverb.dsp midiOnly.dsp
|
|
26
|
+
// ```
|
|
27
|
+
//
|
|
28
|
+
// ## Version/Licence
|
|
29
|
+
//
|
|
30
|
+
// Version 0.0, Feb. 2017
|
|
31
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
32
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
33
|
+
//########################################################################################
|
|
34
|
+
|
|
35
|
+
declare interface "SmartKeyboard{
|
|
36
|
+
'Number of Keyboards':'5',
|
|
37
|
+
'Max Keyboard Polyphony':'0',
|
|
38
|
+
'Rounding Mode':'1',
|
|
39
|
+
'Keyboard 0 - Number of Keys':'19',
|
|
40
|
+
'Keyboard 1 - Number of Keys':'19',
|
|
41
|
+
'Keyboard 2 - Number of Keys':'19',
|
|
42
|
+
'Keyboard 3 - Number of Keys':'19',
|
|
43
|
+
'Keyboard 4 - Number of Keys':'1',
|
|
44
|
+
'Keyboard 4 - Send Freq':'0',
|
|
45
|
+
'Keyboard 0 - Send X':'0',
|
|
46
|
+
'Keyboard 1 - Send X':'0',
|
|
47
|
+
'Keyboard 2 - Send X':'0',
|
|
48
|
+
'Keyboard 3 - Send X':'0',
|
|
49
|
+
'Keyboard 0 - Send Y':'0',
|
|
50
|
+
'Keyboard 1 - Send Y':'0',
|
|
51
|
+
'Keyboard 2 - Send Y':'0',
|
|
52
|
+
'Keyboard 3 - Send Y':'0',
|
|
53
|
+
'Keyboard 0 - Lowest Key':'55',
|
|
54
|
+
'Keyboard 1 - Lowest Key':'62',
|
|
55
|
+
'Keyboard 2 - Lowest Key':'69',
|
|
56
|
+
'Keyboard 3 - Lowest Key':'76',
|
|
57
|
+
'Keyboard 4 - Piano Keyboard':'0',
|
|
58
|
+
'Keyboard 4 - Key 0 - Label':'Bow'
|
|
59
|
+
}";
|
|
60
|
+
|
|
61
|
+
import("stdfaust.lib");
|
|
62
|
+
|
|
63
|
+
// parameters
|
|
64
|
+
f = hslider("freq",400,50,2000,0.01);
|
|
65
|
+
bend = hslider("bend",1,0,10,0.01);
|
|
66
|
+
keyboard = hslider("keyboard",0,0,5,1) : int;
|
|
67
|
+
key = hslider("key",0,0,18,1) : int;
|
|
68
|
+
x = hslider("x",0.5,0,1,0.01) : si.smoo;
|
|
69
|
+
y = hslider("y",0,0,1,0.01) : si.smoo;
|
|
70
|
+
|
|
71
|
+
// mapping
|
|
72
|
+
freq = f*bend;
|
|
73
|
+
// dirty motion tracker
|
|
74
|
+
velocity = x-x' : abs : an.amp_follower_ar(0.1,1) : *(8000) : min(1);
|
|
75
|
+
|
|
76
|
+
// 4 "strings"
|
|
77
|
+
synthSet = par(i,4,synth(localFreq(i),velocity)) :> _
|
|
78
|
+
with{
|
|
79
|
+
localFreq(i) = freq : ba.sAndH(keyboard == i) : si.smoo;
|
|
80
|
+
synth(freq,velocity) = sy.fm((freq,freq + freq*modFreqRatio),index*velocity)*velocity
|
|
81
|
+
with{
|
|
82
|
+
index = 1000;
|
|
83
|
+
modFreqRatio = y*0.3;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
process = synthSet <: _,_;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//############################### brass.dsp ###################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` where a
|
|
3
|
+
// trumpet physical model is controlled using some of the built-in sensors of
|
|
4
|
+
// the device and the touchscreen. Some of these elements could be replaced by
|
|
5
|
+
// external controllers (e.g., breath/mouth piece controller).
|
|
6
|
+
//
|
|
7
|
+
// ## `SmartKeyboard` Use Strategy
|
|
8
|
+
//
|
|
9
|
+
// 1 keyboard is used to implement the pistons of the trumpet (3 keys) and the
|
|
10
|
+
// other allows to control the lips tension.
|
|
11
|
+
//
|
|
12
|
+
// ## Compilation Instructions
|
|
13
|
+
//
|
|
14
|
+
// This Faust code will compile fine with any of the standard Faust targets.
|
|
15
|
+
// However it was specifically designed to be used with `faust2smartkeyb`. For
|
|
16
|
+
// best results, we recommend to use the following parameters to compile it:
|
|
17
|
+
//
|
|
18
|
+
// ```
|
|
19
|
+
// faust2smartkeyb [-ios/-android] -effect reverb.dsp brass.dsp
|
|
20
|
+
// ```
|
|
21
|
+
//
|
|
22
|
+
// ## Version/Licence
|
|
23
|
+
//
|
|
24
|
+
// Version 0.0, Aug. 2017
|
|
25
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
26
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
27
|
+
//##############################################################################
|
|
28
|
+
|
|
29
|
+
declare interface "SmartKeyboard{
|
|
30
|
+
'Number of Keyboards':'2',
|
|
31
|
+
'Max Keyboard Polyphony':'0',
|
|
32
|
+
'Keyboard 0 - Number of Keys':'1',
|
|
33
|
+
'Keyboard 1 - Number of Keys':'3',
|
|
34
|
+
'Keyboard 0 - Send Freq':'0',
|
|
35
|
+
'Keyboard 1 - Send Freq':'0',
|
|
36
|
+
'Keyboard 0 - Piano Keyboard':'0',
|
|
37
|
+
'Keyboard 1 - Piano Keyboard':'0',
|
|
38
|
+
'Keyboard 0 - Send Key X':'1',
|
|
39
|
+
'Keyboard 1 - Send Key Status':'1',
|
|
40
|
+
'Keyboard 0 - Static Mode':'1',
|
|
41
|
+
'Keyboard 0 - Key 0 - Label':'Lips Tension',
|
|
42
|
+
'Keyboard 1 - Key 0 - Label':'P1',
|
|
43
|
+
'Keyboard 1 - Key 1 - Label':'P2',
|
|
44
|
+
'Keyboard 1 - Key 2 - Label':'P3'
|
|
45
|
+
}";
|
|
46
|
+
|
|
47
|
+
import("stdfaust.lib");
|
|
48
|
+
|
|
49
|
+
// SMARTKEYBOARD PARAMS
|
|
50
|
+
kb0k0x = hslider("kb0k0x",0,0,1,1);
|
|
51
|
+
kb1k0status = hslider("kb1k0status",0,0,1,1) : min(1) : int;
|
|
52
|
+
kb1k1status = hslider("kb1k1status",0,0,1,1) : min(1) : int;
|
|
53
|
+
kb1k2status = hslider("kb1k2status",0,0,1,1) : min(1) : int;
|
|
54
|
+
|
|
55
|
+
// MODEL PARAMETERS
|
|
56
|
+
// pressure is controlled by accelerometer
|
|
57
|
+
pressure = hslider("pressure[acc: 1 1 -10 0 10]",0,0,1,0.01) : si.smoo;
|
|
58
|
+
breathGain = 0.005; breathCutoff = 2000;
|
|
59
|
+
vibratoFreq = 5; vibratoGain = 0;
|
|
60
|
+
//pitch when no pistons are pushed
|
|
61
|
+
basePitch = 48; // C4
|
|
62
|
+
// calculate pitch shift in function of piston combination
|
|
63
|
+
pitchShift =
|
|
64
|
+
((kb1k0status == 0) & (kb1k1status == 1) & (kb1k2status == 0))*(1) +
|
|
65
|
+
((kb1k0status == 1) & (kb1k1status == 0) & (kb1k2status == 0))*(2) +
|
|
66
|
+
((kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 0))*(3) +
|
|
67
|
+
((kb1k0status == 0) & (kb1k1status == 1) & (kb1k2status == 1))*(4) +
|
|
68
|
+
((kb1k0status == 1) & (kb1k1status == 0) & (kb1k2status == 1))*(5) +
|
|
69
|
+
((kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 1))*(6);
|
|
70
|
+
// tube length is calculated based on piston combination
|
|
71
|
+
tubeLength = basePitch-pitchShift : ba.midikey2hz : pm.f2l : si.smoo;
|
|
72
|
+
// lips tension is controlled using pad on screen
|
|
73
|
+
lipsTension = kb0k0x : si.smoo;
|
|
74
|
+
// default mute value
|
|
75
|
+
mute = 0.5;
|
|
76
|
+
|
|
77
|
+
// ASSEMBLING MODEL
|
|
78
|
+
model =
|
|
79
|
+
pm.blower(pressure,breathGain,breathCutoff,vibratoFreq,vibratoGain) :
|
|
80
|
+
pm.brassModel(tubeLength,lipsTension,mute);
|
|
81
|
+
|
|
82
|
+
process = model <: _,_;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
//############################### clarinet.dsp #################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` where a
|
|
3
|
+
// clarinet physical model is controlled by an interface implementing
|
|
4
|
+
// fingerings similar to that of a the real instrument. The pressure of the
|
|
5
|
+
// breath in the mouthpiece of the clarinet is controlled by blowing on the
|
|
6
|
+
// built-in microphone of the device.
|
|
7
|
+
//
|
|
8
|
+
// ## `SmartKeyboard` Use Strategy
|
|
9
|
+
//
|
|
10
|
+
// The device is meant to be held with 2 hands vertically in order to put all
|
|
11
|
+
// fingers on the screen at the same time. Key combinations determine the
|
|
12
|
+
// pitch of the instrument. A single voice is constantly ran.
|
|
13
|
+
//
|
|
14
|
+
// ## Compilation Instructions
|
|
15
|
+
//
|
|
16
|
+
// This Faust code will compile fine with any of the standard Faust targets.
|
|
17
|
+
// However it was specifically designed to be used with `faust2smartkeyb`. For
|
|
18
|
+
// best results, we recommend to use the following parameters to compile it:
|
|
19
|
+
//
|
|
20
|
+
// ```
|
|
21
|
+
// faust2smartkeyb [-ios/-android] clarinet.dsp
|
|
22
|
+
// ```
|
|
23
|
+
//
|
|
24
|
+
// ## Version/Licence
|
|
25
|
+
//
|
|
26
|
+
// Version 0.0, Aug. 2017
|
|
27
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
28
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
29
|
+
//##############################################################################
|
|
30
|
+
|
|
31
|
+
declare interface "SmartKeyboard{
|
|
32
|
+
'Number of Keyboards':'2',
|
|
33
|
+
'Max Keyboard Polyphony':'0',
|
|
34
|
+
'Keyboard 0 - Number of Keys':'4',
|
|
35
|
+
'Keyboard 1 - Number of Keys':'5',
|
|
36
|
+
'Keyboard 0 - Send Freq':'0',
|
|
37
|
+
'Keyboard 1 - Send Freq':'0',
|
|
38
|
+
'Keyboard 0 - Piano Keyboard':'0',
|
|
39
|
+
'Keyboard 1 - Piano Keyboard':'0',
|
|
40
|
+
'Keyboard 0 - Send Key Status':'1',
|
|
41
|
+
'Keyboard 1 - Send Key Status':'1',
|
|
42
|
+
'Keyboard 0 - Key 3 - Label':'O+',
|
|
43
|
+
'Keyboard 1 - Key 4 - Label':'O-'
|
|
44
|
+
}";
|
|
45
|
+
|
|
46
|
+
import("stdfaust.lib");
|
|
47
|
+
|
|
48
|
+
// SMARTKEYBOARD PARAMS
|
|
49
|
+
kb0k0status = hslider("kb0k0status",0,0,1,1) : min(1) : int;
|
|
50
|
+
kb0k1status = hslider("kb0k1status",0,0,1,1) : min(1) : int;
|
|
51
|
+
kb0k2status = hslider("kb0k2status",0,0,1,1) : min(1) : int;
|
|
52
|
+
kb0k3status = hslider("kb0k3status",0,0,1,1) : min(1) : int;
|
|
53
|
+
kb1k0status = hslider("kb1k0status",0,0,1,1) : min(1) : int;
|
|
54
|
+
kb1k1status = hslider("kb1k1status",0,0,1,1) : min(1) : int;
|
|
55
|
+
kb1k2status = hslider("kb1k2status",0,0,1,1) : min(1) : int;
|
|
56
|
+
kb1k3status = hslider("kb1k3status",0,0,1,1) : min(1) : int;
|
|
57
|
+
kb1k4status = hslider("kb1k4status",0,0,1,1) : min(1) : int;
|
|
58
|
+
|
|
59
|
+
// MODEL PARAMETERS
|
|
60
|
+
reedStiffness = hslider("reedStiffness[acc: 1 1 -10 0 10]",0,0,1,0.01) : si.smoo;
|
|
61
|
+
basePitch = 73; // C#4
|
|
62
|
+
pitchShift = // calculate pitch shfit in function of "keys" combination
|
|
63
|
+
((kb0k0status == 0) & (kb0k1status == 1) & (kb0k2status == 0) &
|
|
64
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
65
|
+
(kb1k3status == 0))*(-1) + // C
|
|
66
|
+
((kb0k0status == 1) & (kb0k1status == 0) & (kb0k2status == 0) &
|
|
67
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
68
|
+
(kb1k3status == 0))*(-2) + // B
|
|
69
|
+
((kb0k0status == 1) & (kb0k1status == 0) & (kb0k2status == 1) &
|
|
70
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
71
|
+
(kb1k3status == 0))*(-3) + // Bb
|
|
72
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 0) &
|
|
73
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
74
|
+
(kb1k3status == 0))*(-4) + // A
|
|
75
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 0) &
|
|
76
|
+
(kb1k0status == 1) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
77
|
+
(kb1k3status == 0))*(-5) + // G#
|
|
78
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
79
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
80
|
+
(kb1k3status == 0))*(-6) + // G
|
|
81
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
82
|
+
(kb1k0status == 0) & (kb1k1status == 1) & (kb1k2status == 0) &
|
|
83
|
+
(kb1k3status == 0))*(-7) + // F#
|
|
84
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
85
|
+
(kb1k0status == 1) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
86
|
+
(kb1k3status == 0))*(-8) + // F
|
|
87
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
88
|
+
(kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 0) &
|
|
89
|
+
(kb1k3status == 0))*(-9) + // E
|
|
90
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
91
|
+
(kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 0) &
|
|
92
|
+
(kb1k3status == 1))*(-10) + // Eb
|
|
93
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
94
|
+
(kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 1) &
|
|
95
|
+
(kb1k3status == 0))*(-11) + // D
|
|
96
|
+
((kb0k0status == 0) & (kb0k1status == 0) & (kb0k2status == 0) &
|
|
97
|
+
(kb1k0status == 0) & (kb1k1status == 0) & (kb1k2status == 0) &
|
|
98
|
+
(kb1k3status == 1))*(-12) + // C#
|
|
99
|
+
((kb0k0status == 1) & (kb0k1status == 1) & (kb0k2status == 1) &
|
|
100
|
+
(kb1k0status == 1) & (kb1k1status == 1) & (kb1k2status == 1) &
|
|
101
|
+
(kb1k3status == 1))*(-13); // C
|
|
102
|
+
octaveShiftUp = +(kb0k3status : ba.impulsify)~_; // counting up
|
|
103
|
+
octaveShiftDown = +(kb1k4status : ba.impulsify)~_; // counting down
|
|
104
|
+
octaveShift = (octaveShiftUp-octaveShiftDown)*(12);
|
|
105
|
+
// tube length is just smoothed: could be improved
|
|
106
|
+
tubeLength = basePitch+pitchShift+octaveShift : ba.midikey2hz : pm.f2l : si.smoo;
|
|
107
|
+
bellOpening = 0.5;
|
|
108
|
+
|
|
109
|
+
// ASSEMBLING MODEL
|
|
110
|
+
model(pressure) = pm.clarinetModel(tubeLength,pressure,reedStiffness,bellOpening);
|
|
111
|
+
|
|
112
|
+
// pressure is estimated from mic signal
|
|
113
|
+
process = an.amp_follower_ud(0.02,0.02)*0.7 : model <: _,_;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
//################################### crazyGuiro.dsp #####################################
|
|
2
|
+
// A simple smart phone "Guiro" where the touch screen is used to drive the instrument and
|
|
3
|
+
// select its pitch and where the x and y axis of the accelerometer control the
|
|
4
|
+
// resonance properties of the instrument.
|
|
5
|
+
//
|
|
6
|
+
// ## `SmartKeyboard` Use Strategy
|
|
7
|
+
//
|
|
8
|
+
// Since the sounds generated by this synth are very short, the strategy here is to take
|
|
9
|
+
// advantage of the polyphony capabilities of the iOSKeyboard architecture by creating
|
|
10
|
+
// a new voice every time a new key is pressed. Since the `SmartKeyboard` interface has a
|
|
11
|
+
// large number of keys here (128), lots of sounds are generated when sliding a
|
|
12
|
+
// finger across the keyboard. Also, it's interesting to notice that the `freq` parameter
|
|
13
|
+
// is not used here. Instead `keyboard` and `key` are used which allows us to easily
|
|
14
|
+
// make custom mappings.
|
|
15
|
+
//
|
|
16
|
+
// ## Compilation Instructions
|
|
17
|
+
//
|
|
18
|
+
// This Faust code will compile fine with any of the standard Faust targets. However
|
|
19
|
+
// it was specifically designed to be used with `faust2smartkeyb`. For best results,
|
|
20
|
+
// we recommend to use the following parameters to compile it:
|
|
21
|
+
//
|
|
22
|
+
// ```
|
|
23
|
+
// faust2smartkeyb [-ios/-android] crazyGuiro.dsp
|
|
24
|
+
// ```
|
|
25
|
+
//
|
|
26
|
+
// ## Version/Licence
|
|
27
|
+
//
|
|
28
|
+
// Version 0.0, Feb. 2017
|
|
29
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
30
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
31
|
+
//########################################################################################
|
|
32
|
+
|
|
33
|
+
import("stdfaust.lib");
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
//========================= Smart Keyboard Configuration =================================
|
|
37
|
+
// 8 keyboards, each has 16 keys, none of them display key names.
|
|
38
|
+
//========================================================================================
|
|
39
|
+
|
|
40
|
+
declare interface "SmartKeyboard{
|
|
41
|
+
'Number of Keyboards':'8',
|
|
42
|
+
'Keyboard 0 - Number of Keys':'16',
|
|
43
|
+
'Keyboard 1 - Number of Keys':'16',
|
|
44
|
+
'Keyboard 2 - Number of Keys':'16',
|
|
45
|
+
'Keyboard 3 - Number of Keys':'16',
|
|
46
|
+
'Keyboard 4 - Number of Keys':'16',
|
|
47
|
+
'Keyboard 5 - Number of Keys':'16',
|
|
48
|
+
'Keyboard 6 - Number of Keys':'16',
|
|
49
|
+
'Keyboard 7 - Number of Keys':'16',
|
|
50
|
+
'Keyboard 0 - Piano Keyboard':'0',
|
|
51
|
+
'Keyboard 1 - Piano Keyboard':'0',
|
|
52
|
+
'Keyboard 2 - Piano Keyboard':'0',
|
|
53
|
+
'Keyboard 3 - Piano Keyboard':'0',
|
|
54
|
+
'Keyboard 4 - Piano Keyboard':'0',
|
|
55
|
+
'Keyboard 5 - Piano Keyboard':'0',
|
|
56
|
+
'Keyboard 6 - Piano Keyboard':'0',
|
|
57
|
+
'Keyboard 7 - Piano Keyboard':'0'
|
|
58
|
+
}";
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
//================================ Instrument Parameters =================================
|
|
62
|
+
// Creates the connection between the synth and the mobile device
|
|
63
|
+
//========================================================================================
|
|
64
|
+
|
|
65
|
+
// the current keyboard
|
|
66
|
+
keyboard = hslider("keyboard",0,0,2,1);
|
|
67
|
+
// the current key of the current keyboard
|
|
68
|
+
key = hslider("key",0,0,2,1);
|
|
69
|
+
// the wet factor of the reverb
|
|
70
|
+
wet = hslider("wet[acc: 0 0 -10 0 10]",0,0,1,0.01);
|
|
71
|
+
// the resonance factor of the reverb
|
|
72
|
+
res = hslider("res[acc: 1 0 -10 0 10]",0.5,0,1,0.01);
|
|
73
|
+
// smart keyboard gate parameter
|
|
74
|
+
gate = button("gate");
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
//=================================== Parameters Mapping =================================
|
|
78
|
+
//========================================================================================
|
|
79
|
+
|
|
80
|
+
// the resonance frequency of each click of the Guiro changes in function of
|
|
81
|
+
// the selected keyboard and key on it
|
|
82
|
+
minKey = 50; // min key of lowest keyboard
|
|
83
|
+
keySkipKeyboard = 8; // key skip per keyboard
|
|
84
|
+
drumResFreq = (key+minKey)+(keyboard*keySkipKeyboard) : ba.midikey2hz;
|
|
85
|
+
reverbWet = wet : si.smoo;
|
|
86
|
+
reverbRes = wet : si.smoo;
|
|
87
|
+
|
|
88
|
+
// filter q
|
|
89
|
+
q = 8;
|
|
90
|
+
|
|
91
|
+
//============================================ DSP =======================================
|
|
92
|
+
//========================================================================================
|
|
93
|
+
|
|
94
|
+
reverb(wet,res) = _ <: *(1-wet),(*(wet) : re.mono_freeverb(res, 0.5, 0.5, 0)) :> _;
|
|
95
|
+
|
|
96
|
+
process = sy.popFilterDrum(drumResFreq,q,gate) : reverb(wet,res) <: _,_;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//##################################### drums.dsp ########################################
|
|
2
|
+
// Faust instrument specifically designed for `faust2smartkeyb` where 3 drums can
|
|
3
|
+
// be controlled using pads. The X/Y postion of fingers is detected on each key
|
|
4
|
+
// and use to control the strike postion on the virtual membrane.
|
|
5
|
+
//
|
|
6
|
+
// ## `SmartKeyboard` Use Strategy
|
|
7
|
+
//
|
|
8
|
+
// The drum physical model used here is implemented to be generic so that its
|
|
9
|
+
// fundamental frequency can be changed for each voice. `SmartKeyboard` is used
|
|
10
|
+
// in polyphonic mode so each new strike on the interface corresponds to a new
|
|
11
|
+
// new voice.
|
|
12
|
+
//
|
|
13
|
+
// ## Compilation Instructions
|
|
14
|
+
//
|
|
15
|
+
// This Faust code will compile fine with any of the standard Faust targets. However
|
|
16
|
+
// it was specifically designed to be used with `faust2smartkeyb`. For best results,
|
|
17
|
+
// we recommend to use the following parameters to compile it:
|
|
18
|
+
//
|
|
19
|
+
// ```
|
|
20
|
+
// faust2smartkeyb [-ios/-android] -effect reverb.dsp drums.dsp
|
|
21
|
+
// ```
|
|
22
|
+
//
|
|
23
|
+
// ## Version/Licence
|
|
24
|
+
//
|
|
25
|
+
// Version 0.0, Feb. 2017
|
|
26
|
+
// Copyright Romain Michon CCRMA (Stanford University)/GRAME 2017
|
|
27
|
+
// MIT Licence: https://opensource.org/licenses/MIT
|
|
28
|
+
//########################################################################################
|
|
29
|
+
|
|
30
|
+
// Interface with 2 keyboards of 2 and 1 keys (3 pads)
|
|
31
|
+
// Static mode is used so that keys don't change color when touched
|
|
32
|
+
// Note labels are hidden
|
|
33
|
+
// Piano Keyboard mode is deactivated so all the keys look the same
|
|
34
|
+
declare interface "SmartKeyboard{
|
|
35
|
+
'Number of Keyboards':'2',
|
|
36
|
+
'Keyboard 0 - Number of Keys':'2',
|
|
37
|
+
'Keyboard 1 - Number of Keys':'1',
|
|
38
|
+
'Keyboard 0 - Static Mode':'1',
|
|
39
|
+
'Keyboard 1 - Static Mode':'1',
|
|
40
|
+
'Keyboard 0 - Send X':'1',
|
|
41
|
+
'Keyboard 0 - Send Y':'1',
|
|
42
|
+
'Keyboard 1 - Send X':'1',
|
|
43
|
+
'Keyboard 1 - Send Y':'1',
|
|
44
|
+
'Keyboard 0 - Piano Keyboard':'0',
|
|
45
|
+
'Keyboard 1 - Piano Keyboard':'0',
|
|
46
|
+
'Keyboard 0 - Key 0 - Label':'High',
|
|
47
|
+
'Keyboard 0 - Key 1 - Label':'Mid',
|
|
48
|
+
'Keyboard 1 - Key 0 - Label':'Low'
|
|
49
|
+
}";
|
|
50
|
+
|
|
51
|
+
import("stdfaust.lib");
|
|
52
|
+
|
|
53
|
+
// standard parameters
|
|
54
|
+
gate = button("gate");
|
|
55
|
+
x = hslider("x",1,0,1,0.001);
|
|
56
|
+
y = hslider("y",1,0,1,0.001);
|
|
57
|
+
keyboard = hslider("keyboard",0,0,1,1) : int;
|
|
58
|
+
key = hslider("key",0,0,1,1) : int;
|
|
59
|
+
|
|
60
|
+
drumModel = pm.djembe(rootFreq,exPos,strikeSharpness,gain,gate)
|
|
61
|
+
with{
|
|
62
|
+
// frequency of the lowest drum
|
|
63
|
+
bFreq = 60;
|
|
64
|
+
// retrieving pad ID (0-2)
|
|
65
|
+
padID = 2-(keyboard*2+key);
|
|
66
|
+
// drum root freq is computed in function of pad number
|
|
67
|
+
rootFreq = bFreq*(padID+1);
|
|
68
|
+
// excitation position
|
|
69
|
+
exPos = min((x*2-1 : abs),(y*2-1 : abs));
|
|
70
|
+
strikeSharpness = 0.5;
|
|
71
|
+
gain = 2;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
process = drumModel <: _,_;
|