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.
Files changed (693) hide show
  1. cyfaust/CMakeLists.txt +93 -0
  2. cyfaust/__init__.py +0 -0
  3. cyfaust/__main__.py +819 -0
  4. cyfaust/box.pxd +46 -0
  5. cyfaust/box.pyx +2459 -0
  6. cyfaust/common.pxd +5 -0
  7. cyfaust/common.pyx +61 -0
  8. cyfaust/cyfaust.cpython-311-darwin.so +0 -0
  9. cyfaust/faust_box.pxd +298 -0
  10. cyfaust/faust_box_oo.pyx +66 -0
  11. cyfaust/faust_gui.pxd +261 -0
  12. cyfaust/faust_interp.pxd +160 -0
  13. cyfaust/faust_player.pxd +80 -0
  14. cyfaust/faust_signal.pxd +257 -0
  15. cyfaust/gui_statics.cpp +15 -0
  16. cyfaust/interp.pyx +673 -0
  17. cyfaust/player.cpp +32519 -0
  18. cyfaust/player.pyx +191 -0
  19. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.cpp +2327 -0
  20. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.h +1019 -0
  21. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.cpp +423 -0
  22. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.h +82 -0
  23. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.cpp +151 -0
  24. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.h +119 -0
  25. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.cpp +62 -0
  26. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.h +66 -0
  27. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.cpp +615 -0
  28. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.h +128 -0
  29. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.cpp +512 -0
  30. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.h +544 -0
  31. cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.cpp +370 -0
  32. cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.h +340 -0
  33. cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.cpp +463 -0
  34. cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.h +391 -0
  35. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.cpp +837 -0
  36. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.h +267 -0
  37. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.cpp +495 -0
  38. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.h +213 -0
  39. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/LockFreeFIFO.h +168 -0
  40. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MIDIControlHandler.h +92 -0
  41. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.cpp +354 -0
  42. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.h +126 -0
  43. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.cpp +419 -0
  44. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.h +227 -0
  45. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthEvent.h +145 -0
  46. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.cpp +138 -0
  47. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.h +186 -0
  48. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.cpp +93 -0
  49. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.h +232 -0
  50. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.cpp +134 -0
  51. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.h +80 -0
  52. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.cpp +217 -0
  53. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.h +267 -0
  54. cyfaust/resources/architecture/AU/AUPublic/Utility/AUMIDIDefs.h +136 -0
  55. cyfaust/resources/architecture/AU/AUPublic/Utility/AUSilentTimeout.h +93 -0
  56. cyfaust/resources/architecture/AU/English.lproj/InfoPlist.strings +0 -0
  57. cyfaust/resources/architecture/AU/FaustAU.exp +2 -0
  58. cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.pbxproj +968 -0
  59. cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  60. cyfaust/resources/architecture/AU/FaustAUCustomView.plist +14 -0
  61. cyfaust/resources/architecture/AU/Info.plist +47 -0
  62. cyfaust/resources/architecture/AU/PublicUtility/CAAtomic.h +305 -0
  63. cyfaust/resources/architecture/AU/PublicUtility/CAAtomicStack.h +239 -0
  64. cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.cpp +153 -0
  65. cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.h +199 -0
  66. cyfaust/resources/architecture/AU/PublicUtility/CAAutoDisposer.h +508 -0
  67. cyfaust/resources/architecture/AU/PublicUtility/CABufferList.cpp +264 -0
  68. cyfaust/resources/architecture/AU/PublicUtility/CABufferList.h +319 -0
  69. cyfaust/resources/architecture/AU/PublicUtility/CAByteOrder.h +161 -0
  70. cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.cpp +88 -0
  71. cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.h +580 -0
  72. cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.cpp +89 -0
  73. cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.h +115 -0
  74. cyfaust/resources/architecture/AU/PublicUtility/CADebugger.cpp +77 -0
  75. cyfaust/resources/architecture/AU/PublicUtility/CADebugger.h +56 -0
  76. cyfaust/resources/architecture/AU/PublicUtility/CAException.h +83 -0
  77. cyfaust/resources/architecture/AU/PublicUtility/CAGuard.cpp +339 -0
  78. cyfaust/resources/architecture/AU/PublicUtility/CAGuard.h +133 -0
  79. cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.cpp +110 -0
  80. cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.h +231 -0
  81. cyfaust/resources/architecture/AU/PublicUtility/CALogMacros.h +140 -0
  82. cyfaust/resources/architecture/AU/PublicUtility/CAMath.h +68 -0
  83. cyfaust/resources/architecture/AU/PublicUtility/CAMutex.cpp +345 -0
  84. cyfaust/resources/architecture/AU/PublicUtility/CAMutex.h +163 -0
  85. cyfaust/resources/architecture/AU/PublicUtility/CAReferenceCounted.h +87 -0
  86. cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.cpp +795 -0
  87. cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.h +409 -0
  88. cyfaust/resources/architecture/AU/PublicUtility/CAThreadSafeList.h +255 -0
  89. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.cpp +191 -0
  90. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.h +100 -0
  91. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnitTypes.h +59 -0
  92. cyfaust/resources/architecture/AU/PublicUtility/CAXException.cpp +49 -0
  93. cyfaust/resources/architecture/AU/PublicUtility/CAXException.h +338 -0
  94. cyfaust/resources/architecture/AU/SectionPatternLight.tiff +0 -0
  95. cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.h +38 -0
  96. cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.r +153 -0
  97. cyfaust/resources/architecture/AU/Source/AUSource/FaustAUVersion.h +64 -0
  98. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.h +18 -0
  99. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.m +21 -0
  100. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.h +20 -0
  101. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.m +56 -0
  102. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.h +87 -0
  103. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.m +834 -0
  104. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.h +13 -0
  105. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.m +22 -0
  106. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.h +81 -0
  107. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.m +199 -0
  108. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.h +18 -0
  109. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.m +21 -0
  110. cyfaust/resources/architecture/AU/version.plist +16 -0
  111. cyfaust/resources/architecture/VST/Info.plist +28 -0
  112. cyfaust/resources/architecture/VST/PkgInfo +1 -0
  113. cyfaust/resources/architecture/VST/README +11 -0
  114. cyfaust/resources/architecture/VST/VST.xcode/project.pbxproj +655 -0
  115. cyfaust/resources/architecture/alsa-console.cpp +246 -0
  116. cyfaust/resources/architecture/alsa-gtk.cpp +220 -0
  117. cyfaust/resources/architecture/alsa-qt.cpp +229 -0
  118. cyfaust/resources/architecture/api/DspFaust.cpp +612 -0
  119. cyfaust/resources/architecture/api/DspFaust.h +511 -0
  120. cyfaust/resources/architecture/api/README.md +237 -0
  121. cyfaust/resources/architecture/api/doc/Generic.md +38 -0
  122. cyfaust/resources/architecture/au-effect.cpp +487 -0
  123. cyfaust/resources/architecture/au-instrument.cpp +573 -0
  124. cyfaust/resources/architecture/bench.cpp +91 -0
  125. cyfaust/resources/architecture/c-jack-gtk.c +227 -0
  126. cyfaust/resources/architecture/ca-gtk.cpp +284 -0
  127. cyfaust/resources/architecture/ca-qt.cpp +424 -0
  128. cyfaust/resources/architecture/cpal.rs +195 -0
  129. cyfaust/resources/architecture/csound.cpp +245 -0
  130. cyfaust/resources/architecture/csvplot.cpp +227 -0
  131. cyfaust/resources/architecture/daisy/Makefile +14 -0
  132. cyfaust/resources/architecture/daisy/README.md +50 -0
  133. cyfaust/resources/architecture/daisy/ex_faust.cpp +173 -0
  134. cyfaust/resources/architecture/dssi.cpp +1262 -0
  135. cyfaust/resources/architecture/dummy-mem.cpp +186 -0
  136. cyfaust/resources/architecture/dummy.cpp +294 -0
  137. cyfaust/resources/architecture/faust/au/AUUI.h +404 -0
  138. cyfaust/resources/architecture/faust/audio/alsa-dsp.h +693 -0
  139. cyfaust/resources/architecture/faust/audio/android-dsp.h +583 -0
  140. cyfaust/resources/architecture/faust/audio/audio.h +115 -0
  141. cyfaust/resources/architecture/faust/audio/channels.h +122 -0
  142. cyfaust/resources/architecture/faust/audio/coreaudio-dsp.h +1543 -0
  143. cyfaust/resources/architecture/faust/audio/coreaudio-ios-dsp.h +743 -0
  144. cyfaust/resources/architecture/faust/audio/dummy-audio.h +255 -0
  145. cyfaust/resources/architecture/faust/audio/esp32-dsp.h +284 -0
  146. cyfaust/resources/architecture/faust/audio/fpe.h +164 -0
  147. cyfaust/resources/architecture/faust/audio/jack-dsp.h +534 -0
  148. cyfaust/resources/architecture/faust/audio/juce-dsp.h +119 -0
  149. cyfaust/resources/architecture/faust/audio/netjack-dsp.h +354 -0
  150. cyfaust/resources/architecture/faust/audio/oboe-dsp.h +308 -0
  151. cyfaust/resources/architecture/faust/audio/ofaudio-dsp.h +155 -0
  152. cyfaust/resources/architecture/faust/audio/opensles-android-dsp.h +631 -0
  153. cyfaust/resources/architecture/faust/audio/osc-dsp.h +120 -0
  154. cyfaust/resources/architecture/faust/audio/portaudio-dsp.h +236 -0
  155. cyfaust/resources/architecture/faust/audio/rtaudio-dsp.h +241 -0
  156. cyfaust/resources/architecture/faust/audio/samAudio.h +140 -0
  157. cyfaust/resources/architecture/faust/audio/teensy-dsp.h +171 -0
  158. cyfaust/resources/architecture/faust/dsp/cmajor-cpp-dsp.h +253 -0
  159. cyfaust/resources/architecture/faust/dsp/cmajorpatch-dsp.h +483 -0
  160. cyfaust/resources/architecture/faust/dsp/cpp-dsp-adapter.h +38 -0
  161. cyfaust/resources/architecture/faust/dsp/dsp-adapter.h +836 -0
  162. cyfaust/resources/architecture/faust/dsp/dsp-bench.h +611 -0
  163. cyfaust/resources/architecture/faust/dsp/dsp-checker.h +115 -0
  164. cyfaust/resources/architecture/faust/dsp/dsp-combiner.h +810 -0
  165. cyfaust/resources/architecture/faust/dsp/dsp-compute-adapter.h +159 -0
  166. cyfaust/resources/architecture/faust/dsp/dsp-multi.h +702 -0
  167. cyfaust/resources/architecture/faust/dsp/dsp-multifun.h +90 -0
  168. cyfaust/resources/architecture/faust/dsp/dsp-optimizer.h +511 -0
  169. cyfaust/resources/architecture/faust/dsp/dsp-tools.h +229 -0
  170. cyfaust/resources/architecture/faust/dsp/dsp.h +321 -0
  171. cyfaust/resources/architecture/faust/dsp/fastmath.cpp +301 -0
  172. cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.cpp +494 -0
  173. cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.h +386 -0
  174. cyfaust/resources/architecture/faust/dsp/faust-engine.h +75 -0
  175. cyfaust/resources/architecture/faust/dsp/faust-poly-engine.h +638 -0
  176. cyfaust/resources/architecture/faust/dsp/interpreter-dsp-c.h +288 -0
  177. cyfaust/resources/architecture/faust/dsp/interpreter-dsp.h +362 -0
  178. cyfaust/resources/architecture/faust/dsp/interpreter-machine-dsp.h +233 -0
  179. cyfaust/resources/architecture/faust/dsp/libfaust-box-c.h +817 -0
  180. cyfaust/resources/architecture/faust/dsp/libfaust-box.h +889 -0
  181. cyfaust/resources/architecture/faust/dsp/libfaust-c.h +116 -0
  182. cyfaust/resources/architecture/faust/dsp/libfaust-signal-c.h +649 -0
  183. cyfaust/resources/architecture/faust/dsp/libfaust-signal.h +731 -0
  184. cyfaust/resources/architecture/faust/dsp/llvm-dsp-adapter.h +160 -0
  185. cyfaust/resources/architecture/faust/dsp/llvm-dsp-c.h +524 -0
  186. cyfaust/resources/architecture/faust/dsp/llvm-dsp.h +575 -0
  187. cyfaust/resources/architecture/faust/dsp/llvm-machine-dsp.h +215 -0
  188. cyfaust/resources/architecture/faust/dsp/one-sample-dsp.h +477 -0
  189. cyfaust/resources/architecture/faust/dsp/poly-dsp.h +1079 -0
  190. cyfaust/resources/architecture/faust/dsp/poly-interpreter-dsp.h +143 -0
  191. cyfaust/resources/architecture/faust/dsp/poly-llvm-dsp.h +249 -0
  192. cyfaust/resources/architecture/faust/dsp/poly-wasm-dsp.h +257 -0
  193. cyfaust/resources/architecture/faust/dsp/proxy-dsp.h +108 -0
  194. cyfaust/resources/architecture/faust/dsp/proxy-osc-dsp.h +109 -0
  195. cyfaust/resources/architecture/faust/dsp/rnbo-dsp.h +187 -0
  196. cyfaust/resources/architecture/faust/dsp/sound-player.h +428 -0
  197. cyfaust/resources/architecture/faust/dsp/timed-dsp.h +279 -0
  198. cyfaust/resources/architecture/faust/dsp/wasm-dsp-imp.h +188 -0
  199. cyfaust/resources/architecture/faust/dsp/wasm-dsp.h +309 -0
  200. cyfaust/resources/architecture/faust/dsp/ysfx-dsp.h +188 -0
  201. cyfaust/resources/architecture/faust/export.h +61 -0
  202. cyfaust/resources/architecture/faust/gui/APIUI.h +726 -0
  203. cyfaust/resources/architecture/faust/gui/BelaOSCUI.h +170 -0
  204. cyfaust/resources/architecture/faust/gui/CGlue.h +667 -0
  205. cyfaust/resources/architecture/faust/gui/CInterface.h +142 -0
  206. cyfaust/resources/architecture/faust/gui/ControlSequenceUI.h +197 -0
  207. cyfaust/resources/architecture/faust/gui/ControlUI.h +137 -0
  208. cyfaust/resources/architecture/faust/gui/DaisyControlUI.h +283 -0
  209. cyfaust/resources/architecture/faust/gui/DaisyPatchInitControlUI.h +254 -0
  210. cyfaust/resources/architecture/faust/gui/DecoratorUI.h +115 -0
  211. cyfaust/resources/architecture/faust/gui/Esp32ControlUI.h +341 -0
  212. cyfaust/resources/architecture/faust/gui/Esp32Reader.h +102 -0
  213. cyfaust/resources/architecture/faust/gui/Esp32SensorUI.h +137 -0
  214. cyfaust/resources/architecture/faust/gui/FUI.h +147 -0
  215. cyfaust/resources/architecture/faust/gui/GTKUI.h +1414 -0
  216. cyfaust/resources/architecture/faust/gui/GUI.h +465 -0
  217. cyfaust/resources/architecture/faust/gui/JSONControl.h +48 -0
  218. cyfaust/resources/architecture/faust/gui/JSONUI.h +722 -0
  219. cyfaust/resources/architecture/faust/gui/JSONUIDecoder.h +589 -0
  220. cyfaust/resources/architecture/faust/gui/JuceGUI.h +2061 -0
  221. cyfaust/resources/architecture/faust/gui/JuceOSCUI.h +163 -0
  222. cyfaust/resources/architecture/faust/gui/JuceParameterUI.h +158 -0
  223. cyfaust/resources/architecture/faust/gui/JuceReader.h +103 -0
  224. cyfaust/resources/architecture/faust/gui/JuceStateUI.h +88 -0
  225. cyfaust/resources/architecture/faust/gui/LayoutUI.h +423 -0
  226. cyfaust/resources/architecture/faust/gui/LibsndfileReader.h +366 -0
  227. cyfaust/resources/architecture/faust/gui/MapUI.h +370 -0
  228. cyfaust/resources/architecture/faust/gui/MemoryReader.h +111 -0
  229. cyfaust/resources/architecture/faust/gui/MetaDataUI.h +357 -0
  230. cyfaust/resources/architecture/faust/gui/MidiUI.h +939 -0
  231. cyfaust/resources/architecture/faust/gui/OCVUI.h +688 -0
  232. cyfaust/resources/architecture/faust/gui/OSCUI.h +219 -0
  233. cyfaust/resources/architecture/faust/gui/PathBuilder.h +228 -0
  234. cyfaust/resources/architecture/faust/gui/PresetUI.h +337 -0
  235. cyfaust/resources/architecture/faust/gui/PrintCUI.h +152 -0
  236. cyfaust/resources/architecture/faust/gui/PrintUI.h +121 -0
  237. cyfaust/resources/architecture/faust/gui/QTUI.h +1891 -0
  238. cyfaust/resources/architecture/faust/gui/RosCI.h +493 -0
  239. cyfaust/resources/architecture/faust/gui/RosUI.h +488 -0
  240. cyfaust/resources/architecture/faust/gui/SaveUI.h +163 -0
  241. cyfaust/resources/architecture/faust/gui/SimpleParser.h +583 -0
  242. cyfaust/resources/architecture/faust/gui/SoundUI.h +217 -0
  243. cyfaust/resources/architecture/faust/gui/Soundfile.h +342 -0
  244. cyfaust/resources/architecture/faust/gui/Styles/Blue.qrc +5 -0
  245. cyfaust/resources/architecture/faust/gui/Styles/Blue.qss +177 -0
  246. cyfaust/resources/architecture/faust/gui/Styles/Default.qrc +5 -0
  247. cyfaust/resources/architecture/faust/gui/Styles/Default.qss +117 -0
  248. cyfaust/resources/architecture/faust/gui/Styles/Grey.qrc +5 -0
  249. cyfaust/resources/architecture/faust/gui/Styles/Grey.qss +174 -0
  250. cyfaust/resources/architecture/faust/gui/Styles/Salmon.qrc +5 -0
  251. cyfaust/resources/architecture/faust/gui/Styles/Salmon.qss +171 -0
  252. cyfaust/resources/architecture/faust/gui/UI.h +87 -0
  253. cyfaust/resources/architecture/faust/gui/ValueConverter.h +543 -0
  254. cyfaust/resources/architecture/faust/gui/WaveReader.h +364 -0
  255. cyfaust/resources/architecture/faust/gui/console.h +322 -0
  256. cyfaust/resources/architecture/faust/gui/httpdUI.h +372 -0
  257. cyfaust/resources/architecture/faust/gui/meta.h +39 -0
  258. cyfaust/resources/architecture/faust/gui/mspUI.h +580 -0
  259. cyfaust/resources/architecture/faust/gui/qrcodegen.h +269 -0
  260. cyfaust/resources/architecture/faust/gui/qrcodegen.impl.h +1025 -0
  261. cyfaust/resources/architecture/faust/gui/ring-buffer.h +414 -0
  262. cyfaust/resources/architecture/faust/midi/RtMidi.cpp +3054 -0
  263. cyfaust/resources/architecture/faust/midi/RtMidi.h +1034 -0
  264. cyfaust/resources/architecture/faust/midi/bela-midi.h +266 -0
  265. cyfaust/resources/architecture/faust/midi/daisy-midi.h +116 -0
  266. cyfaust/resources/architecture/faust/midi/esp32-midi.h +185 -0
  267. cyfaust/resources/architecture/faust/midi/gramophone-midi.h +107 -0
  268. cyfaust/resources/architecture/faust/midi/iplug2-midi.h +148 -0
  269. cyfaust/resources/architecture/faust/midi/jack-midi.h +247 -0
  270. cyfaust/resources/architecture/faust/midi/juce-midi.h +275 -0
  271. cyfaust/resources/architecture/faust/midi/midi.h +475 -0
  272. cyfaust/resources/architecture/faust/midi/rt-midi.h +315 -0
  273. cyfaust/resources/architecture/faust/midi/teensy-midi.h +89 -0
  274. cyfaust/resources/architecture/faust/misc.h +106 -0
  275. cyfaust/resources/architecture/faust/sound-file.h +132 -0
  276. cyfaust/resources/architecture/faust/unity/AudioPluginInterface.h +301 -0
  277. cyfaust/resources/architecture/faust/vst/faust.h +141 -0
  278. cyfaust/resources/architecture/faust/vst/voice.h +43 -0
  279. cyfaust/resources/architecture/faust/vst/vstui.h +524 -0
  280. cyfaust/resources/architecture/faustvst.cpp +3435 -0
  281. cyfaust/resources/architecture/faustvstqt.h +91 -0
  282. cyfaust/resources/architecture/gen-json.cpp +76 -0
  283. cyfaust/resources/architecture/jack-console.cpp +267 -0
  284. cyfaust/resources/architecture/jack-gtk-ros.cpp +139 -0
  285. cyfaust/resources/architecture/jack-gtk.cpp +282 -0
  286. cyfaust/resources/architecture/jack-internal.cpp +560 -0
  287. cyfaust/resources/architecture/jack-qt-chain-footer.cpp +87 -0
  288. cyfaust/resources/architecture/jack-qt-chain-header.cpp +92 -0
  289. cyfaust/resources/architecture/jack-qt.cpp +281 -0
  290. cyfaust/resources/architecture/jack.rs +171 -0
  291. cyfaust/resources/architecture/juce/README.md +84 -0
  292. cyfaust/resources/architecture/juce/juce-plugin.cpp +809 -0
  293. cyfaust/resources/architecture/juce/juce-standalone.cpp +413 -0
  294. cyfaust/resources/architecture/juce/plugin/plugin-llvm.jucer +184 -0
  295. cyfaust/resources/architecture/juce/plugin/plugin.jucer +159 -0
  296. cyfaust/resources/architecture/juce/standalone/standalone-llvm.jucer +216 -0
  297. cyfaust/resources/architecture/juce/standalone/standalone.jucer +191 -0
  298. cyfaust/resources/architecture/ladspa.cpp +543 -0
  299. cyfaust/resources/architecture/latexheader.tex +65 -0
  300. cyfaust/resources/architecture/lv2.cpp +2090 -0
  301. cyfaust/resources/architecture/lv2qtgui.h +62 -0
  302. cyfaust/resources/architecture/lv2ui.cpp +1966 -0
  303. cyfaust/resources/architecture/max-msp/README.md +109 -0
  304. cyfaust/resources/architecture/max-msp/faustgen-wrapper-poly.maxpat +184 -0
  305. cyfaust/resources/architecture/max-msp/faustgen-wrapper.maxpat +163 -0
  306. cyfaust/resources/architecture/max-msp/max-msp.cpp +734 -0
  307. cyfaust/resources/architecture/max-msp/max-msp64.cpp +789 -0
  308. cyfaust/resources/architecture/max-msp/py2max/README.md +277 -0
  309. cyfaust/resources/architecture/max-msp/py2max/py2max/__init__.py +3 -0
  310. cyfaust/resources/architecture/max-msp/py2max/py2max/common.py +7 -0
  311. cyfaust/resources/architecture/max-msp/py2max/py2max/core.py +1387 -0
  312. cyfaust/resources/architecture/max-msp/py2max/py2max/maxclassdb.py +318 -0
  313. cyfaust/resources/architecture/max-msp/py2max/py2max/utils.py +20 -0
  314. cyfaust/resources/architecture/max-msp/rnbo.py +1591 -0
  315. cyfaust/resources/architecture/max-msp/sndfile/sndfile.h +857 -0
  316. cyfaust/resources/architecture/max-msp/ui.js +230 -0
  317. cyfaust/resources/architecture/max-msp/wrapper-poly.maxpat +153 -0
  318. cyfaust/resources/architecture/max-msp/wrapper.maxpat +131 -0
  319. cyfaust/resources/architecture/minimal-bench.cpp +100 -0
  320. cyfaust/resources/architecture/minimal-effect.c +149 -0
  321. cyfaust/resources/architecture/minimal-effect.cpp +70 -0
  322. cyfaust/resources/architecture/minimal-fixed-point.cpp +195 -0
  323. cyfaust/resources/architecture/minimal-static.cpp +160 -0
  324. cyfaust/resources/architecture/minimal.c +103 -0
  325. cyfaust/resources/architecture/minimal.cpp +84 -0
  326. cyfaust/resources/architecture/minimal.rs +223 -0
  327. cyfaust/resources/architecture/module.cpp +91 -0
  328. cyfaust/resources/architecture/octave.cpp +471 -0
  329. cyfaust/resources/architecture/oscio-gtk.cpp +115 -0
  330. cyfaust/resources/architecture/oscio-qt.cpp +121 -0
  331. cyfaust/resources/architecture/owl.cpp +345 -0
  332. cyfaust/resources/architecture/pa-gtk.cpp +119 -0
  333. cyfaust/resources/architecture/pa-qt.cpp +261 -0
  334. cyfaust/resources/architecture/path-printer.cpp +100 -0
  335. cyfaust/resources/architecture/plot.cpp +128 -0
  336. cyfaust/resources/architecture/portaudio.rs +192 -0
  337. cyfaust/resources/architecture/puredata.cpp +636 -0
  338. cyfaust/resources/architecture/ra-qt.cpp +238 -0
  339. cyfaust/resources/architecture/sam/fast_pow2.h +69 -0
  340. cyfaust/resources/architecture/sam/fastexp.h +140 -0
  341. cyfaust/resources/architecture/sam/samFaustDSP.cpp +125 -0
  342. cyfaust/resources/architecture/sam/samFaustDSP.h +107 -0
  343. cyfaust/resources/architecture/scheduler.cpp +1391 -0
  344. cyfaust/resources/architecture/sndfile.cpp +291 -0
  345. cyfaust/resources/architecture/supercollider.cpp +611 -0
  346. cyfaust/resources/architecture/teensy/README.md +13 -0
  347. cyfaust/resources/architecture/teensy/teensy.cpp +214 -0
  348. cyfaust/resources/architecture/teensy/teensy.h +71 -0
  349. cyfaust/resources/architecture/thread.h +373 -0
  350. cyfaust/resources/architecture/vcvrack/README.md +78 -0
  351. cyfaust/resources/architecture/vcvrack/template/.gitignore +6 -0
  352. cyfaust/resources/architecture/vcvrack/template/Makefile +22 -0
  353. cyfaust/resources/architecture/vcvrack/template/res/FaustModule.svg +299 -0
  354. cyfaust/resources/architecture/vcvrack/template/src/FaustModule.cpp +942 -0
  355. cyfaust/resources/architecture/vst.cpp +947 -0
  356. cyfaust/resources/libraries/aanl.lib +900 -0
  357. cyfaust/resources/libraries/all.lib +36 -0
  358. cyfaust/resources/libraries/analyzers.lib +980 -0
  359. cyfaust/resources/libraries/basics.lib +2681 -0
  360. cyfaust/resources/libraries/compressors.lib +1341 -0
  361. cyfaust/resources/libraries/delays.lib +401 -0
  362. cyfaust/resources/libraries/demos.lib +1556 -0
  363. cyfaust/resources/libraries/dx7.lib +1036 -0
  364. cyfaust/resources/libraries/effect.lib +1645 -0
  365. cyfaust/resources/libraries/envelopes.lib +666 -0
  366. cyfaust/resources/libraries/examples/README.md +13 -0
  367. cyfaust/resources/libraries/examples/ambisonics/fourSourcesToOcto.dsp +20 -0
  368. cyfaust/resources/libraries/examples/ambisonics/oneSourceToStereo.dsp +12 -0
  369. cyfaust/resources/libraries/examples/analysis/FFT.dsp +26 -0
  370. cyfaust/resources/libraries/examples/analysis/dbmeter.dsp +19 -0
  371. cyfaust/resources/libraries/examples/analysis/spectralLevel.dsp +8 -0
  372. cyfaust/resources/libraries/examples/analysis/spectralTiltLab.dsp +20 -0
  373. cyfaust/resources/libraries/examples/analysis/vumeter.dsp +18 -0
  374. cyfaust/resources/libraries/examples/autodiff/delay/diff.dsp +2 -0
  375. cyfaust/resources/libraries/examples/autodiff/delay/gt.dsp +2 -0
  376. cyfaust/resources/libraries/examples/autodiff/gain/diff.dsp +7 -0
  377. cyfaust/resources/libraries/examples/autodiff/gain/gt.dsp +1 -0
  378. cyfaust/resources/libraries/examples/autodiff/gain_dc/diff.dsp +7 -0
  379. cyfaust/resources/libraries/examples/autodiff/gain_dc/gt.dsp +4 -0
  380. cyfaust/resources/libraries/examples/autodiff/gain_exp/diff.dsp +9 -0
  381. cyfaust/resources/libraries/examples/autodiff/gain_exp/gt.dsp +1 -0
  382. cyfaust/resources/libraries/examples/autodiff/gain_pow/diff.dsp +9 -0
  383. cyfaust/resources/libraries/examples/autodiff/gain_pow/gt.dsp +1 -0
  384. cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/diff.dsp +12 -0
  385. cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/gt.dsp +1 -0
  386. cyfaust/resources/libraries/examples/autodiff/gain_sq/diff.dsp +7 -0
  387. cyfaust/resources/libraries/examples/autodiff/gain_sq/gt.dsp +1 -0
  388. cyfaust/resources/libraries/examples/autodiff/mem/diff.dsp +1 -0
  389. cyfaust/resources/libraries/examples/autodiff/mem/gt.dsp +1 -0
  390. cyfaust/resources/libraries/examples/autodiff/noise.dsp +2 -0
  391. cyfaust/resources/libraries/examples/autodiff/noop.dsp +2 -0
  392. cyfaust/resources/libraries/examples/autodiff/one_zero/diff.dsp +2 -0
  393. cyfaust/resources/libraries/examples/autodiff/one_zero/gt.dsp +2 -0
  394. cyfaust/resources/libraries/examples/autodiff/ramp.dsp +1 -0
  395. cyfaust/resources/libraries/examples/autodiff/recursion/diff.dsp +2 -0
  396. cyfaust/resources/libraries/examples/autodiff/recursion/gt.dsp +1 -0
  397. cyfaust/resources/libraries/examples/autodiff/recursion/target.dsp +13 -0
  398. cyfaust/resources/libraries/examples/autodiff/tremolo/diff.dsp +14 -0
  399. cyfaust/resources/libraries/examples/autodiff/tremolo/diffable.lib +7 -0
  400. cyfaust/resources/libraries/examples/autodiff/tremolo/gt.dsp +11 -0
  401. cyfaust/resources/libraries/examples/delayEcho/echo.dsp +15 -0
  402. cyfaust/resources/libraries/examples/delayEcho/quadEcho.dsp +21 -0
  403. cyfaust/resources/libraries/examples/delayEcho/smoothDelay.dsp +26 -0
  404. cyfaust/resources/libraries/examples/delayEcho/stereoEcho.dsp +16 -0
  405. cyfaust/resources/libraries/examples/delayEcho/tapiir.dsp +44 -0
  406. cyfaust/resources/libraries/examples/dynamic/compressor.dsp +8 -0
  407. cyfaust/resources/libraries/examples/dynamic/distortion.dsp +8 -0
  408. cyfaust/resources/libraries/examples/dynamic/gateCompressor.dsp +10 -0
  409. cyfaust/resources/libraries/examples/dynamic/noiseGate.dsp +8 -0
  410. cyfaust/resources/libraries/examples/dynamic/volume.dsp +15 -0
  411. cyfaust/resources/libraries/examples/filtering/APF.dsp +13 -0
  412. cyfaust/resources/libraries/examples/filtering/BPF.dsp +13 -0
  413. cyfaust/resources/libraries/examples/filtering/DNN.dsp +25 -0
  414. cyfaust/resources/libraries/examples/filtering/HPF.dsp +13 -0
  415. cyfaust/resources/libraries/examples/filtering/LPF.dsp +13 -0
  416. cyfaust/resources/libraries/examples/filtering/bandFilter.dsp +44 -0
  417. cyfaust/resources/libraries/examples/filtering/cryBaby.dsp +4 -0
  418. cyfaust/resources/libraries/examples/filtering/diodeLadder.dsp +12 -0
  419. cyfaust/resources/libraries/examples/filtering/filterBank.dsp +6 -0
  420. cyfaust/resources/libraries/examples/filtering/graphicEqLab.dsp +10 -0
  421. cyfaust/resources/libraries/examples/filtering/highShelf.dsp +13 -0
  422. cyfaust/resources/libraries/examples/filtering/korg35HPF.dsp +13 -0
  423. cyfaust/resources/libraries/examples/filtering/korg35LPF.dsp +13 -0
  424. cyfaust/resources/libraries/examples/filtering/lfBoost.dsp +40 -0
  425. cyfaust/resources/libraries/examples/filtering/lowBoost.dsp +40 -0
  426. cyfaust/resources/libraries/examples/filtering/lowCut.dsp +40 -0
  427. cyfaust/resources/libraries/examples/filtering/lowShelf.dsp +13 -0
  428. cyfaust/resources/libraries/examples/filtering/moogHalfLadder.dsp +12 -0
  429. cyfaust/resources/libraries/examples/filtering/moogLadder.dsp +12 -0
  430. cyfaust/resources/libraries/examples/filtering/moogVCF.dsp +6 -0
  431. cyfaust/resources/libraries/examples/filtering/multibandFilter.dsp +14 -0
  432. cyfaust/resources/libraries/examples/filtering/notch.dsp +13 -0
  433. cyfaust/resources/libraries/examples/filtering/oberheim.dsp +14 -0
  434. cyfaust/resources/libraries/examples/filtering/oberheimBPF.dsp +13 -0
  435. cyfaust/resources/libraries/examples/filtering/oberheimBSF.dsp +13 -0
  436. cyfaust/resources/libraries/examples/filtering/oberheimHPF.dsp +13 -0
  437. cyfaust/resources/libraries/examples/filtering/oberheimLPF.dsp +13 -0
  438. cyfaust/resources/libraries/examples/filtering/parametricEqLab.dsp +10 -0
  439. cyfaust/resources/libraries/examples/filtering/parametricEqualizer.dsp +6 -0
  440. cyfaust/resources/libraries/examples/filtering/peakNotch.dsp +13 -0
  441. cyfaust/resources/libraries/examples/filtering/peakingEQ.dsp +13 -0
  442. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrder.dsp +14 -0
  443. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderBPF.dsp +13 -0
  444. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderHPF.dsp +13 -0
  445. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderLPF.dsp +13 -0
  446. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePole.dsp +13 -0
  447. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleHPF.dsp +12 -0
  448. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleLPF.dsp +12 -0
  449. cyfaust/resources/libraries/examples/filtering/spectralTilt.dsp +8 -0
  450. cyfaust/resources/libraries/examples/filtering/vcfWahLab.dsp +12 -0
  451. cyfaust/resources/libraries/examples/filtering/vocoder.dsp +8 -0
  452. cyfaust/resources/libraries/examples/filtering/wahPedal.dsp +6 -0
  453. cyfaust/resources/libraries/examples/gameaudio/bubble.dsp +42 -0
  454. cyfaust/resources/libraries/examples/gameaudio/door.dsp +58 -0
  455. cyfaust/resources/libraries/examples/gameaudio/fire.dsp +46 -0
  456. cyfaust/resources/libraries/examples/gameaudio/insects.dsp +148 -0
  457. cyfaust/resources/libraries/examples/gameaudio/rain.dsp +27 -0
  458. cyfaust/resources/libraries/examples/gameaudio/wind.dsp +23 -0
  459. cyfaust/resources/libraries/examples/generator/filterOsc.dsp +8 -0
  460. cyfaust/resources/libraries/examples/generator/noise.dsp +52 -0
  461. cyfaust/resources/libraries/examples/generator/noiseMetadata.dsp +74 -0
  462. cyfaust/resources/libraries/examples/generator/osc.dsp +17 -0
  463. cyfaust/resources/libraries/examples/generator/osci.dsp +17 -0
  464. cyfaust/resources/libraries/examples/generator/sawtoothLab.dsp +8 -0
  465. cyfaust/resources/libraries/examples/generator/virtualAnalog.dsp +8 -0
  466. cyfaust/resources/libraries/examples/generator/virtualAnalogLab.dsp +10 -0
  467. cyfaust/resources/libraries/examples/misc/UITester.dsp +71 -0
  468. cyfaust/resources/libraries/examples/misc/autopan.dsp +59 -0
  469. cyfaust/resources/libraries/examples/misc/capture.dsp +24 -0
  470. cyfaust/resources/libraries/examples/misc/drumkit.dsp +36 -0
  471. cyfaust/resources/libraries/examples/misc/guitarix.dsp +184 -0
  472. cyfaust/resources/libraries/examples/misc/matrix.dsp +17 -0
  473. cyfaust/resources/libraries/examples/misc/midiTester.dsp +122 -0
  474. cyfaust/resources/libraries/examples/misc/mixer.dsp +27 -0
  475. cyfaust/resources/libraries/examples/misc/statespace.dsp +39 -0
  476. cyfaust/resources/libraries/examples/misc/switcher.dsp +20 -0
  477. cyfaust/resources/libraries/examples/misc/tester.dsp +32 -0
  478. cyfaust/resources/libraries/examples/misc/tester2.dsp +31 -0
  479. cyfaust/resources/libraries/examples/old/README.md +5 -0
  480. cyfaust/resources/libraries/examples/old/freeverb.dsp +109 -0
  481. cyfaust/resources/libraries/examples/old/rewriting/Makefile +21 -0
  482. cyfaust/resources/libraries/examples/old/rewriting/fact.dsp +3 -0
  483. cyfaust/resources/libraries/examples/old/rewriting/fold.dsp +61 -0
  484. cyfaust/resources/libraries/examples/old/rewriting/mesh.dsp +43 -0
  485. cyfaust/resources/libraries/examples/old/rewriting/mesh.pd +37 -0
  486. cyfaust/resources/libraries/examples/old/rewriting/sample.pd +12 -0
  487. cyfaust/resources/libraries/examples/old/rewriting/serial.dsp +7 -0
  488. cyfaust/resources/libraries/examples/old/rewriting/sum.dsp +55 -0
  489. cyfaust/resources/libraries/examples/old/rewriting/test.pd +48 -0
  490. cyfaust/resources/libraries/examples/phasing/flanger.dsp +8 -0
  491. cyfaust/resources/libraries/examples/phasing/phaser.dsp +8 -0
  492. cyfaust/resources/libraries/examples/phasing/phaserFlangerLab.dsp +12 -0
  493. cyfaust/resources/libraries/examples/physicalModeling/brass.dsp +8 -0
  494. cyfaust/resources/libraries/examples/physicalModeling/brassMIDI.dsp +8 -0
  495. cyfaust/resources/libraries/examples/physicalModeling/churchBell.dsp +8 -0
  496. cyfaust/resources/libraries/examples/physicalModeling/clarinet.dsp +8 -0
  497. cyfaust/resources/libraries/examples/physicalModeling/clarinetMIDI.dsp +8 -0
  498. cyfaust/resources/libraries/examples/physicalModeling/djembeMIDI.dsp +8 -0
  499. cyfaust/resources/libraries/examples/physicalModeling/elecGuitarMIDI.dsp +10 -0
  500. cyfaust/resources/libraries/examples/physicalModeling/englishBell.dsp +8 -0
  501. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFeks.dsp +91 -0
  502. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFfm.dsp +70 -0
  503. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/README +125 -0
  504. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.dsp +84 -0
  505. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.h +91 -0
  506. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/blowBottle.dsp +102 -0
  507. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bowed.dsp +114 -0
  508. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/brass.dsp +103 -0
  509. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/clarinet.dsp +110 -0
  510. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/flute.dsp +116 -0
  511. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/fluteStk.dsp +121 -0
  512. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/glassHarmonica.dsp +131 -0
  513. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsi.dsp +90 -0
  514. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsichord.h +185 -0
  515. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/instrument.h +114 -0
  516. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.dsp +122 -0
  517. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.h +48 -0
  518. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/audio-out.pd +33 -0
  519. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/bottle.pd +10 -0
  520. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/clarinets.pd +15 -0
  521. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/audio-out.pd +33 -0
  522. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/bass.pd +162 -0
  523. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/canon.pd +55 -0
  524. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/flute.pd +343 -0
  525. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/pachelbel.mid +0 -0
  526. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/audio-out.pd +33 -0
  527. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.mid +0 -0
  528. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.pd +45 -0
  529. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/piano.pd +205 -0
  530. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/voiceForm.pd +340 -0
  531. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/audio-out.pd +33 -0
  532. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/blowHole.pd +330 -0
  533. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/piano.pd +205 -0
  534. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.mid +0 -0
  535. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.pd +45 -0
  536. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/audio-out.pd +33 -0
  537. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/harpsi.pd +204 -0
  538. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.mid +0 -0
  539. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.pd +31 -0
  540. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/audio-out.pd +33 -0
  541. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/bass.pd +162 -0
  542. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/modalBar.pd +258 -0
  543. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/piano.pd +205 -0
  544. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what-a-friend.pd +52 -0
  545. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what_a_friend.mid +0 -0
  546. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/flutes.pd +15 -0
  547. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fm.pd +10 -0
  548. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/glassBare.pd +10 -0
  549. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/harpsichord-poly.pd +10 -0
  550. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/ironBare.pd +10 -0
  551. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/midi-in.pd +111 -0
  552. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/modal.pd +10 -0
  553. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/osc.pd +26 -0
  554. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/piano-poly.pd +10 -0
  555. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/plucked.pd +20 -0
  556. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/saxophone.pd +10 -0
  557. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/tibetan.pd +10 -0
  558. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/trumpet.pd +10 -0
  559. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/violin.pd +10 -0
  560. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/voiceSynth.pd +10 -0
  561. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/woodenBare.pd +10 -0
  562. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/phonemes.h +189 -0
  563. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.dsp +255 -0
  564. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.h +751 -0
  565. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/saxophony.dsp +114 -0
  566. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/sitar.dsp +48 -0
  567. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tibetanBowl.dsp +155 -0
  568. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tunedBar.dsp +123 -0
  569. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/uniBar.dsp +100 -0
  570. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/voiceForm.dsp +125 -0
  571. cyfaust/resources/libraries/examples/physicalModeling/fds/1dDampedWaveEquation.dsp +43 -0
  572. cyfaust/resources/libraries/examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp +75 -0
  573. cyfaust/resources/libraries/examples/physicalModeling/fds/BowedString.dsp +61 -0
  574. cyfaust/resources/libraries/examples/physicalModeling/fds/ControllableNonPhysicalString.dsp +72 -0
  575. cyfaust/resources/libraries/examples/physicalModeling/fds/HammeredString.dsp +74 -0
  576. cyfaust/resources/libraries/examples/physicalModeling/fds/PianoHammeredString.dsp +85 -0
  577. cyfaust/resources/libraries/examples/physicalModeling/fds/StiffString.dsp +54 -0
  578. cyfaust/resources/libraries/examples/physicalModeling/flute.dsp +8 -0
  579. cyfaust/resources/libraries/examples/physicalModeling/fluteMIDI.dsp +8 -0
  580. cyfaust/resources/libraries/examples/physicalModeling/frenchBell.dsp +8 -0
  581. cyfaust/resources/libraries/examples/physicalModeling/germanBell.dsp +8 -0
  582. cyfaust/resources/libraries/examples/physicalModeling/guitarMIDI.dsp +8 -0
  583. cyfaust/resources/libraries/examples/physicalModeling/karplus.dsp +8 -0
  584. cyfaust/resources/libraries/examples/physicalModeling/marimbaMIDI.dsp +10 -0
  585. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator.dsp +58 -0
  586. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator2.dsp +62 -0
  587. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator3.dsp +65 -0
  588. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/01_ParamControl/paramOsc.dsp +63 -0
  589. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/02_AudioParamControl/audioParamOsc.dsp +63 -0
  590. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/03_HammerTime/hammerOsc.dsp +71 -0
  591. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/04_Gravity/bouncingOsc.dsp +64 -0
  592. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/05_PluckedOscillator/pluckedOsc.dsp +57 -0
  593. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/06_BowedOscillator/bowedOsc.dsp +65 -0
  594. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/07_NonLinearOscillator/nlOsc.dsp +78 -0
  595. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/08_TwoMassChain/2massChain.dsp +75 -0
  596. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/09_TinyString/tinyString.dsp +101 -0
  597. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/10_PluckedString/pluckedString.dsp +678 -0
  598. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/11_BowedString/bowedString.dsp +671 -0
  599. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/12_TriangleMesh/triangleMesh.dsp +448 -0
  600. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/13_Construction/construction.dsp +1036 -0
  601. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/14_Polyphonic/polyTriangle.dsp +79 -0
  602. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/15_PhysicalLFO/physicalLFO.dsp +107 -0
  603. cyfaust/resources/libraries/examples/physicalModeling/modularInterpInstrMIDI.dsp +8 -0
  604. cyfaust/resources/libraries/examples/physicalModeling/nylonGuitarMIDI.dsp +8 -0
  605. cyfaust/resources/libraries/examples/physicalModeling/old/harpe.dsp +45 -0
  606. cyfaust/resources/libraries/examples/physicalModeling/old/karplus.dsp +34 -0
  607. cyfaust/resources/libraries/examples/physicalModeling/old/karplus32.dsp +47 -0
  608. cyfaust/resources/libraries/examples/physicalModeling/russianBell.dsp +8 -0
  609. cyfaust/resources/libraries/examples/physicalModeling/standardBell.dsp +8 -0
  610. cyfaust/resources/libraries/examples/physicalModeling/violin.dsp +8 -0
  611. cyfaust/resources/libraries/examples/physicalModeling/violinMIDI.dsp +8 -0
  612. cyfaust/resources/libraries/examples/physicalModeling/vocalBP.dsp +8 -0
  613. cyfaust/resources/libraries/examples/physicalModeling/vocalBPMIDI.dsp +8 -0
  614. cyfaust/resources/libraries/examples/physicalModeling/vocalFOF.dsp +8 -0
  615. cyfaust/resources/libraries/examples/physicalModeling/vocalFOFMIDI.dsp +8 -0
  616. cyfaust/resources/libraries/examples/pitchShifting/pitchShifter.dsp +20 -0
  617. cyfaust/resources/libraries/examples/psychoacoustic/harmonicExciter.dsp +10 -0
  618. cyfaust/resources/libraries/examples/quantizing/quantizedChords.dsp +49 -0
  619. cyfaust/resources/libraries/examples/reverb/dattorro.dsp +8 -0
  620. cyfaust/resources/libraries/examples/reverb/fdnRev.dsp +8 -0
  621. cyfaust/resources/libraries/examples/reverb/freeverb.dsp +8 -0
  622. cyfaust/resources/libraries/examples/reverb/greyhole.dsp +8 -0
  623. cyfaust/resources/libraries/examples/reverb/jprev.dsp +8 -0
  624. cyfaust/resources/libraries/examples/reverb/reverbDesigner.dsp +12 -0
  625. cyfaust/resources/libraries/examples/reverb/reverbTester.dsp +8 -0
  626. cyfaust/resources/libraries/examples/reverb/zitaRev.dsp +8 -0
  627. cyfaust/resources/libraries/examples/reverb/zitaRevFDN.dsp +8 -0
  628. cyfaust/resources/libraries/examples/smartKeyboard/acGuitar.dsp +100 -0
  629. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp +8 -0
  630. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/myEffect.dsp +5 -0
  631. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/reverb.dsp +5 -0
  632. cyfaust/resources/libraries/examples/smartKeyboard/bells.dsp +80 -0
  633. cyfaust/resources/libraries/examples/smartKeyboard/bowed.dsp +87 -0
  634. cyfaust/resources/libraries/examples/smartKeyboard/brass.dsp +82 -0
  635. cyfaust/resources/libraries/examples/smartKeyboard/clarinet.dsp +113 -0
  636. cyfaust/resources/libraries/examples/smartKeyboard/crazyGuiro.dsp +96 -0
  637. cyfaust/resources/libraries/examples/smartKeyboard/drums.dsp +74 -0
  638. cyfaust/resources/libraries/examples/smartKeyboard/dubDub.dsp +87 -0
  639. cyfaust/resources/libraries/examples/smartKeyboard/elecGuitar.dsp +67 -0
  640. cyfaust/resources/libraries/examples/smartKeyboard/fm.dsp +78 -0
  641. cyfaust/resources/libraries/examples/smartKeyboard/frog.dsp +74 -0
  642. cyfaust/resources/libraries/examples/smartKeyboard/harp.dsp +84 -0
  643. cyfaust/resources/libraries/examples/smartKeyboard/midiOnly.dsp +62 -0
  644. cyfaust/resources/libraries/examples/smartKeyboard/multiSynth.dsp +75 -0
  645. cyfaust/resources/libraries/examples/smartKeyboard/toy.dsp +71 -0
  646. cyfaust/resources/libraries/examples/smartKeyboard/trumpet.dsp +59 -0
  647. cyfaust/resources/libraries/examples/smartKeyboard/turenas.dsp +114 -0
  648. cyfaust/resources/libraries/examples/smartKeyboard/violin.dsp +91 -0
  649. cyfaust/resources/libraries/examples/smartKeyboard/violin2.dsp +84 -0
  650. cyfaust/resources/libraries/examples/smartKeyboard/vocal.dsp +43 -0
  651. cyfaust/resources/libraries/examples/spat/panpot.dsp +17 -0
  652. cyfaust/resources/libraries/examples/spat/spat.dsp +25 -0
  653. cyfaust/resources/libraries/fds.lib +535 -0
  654. cyfaust/resources/libraries/filter.lib +1710 -0
  655. cyfaust/resources/libraries/filters.lib +3125 -0
  656. cyfaust/resources/libraries/hoa.lib +1081 -0
  657. cyfaust/resources/libraries/instruments.lib +263 -0
  658. cyfaust/resources/libraries/interpolators.lib +675 -0
  659. cyfaust/resources/libraries/math.lib +602 -0
  660. cyfaust/resources/libraries/maths.lib +798 -0
  661. cyfaust/resources/libraries/maxmsp.lib +237 -0
  662. cyfaust/resources/libraries/mi.lib +528 -0
  663. cyfaust/resources/libraries/misceffects.lib +998 -0
  664. cyfaust/resources/libraries/music.lib +496 -0
  665. cyfaust/resources/libraries/noises.lib +487 -0
  666. cyfaust/resources/libraries/oscillator.lib +450 -0
  667. cyfaust/resources/libraries/oscillators.lib +1838 -0
  668. cyfaust/resources/libraries/phaflangers.lib +235 -0
  669. cyfaust/resources/libraries/physmodels.lib +3990 -0
  670. cyfaust/resources/libraries/platform.lib +59 -0
  671. cyfaust/resources/libraries/quantizers.lib +310 -0
  672. cyfaust/resources/libraries/reducemaps.lib +235 -0
  673. cyfaust/resources/libraries/reverbs.lib +686 -0
  674. cyfaust/resources/libraries/routes.lib +262 -0
  675. cyfaust/resources/libraries/sf.lib +53 -0
  676. cyfaust/resources/libraries/signals.lib +570 -0
  677. cyfaust/resources/libraries/soundfiles.lib +234 -0
  678. cyfaust/resources/libraries/spats.lib +173 -0
  679. cyfaust/resources/libraries/stdfaust.lib +38 -0
  680. cyfaust/resources/libraries/synths.lib +322 -0
  681. cyfaust/resources/libraries/tonestacks.lib +427 -0
  682. cyfaust/resources/libraries/tubes.lib +5039 -0
  683. cyfaust/resources/libraries/vaeffects.lib +984 -0
  684. cyfaust/resources/libraries/version.lib +22 -0
  685. cyfaust/resources/libraries/wdmodels.lib +2276 -0
  686. cyfaust/resources/libraries/webaudio.lib +402 -0
  687. cyfaust/signal.pxd +44 -0
  688. cyfaust/signal.pyx +1993 -0
  689. cyfaust-0.1.0.dist-info/METADATA +355 -0
  690. cyfaust-0.1.0.dist-info/RECORD +693 -0
  691. cyfaust-0.1.0.dist-info/WHEEL +5 -0
  692. cyfaust-0.1.0.dist-info/entry_points.txt +3 -0
  693. 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,8 @@
1
+ // a stereo distortion effect connected to a stereo reverb
2
+
3
+ import("stdfaust.lib");
4
+
5
+ distDrive = 0.8;
6
+ distOffset = 0;
7
+
8
+ process = par(i,2,ef.cubicnl(distDrive,distOffset)) : dm.zita_rev1;
@@ -0,0 +1,5 @@
1
+ // Just calling zita_rev1 from demo.lib
2
+
3
+ import("stdfaust.lib");
4
+
5
+ process = dm.zita_rev1;
@@ -0,0 +1,5 @@
1
+ // Just calling zita_rev1 from demo.lib
2
+
3
+ import("stdfaust.lib");
4
+
5
+ process = dm.zita_rev1;
@@ -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 <: _,_;