1{ 2 "cells": [ 3 { 4 "cell_type": "markdown", 5 "metadata": {}, 6 "source": [ 7 "# Surge in Jupyter\n", 8 "\n", 9 "This notebook shows how to run the surge engine with the python bindings. \n", 10 "As of this writing, it serves as the full documentation for the Surge<->Python\n", 11 "bindings.\n", 12 "\n", 13 "This document assumes that\n", 14 "1. You basically understand how Surge works as a synth. Concepts like\n", 15 " scenes, oscilaltors, modulators etc\n", 16 "2. You can build surge from source succesfully as outlined in the README and\n", 17 "3. You can manage a python environment with custom modules\n", 18 "4. You are running on a machine where the Surge synth is installed (namely\n", 19 " the factory data directory is present in an OS specific places as described\n", 20 " in the manual)\n", 21 "\n", 22 "To use the bindings you need to build the Surge python bindings, which are an\n", 23 "off-by-default target. To turn the target on use the CMake argument\n", 24 "`-DBUILD_SURGE_PYTHON_BINDINGS=TRUE`\n", 25 "\n", 26 "A sample build would be\n", 27 "\n", 28 "```\n", 29 "cd surge\n", 30 "cmake -Bbuildpy -DBUILD_SURGE_PYTHON_BINDINGS=TRUE -DCMAKE_BUILD_TYPE=Release\n", 31 "cmake --build buildpy --config Release --target surgepy\n", 32 "```\n", 33 "\n", 34 "which will create the appropriately named `surgepy....so` in `buildpy`. On\n", 35 "macos, for instance, it creates `surgepy.cpython-38-darwin.so`.\n", 36 "\n", 37 "You then need that in a place where python3 can see it. Lots of ways to do that. Your\n", 38 "environment has a way. One easy way is `cd buildpy && python3` which will run\n", 39 "python3 in the same directory as the shared library. \n", 40 "\n", 41 "You can run this notebook by `cd buildpy; jupyter notebook` after copying this notebook\n", 42 "into your buildpy too for instance. But if you are reading this you know how to manage\n", 43 "a pythyon environment. So onwards.\n", 44 "\n", 45 "\n", 46 "All the functions are in the `surgepy`. Lets import it along with matplotlib numpy and a few others" 47 ] 48 }, 49 { 50 "cell_type": "code", 51 "execution_count": 1, 52 "metadata": {}, 53 "outputs": [], 54 "source": [ 55 "import surgepy\n", 56 "\n", 57 "%matplotlib inline \n", 58 "import matplotlib\n", 59 "import matplotlib.pyplot as plt\n", 60 "\n", 61 "plt.rcParams['figure.figsize'] = [12, 8]\n", 62 "\n", 63 "import numpy as np\n", 64 "import time\n" 65 ] 66 }, 67 { 68 "cell_type": "markdown", 69 "metadata": {}, 70 "source": [ 71 "## Getting Started\n", 72 "\n", 73 "We can confirm the library is working by asking it for a version. This is the same\n", 74 "version string that appears on the about screen of the plugin." 75 ] 76 }, 77 { 78 "cell_type": "code", 79 "execution_count": 2, 80 "metadata": {}, 81 "outputs": [ 82 { 83 "data": { 84 "text/plain": [ 85 "'1.8.pybind-wrapup.6b81fcb1'" 86 ] 87 }, 88 "execution_count": 2, 89 "metadata": {}, 90 "output_type": "execute_result" 91 } 92 ], 93 "source": [ 94 "surgepy.getVersion()" 95 ] 96 }, 97 { 98 "cell_type": "markdown", 99 "metadata": {}, 100 "source": [ 101 "Now lets create a surge engine. When we create a surge engine we have to provide\n", 102 "a sample rate. If you try to create surges with two sample rates in one process,\n", 103 "most likely bad things will happen. We use 44.1k here." 104 ] 105 }, 106 { 107 "cell_type": "code", 108 "execution_count": 3, 109 "metadata": {}, 110 "outputs": [ 111 { 112 "data": { 113 "text/plain": [ 114 "[<SurgeSynthesizer samplerate=44100Hz>, 2, 32, 44100.0]" 115 ] 116 }, 117 "execution_count": 3, 118 "metadata": {}, 119 "output_type": "execute_result" 120 } 121 ], 122 "source": [ 123 "surge = surgepy.createSurge( 44100 )\n", 124 "[ surge, surge.getNumOutputs(), surge.getBlockSize(), surge.getSampleRate() ]" 125 ] 126 }, 127 { 128 "cell_type": "markdown", 129 "metadata": {}, 130 "source": [ 131 "Super. So now lets go ahead and make surge make some sound. As of this writing\n", 132 "the Sure API supports several primitives to do this.\n", 133 "- `process` makes surge calculate a block of output. The block size is `surge.getBlockSize()`\n", 134 "- `playNote` plays a note on channel with velocity and detune\n", 135 "- `releaseNote` releases a note on channel\n", 136 "- `getOutput` returns a 2xBLOCK_SIZE numpy array with the most recent block\n", 137 "\n", 138 "Using that we can glom together some samples generated by playing middle C. \n", 139 "Note the `numpy.append` API here is pretty inefficient. We show a more efficient\n", 140 "approach below. But it will show us the default surge saw wave patch is playing" 141 ] 142 }, 143 { 144 "cell_type": "code", 145 "execution_count": 4, 146 "metadata": {}, 147 "outputs": [ 148 { 149 "data": { 150 "text/plain": [ 151 "[<matplotlib.lines.Line2D at 0x11579a4f0>]" 152 ] 153 }, 154 "execution_count": 4, 155 "metadata": {}, 156 "output_type": "execute_result" 157 }, 158 { 159 "data": { 160 "image/png": "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\n", 161 "text/plain": [ 162 "<Figure size 864x576 with 1 Axes>" 163 ] 164 }, 165 "metadata": { 166 "needs_background": "light" 167 }, 168 "output_type": "display_data" 169 } 170 ], 171 "source": [ 172 "def playQuickC(surge):\n", 173 " for i in range(10):\n", 174 " surge.process()\n", 175 " \n", 176 " surge.playNote( 0, 60, 127, 0 )\n", 177 " wave = np.array(0)\n", 178 "\n", 179 " for i in range(50):\n", 180 " surge.process()\n", 181 " # this is very inefficient of course\n", 182 " wave = np.append( wave, surge.getOutput()[0,:])\n", 183 " \n", 184 " surge.releaseNote( 0, 60, 0 )\n", 185 "\n", 186 " for i in range(40):\n", 187 " surge.process()\n", 188 " wave = np.append( wave, surge.getOutput()[0,:])\n", 189 " \n", 190 " for i in range(40): \n", 191 " surge.process() # ring down\n", 192 " return wave\n", 193 " \n", 194 "wave = playQuickC(surge)\n", 195 "plt.plot(wave)" 196 ] 197 }, 198 { 199 "cell_type": "markdown", 200 "metadata": {}, 201 "source": [ 202 "## Interacting with values in Surge\n", 203 "\n", 204 "A surge patch is a collection of values expressed as parameters which contain\n", 205 "a type, min, max, default value and runtime value. These parameter belong to \n", 206 "the surge synthesizer and are indexed by an opaque ID class.\n", 207 "\n", 208 "To organize these types, Surge has a couple of parameter organization models. In the\n", 209 "C++ code you will see the SurgePatch class a lot, which is very granular and named. We\n", 210 "may expose it in the future. But at runtime, the parameters form a hierarchy where each\n", 211 "parameter belongs to one of a few control groups (OSC, FX, etc...) and inside that control\n", 212 "group, a cluster of parameter have a control group entry. So the OSC control group\n", 213 "in Surge 1.8 has 6 entries, for each of the 3 oscillators in each of the three scenes.\n", 214 "\n", 215 "The module 'surgepy.constants' contains constants we can use to look up these control\n", 216 "groups. Lets start by importing it with an alias `sgco` and using that to look up a\n", 217 "control group for oscillators" 218 ] 219 }, 220 { 221 "cell_type": "code", 222 "execution_count": 5, 223 "metadata": {}, 224 "outputs": [ 225 { 226 "data": { 227 "text/plain": [ 228 "<SurgeControlGroup cg=2, cg_OSC>" 229 ] 230 }, 231 "execution_count": 5, 232 "metadata": {}, 233 "output_type": "execute_result" 234 } 235 ], 236 "source": [ 237 "import surgepy.constants as srgco\n", 238 "\n", 239 "cg_OSC = surge.getControlGroup( srgco.cg_OSC )\n", 240 "cg_OSC" 241 ] 242 }, 243 { 244 "cell_type": "markdown", 245 "metadata": {}, 246 "source": [ 247 "A control gorup contains a set of entries; and those entries contain a set of parameters.\n", 248 "The synthesizer handed one of those parameters can answer questions about its type\n", 249 "and ranges" 250 ] 251 }, 252 { 253 "cell_type": "code", 254 "execution_count": 6, 255 "metadata": {}, 256 "outputs": [ 257 { 258 "name": "stdout", 259 "output_type": "stream", 260 "text": [ 261 "[<SurgeControlGroupEntry entry=0/sceneA in cg_OSC>, <SurgeControlGroupEntry entry=0/sceneB in cg_OSC>, <SurgeControlGroupEntry entry=1/sceneA in cg_OSC>, <SurgeControlGroupEntry entry=1/sceneB in cg_OSC>, <SurgeControlGroupEntry entry=2/sceneA in cg_OSC>, <SurgeControlGroupEntry entry=2/sceneB in cg_OSC>]\n", 262 "[<SurgeNamedParam 'Osc 1 Type'>, <SurgeNamedParam 'Osc 1 Octave'>, <SurgeNamedParam 'Osc 1 Pitch'>, <SurgeNamedParam 'Osc 1 Shape'>, <SurgeNamedParam 'Osc 1 Width 1'>, <SurgeNamedParam 'Osc 1 Width 2'>, <SurgeNamedParam 'Osc 1 Sub Mix'>, <SurgeNamedParam 'Osc 1 Sync'>, <SurgeNamedParam 'Osc 1 Unison Detune'>, <SurgeNamedParam 'Osc 1 Unison Voices'>, <SurgeNamedParam 'Osc 1 Keytrack'>, <SurgeNamedParam 'Osc 1 Retrigger'>]\n" 263 ] 264 } 265 ], 266 "source": [ 267 "oscEnts = cg_OSC.getEntries()\n", 268 "print( oscEnts )\n", 269 "osc0Pars = oscEnts[0].getParams()\n", 270 "print( osc0Pars )" 271 ] 272 }, 273 { 274 "cell_type": "code", 275 "execution_count": 7, 276 "metadata": {}, 277 "outputs": [ 278 { 279 "data": { 280 "text/plain": [ 281 "[[<SurgeNamedParam 'Osc 1 Type'>, 0.0, 7.0, 0.0, 0.0, 'int'],\n", 282 " [<SurgeNamedParam 'Osc 1 Octave'>, -3.0, 3.0, 0.0, 0.0, 'int'],\n", 283 " [<SurgeNamedParam 'Osc 1 Pitch'>, -7.0, 7.0, 0.0, 0.0, 'float'],\n", 284 " [<SurgeNamedParam 'Osc 1 Shape'>, -1.0, 1.0, 0.0, 0.0, 'float'],\n", 285 " [<SurgeNamedParam 'Osc 1 Width 1'>, 0.0, 1.0, 0.5, 0.5, 'float'],\n", 286 " [<SurgeNamedParam 'Osc 1 Width 2'>, 0.0, 1.0, 0.5, 0.5, 'float'],\n", 287 " [<SurgeNamedParam 'Osc 1 Sub Mix'>, 0.0, 1.0, 0.0, 0.0, 'float'],\n", 288 " [<SurgeNamedParam 'Osc 1 Sync'>, 0.0, 60.0, 0.0, 0.0, 'float'],\n", 289 " [<SurgeNamedParam 'Osc 1 Unison Detune'>,\n", 290 " 0.0,\n", 291 " 1.0,\n", 292 " 0.20000000298023224,\n", 293 " 0.20000000298023224,\n", 294 " 'float'],\n", 295 " [<SurgeNamedParam 'Osc 1 Unison Voices'>, 1.0, 16.0, 1.0, 1.0, 'int'],\n", 296 " [<SurgeNamedParam 'Osc 1 Keytrack'>, 0.0, 1.0, 0.0, 1.0, 'bool'],\n", 297 " [<SurgeNamedParam 'Osc 1 Retrigger'>, 0.0, 1.0, 0.0, 0.0, 'bool']]" 298 ] 299 }, 300 "execution_count": 7, 301 "metadata": {}, 302 "output_type": "execute_result" 303 } 304 ], 305 "source": [ 306 "r = []\n", 307 "for par in osc0Pars:\n", 308 " par\n", 309 " r.append( [ par, \n", 310 " surge.getParamMin( par ), \n", 311 " surge.getParamMax( par ), \n", 312 " surge.getParamDef( par ), \n", 313 " surge.getParamVal( par ),\n", 314 " surge.getParamValType( par )\n", 315 " ])\n", 316 "r" 317 ] 318 }, 319 { 320 "cell_type": "markdown", 321 "metadata": {}, 322 "source": [ 323 "If you run the surge VST and move the shape param to -0.9 you will see it turns the\n", 324 "classic oscillator saw into a more square shape. We can do the same here and will\n", 325 "get a square wave output" 326 ] 327 }, 328 { 329 "cell_type": "code", 330 "execution_count": 8, 331 "metadata": {}, 332 "outputs": [ 333 { 334 "name": "stdout", 335 "output_type": "stream", 336 "text": [ 337 "Shape param: <SurgeNamedParam 'Osc 1 Shape'>\n" 338 ] 339 }, 340 { 341 "data": { 342 "text/plain": [ 343 "[<matplotlib.lines.Line2D at 0x11587c520>]" 344 ] 345 }, 346 "execution_count": 8, 347 "metadata": {}, 348 "output_type": "execute_result" 349 }, 350 { 351 "data": { 352 "image/png": "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\n", 353 "text/plain": [ 354 "<Figure size 864x576 with 1 Axes>" 355 ] 356 }, 357 "metadata": { 358 "needs_background": "light" 359 }, 360 "output_type": "display_data" 361 } 362 ], 363 "source": [ 364 "shape = osc0Pars[3];\n", 365 "print( \"Shape param: \", shape )\n", 366 "surge.setParamVal(shape, -0.9 )\n", 367 "\n", 368 "\n", 369 "wave = playQuickC( surge ) \n", 370 "plt.plot(wave)" 371 ] 372 }, 373 { 374 "cell_type": "markdown", 375 "metadata": {}, 376 "source": [ 377 "Finally, lets define a function which plays surge for about 4 seconds, with\n", 378 "a key relese at second 3, and returns a smoothed RMS of the output. At this point\n", 379 "it should be clear how to do that." 380 ] 381 }, 382 { 383 "cell_type": "code", 384 "execution_count": 9, 385 "metadata": {}, 386 "outputs": [], 387 "source": [ 388 "from numpy import mean, sqrt, square\n", 389 "\n", 390 "def fourSecondsRMS( surge ):\n", 391 " samples = 44100 * 4 # 4 seconds\n", 392 " iterations = int( samples / surge.getBlockSize() / 4 )\n", 393 "\n", 394 " surge.process()\n", 395 " surge.playNote( 0, 60, 127, 0 )\n", 396 " surge.process()\n", 397 "\n", 398 " rmsData = []\n", 399 " for i in range(3 * iterations):\n", 400 " surge.process()\n", 401 " rmsData.append( sqrt( mean( square( surge.getOutput() ))) )\n", 402 " \n", 403 " surge.releaseNote( 0, 60, 0 )\n", 404 " for i in range(iterations):\n", 405 " surge.process()\n", 406 " rmsData.append( sqrt( mean( square( surge.getOutput() ))) )\n", 407 " \n", 408 " N = 50\n", 409 " window = np.convolve(rmsData, np.ones(N)/N, mode='valid')\n", 410 " return window" 411 ] 412 }, 413 { 414 "cell_type": "markdown", 415 "metadata": {}, 416 "source": [ 417 "And we can now use that to configure a classic ADSR envelope on a new surge" 418 ] 419 }, 420 { 421 "cell_type": "code", 422 "execution_count": 10, 423 "metadata": {}, 424 "outputs": [ 425 { 426 "data": { 427 "text/plain": [ 428 "[<matplotlib.lines.Line2D at 0x1158e15e0>]" 429 ] 430 }, 431 "execution_count": 10, 432 "metadata": {}, 433 "output_type": "execute_result" 434 }, 435 { 436 "data": { 437 "image/png": "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\n", 438 "text/plain": [ 439 "<Figure size 864x576 with 1 Axes>" 440 ] 441 }, 442 "metadata": { 443 "needs_background": "light" 444 }, 445 "output_type": "display_data" 446 } 447 ], 448 "source": [ 449 "surge = surgepy.createSurge( 44100 ) \n", 450 "cg = surge.getControlGroup(srgco.cg_ENV)\n", 451 "aeg0Params = cg.getEntries()[0].getParams()\n", 452 "\n", 453 "attack = aeg0Params[0]\n", 454 "decay = aeg0Params[2]\n", 455 "sustain = aeg0Params[4]\n", 456 "release = aeg0Params[5]\n", 457 "\n", 458 "surge.setParamVal( attack, 0.5 )\n", 459 "surge.setParamVal( decay, 0.3 )\n", 460 "surge.setParamVal( sustain, 0.3 )\n", 461 "surge.setParamVal( release, 0.2 )\n", 462 "\n", 463 " \n", 464 "window = fourSecondsRMS( surge )\n", 465 "plt.plot( window )" 466 ] 467 }, 468 { 469 "cell_type": "markdown", 470 "metadata": {}, 471 "source": [ 472 "## Setting and Querying Modulation\n", 473 "\n", 474 "Surge is a powerful synth because of its flexible modulation. Almost all interesting\n", 475 "patches make extensive use of the modulation features. This python API allows you to\n", 476 "query and set up modulation using the same API that the UI uses when in modulation armed mode.\n", 477 "\n", 478 "The three key APIs we have are getModSource, setModulation and getModulation. So lets\n", 479 "make an ADSR with an LFO wiggle, and the constants have ms_ constants defined" 480 ] 481 }, 482 { 483 "cell_type": "code", 484 "execution_count": 11, 485 "metadata": {}, 486 "outputs": [ 487 { 488 "name": "stdout", 489 "output_type": "stream", 490 "text": [ 491 "Modulation to osc0lev from lfo1 is: 0.10000000149011612\n" 492 ] 493 }, 494 { 495 "data": { 496 "image/png": "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\n", 497 "text/plain": [ 498 "<Figure size 864x576 with 1 Axes>" 499 ] 500 }, 501 "metadata": { 502 "needs_background": "light" 503 }, 504 "output_type": "display_data" 505 } 506 ], 507 "source": [ 508 "surge = surgepy.createSurge( 44100 ) \n", 509 "\n", 510 "# This is the same as above\n", 511 "cg = surge.getControlGroup(srgco.cg_ENV)\n", 512 "aeg0Params = cg.getEntries()[0].getParams()\n", 513 "attack = aeg0Params[0]\n", 514 "release = aeg0Params[5]\n", 515 "\n", 516 "surge.setParamVal( attack, 0.2 )\n", 517 "surge.setParamVal( release, 0.2 )\n", 518 "\n", 519 "# But now lets assign LFO 1 to the mixer for OSC0\n", 520 "cg = surge.getControlGroup(srgco.cg_MIX)\n", 521 "osc0lev = cg.getEntries()[0].getParams()[0]\n", 522 "lfo1 = surge.getModSource(srgco.ms_lfo1)\n", 523 "\n", 524 "surge.setModulation( osc0lev, lfo1, 0.1 )\n", 525 "\n", 526 "\n", 527 "window = fourSecondsRMS( surge )\n", 528 "plt.plot( window )\n", 529 "print( \"Modulation to osc0lev from lfo1 is: \", surge.getModulation( osc0lev, lfo1 ))" 530 ] 531 }, 532 { 533 "cell_type": "markdown", 534 "metadata": {}, 535 "source": [ 536 "You can also explore properties of modulations, such as if modulations are valid, if they are established,\n", 537 "and so on. Here we show that you can modulate pitch with a VLFO, but not an Global; that the amplitude is modulated and the pitch is not, and that velocity is unipolar" 538 ] 539 }, 540 { 541 "cell_type": "code", 542 "execution_count": 12, 543 "metadata": {}, 544 "outputs": [ 545 { 546 "name": "stdout", 547 "output_type": "stream", 548 "text": [ 549 "<SurgeNamedParam 'Global Volume'>\n", 550 "Is valid: osc0lev <- VLFO1 : True\n", 551 "Is active: osc0lev <- VLFO1 : True\n", 552 "Is valid: osc0lev <- SLFO1 : True\n", 553 "Is active: osc0lev <- SLFO1 : False\n", 554 "Is valid: globvl <- VLFO1 : False\n", 555 "Is valid: globvl <- SLFO1 : True\n", 556 "Bipolarity: LFO True and velocity False\n" 557 ] 558 } 559 ], 560 "source": [ 561 "slfo1 = surge.getModSource(srgco.ms_slfo1)\n", 562 "glob = surge.getControlGroup( srgco.cg_GLOBAL).getEntries()[0].getParams()[2]\n", 563 "print( glob )\n", 564 "\n", 565 "print( \"Is valid: osc0lev <- VLFO1 :\", surge.isValidModulation( osc0lev, lfo1 ))\n", 566 "print( \"Is active: osc0lev <- VLFO1 :\", surge.isActiveModulation( osc0lev, lfo1 ))\n", 567 "\n", 568 "print( \"Is valid: osc0lev <- SLFO1 :\", surge.isValidModulation( osc0lev, slfo1 ))\n", 569 "print( \"Is active: osc0lev <- SLFO1 :\", surge.isActiveModulation( osc0lev, slfo1 ))\n", 570 "\n", 571 "\n", 572 "print( \"Is valid: globvl <- VLFO1 :\", surge.isValidModulation( glob, lfo1 ))\n", 573 "print( \"Is valid: globvl <- SLFO1 :\", surge.isValidModulation( glob, slfo1 ))\n", 574 "\n", 575 "velm = surge.getModSource( srgco.ms_velocity )\n", 576 "print( \"Bipolarity: LFO \", surge.isBipolarModulation( lfo1 ), \" and velocity \", surge.isBipolarModulation( velm ) )" 577 ] 578 }, 579 { 580 "cell_type": "markdown", 581 "metadata": {}, 582 "source": [ 583 "# Interacting with Stored Patches\n", 584 "\n", 585 "Surge allows you to interact with patches on the filesystem both for reading\n", 586 "and writing. This allows you to create a patch generator using the state manipulation\n", 587 "above. Moreover surge provides you with the location of the factory and user data areas.\n", 588 "\n", 589 "*TODO* Error Reporting here is \"weak\". " 590 ] 591 }, 592 { 593 "cell_type": "code", 594 "execution_count": 13, 595 "metadata": {}, 596 "outputs": [ 597 { 598 "name": "stdout", 599 "output_type": "stream", 600 "text": [ 601 "/Users/paul/Library/Application Support/Surge/\n" 602 ] 603 }, 604 { 605 "data": { 606 "text/plain": [ 607 "[<matplotlib.lines.Line2D at 0x115960ee0>]" 608 ] 609 }, 610 "execution_count": 13, 611 "metadata": {}, 612 "output_type": "execute_result" 613 }, 614 { 615 "data": { 616 "image/png": "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\n", 617 "text/plain": [ 618 "<Figure size 864x576 with 1 Axes>" 619 ] 620 }, 621 "metadata": { 622 "needs_background": "light" 623 }, 624 "output_type": "display_data" 625 } 626 ], 627 "source": [ 628 "surge = surgepy.createSurge( 44100 )\n", 629 "fd = surge.getFactoryDataPath()\n", 630 "print( fd )\n", 631 "\n", 632 "patch = fd + \"/patches_factory/Keys/DX EP.fxp\"\n", 633 "surge.loadPatch( patch )\n", 634 "\n", 635 "window = fourSecondsRMS( surge )\n", 636 "plt.plot( window )" 637 ] 638 }, 639 { 640 "cell_type": "markdown", 641 "metadata": {}, 642 "source": [ 643 "Similarly, we can save a patch to a file. Here we take the current surge with the DXEP\n", 644 "save it to a tmp file, then load it in a new surge and show that works since the before and after has the saw vs the dx envelope" 645 ] 646 }, 647 { 648 "cell_type": "code", 649 "execution_count": null, 650 "metadata": {}, 651 "outputs": [], 652 "source": [ 653 "import tempfile\n", 654 "\n", 655 "tfd = tempfile.gettempdir()\n", 656 "surge.savePatch( tfd + \"/gen.fxp\" )\n", 657 "\n", 658 "newSurge = surgepy.createSurge(44100)\n", 659 "window = fourSecondsRMS( newSurge )\n", 660 "plt.plot( window )\n", 661 "\n", 662 "newSurge.loadPatch( tfd + \"/gen.fxp\" )\n", 663 "\n", 664 "window = fourSecondsRMS( newSurge )\n", 665 "plt.plot( window )" 666 ] 667 }, 668 { 669 "cell_type": "markdown", 670 "metadata": {}, 671 "source": [ 672 "## Processing chunks\n", 673 "\n", 674 "The default block size in surge (32) is very small compared to any musical length you may have\n", 675 "and so putting a process and copy loop in python is probably very inefficient. Moreover we want\n", 676 "to be able to render multiple times onto a pre-allocated block. So we provide a set of functions\n", 677 "\n", 678 "- `createMultiBlock(b)` creates an appropriately configured numpy array to store up to `b` blocks of processing\n", 679 "- `processMultiBlock(d, startBlock=0, nBlocks=-1)` fills in the result of `createMultiBlock`. With default\n", 680 " arguments, it will populate the block by size.\n", 681 " \n", 682 "Lets use that to do a few things. First lets pull 20 blocks of the DX EP keypress\n" 683 ] 684 }, 685 { 686 "cell_type": "code", 687 "execution_count": null, 688 "metadata": {}, 689 "outputs": [], 690 "source": [ 691 "surge = surgepy.createSurge(44100)\n", 692 "\n", 693 "data = surge.createMultiBlock(20)\n", 694 "\n", 695 "fd = surge.getFactoryDataPath()\n", 696 "patch = fd + \"/patches_factory/Keys/DX EP.fxp\"\n", 697 "surge.loadPatch( patch )\n", 698 "\n", 699 "surge.process()\n", 700 "surge.playNote( 0, 60, 127, 0 )\n", 701 "surge.processMultiBlock( data )\n", 702 "\n", 703 "plt.plot(data[0])\n", 704 "plt.plot(data[1])" 705 ] 706 }, 707 { 708 "cell_type": "markdown", 709 "metadata": {}, 710 "source": [ 711 "We can also use this technique to run much longer periods of synthesis into a single block, though.\n", 712 "Lets play a few notes with pauses into a long block using our simple ADSR envelope patch" 713 ] 714 }, 715 { 716 "cell_type": "code", 717 "execution_count": null, 718 "metadata": {}, 719 "outputs": [], 720 "source": [ 721 "surge = surgepy.createSurge( 44100 ) \n", 722 "cg = surge.getControlGroup(srgco.cg_ENV)\n", 723 "aeg0Params = cg.getEntries()[0].getParams()\n", 724 "\n", 725 "attack = aeg0Params[0]\n", 726 "decay = aeg0Params[2]\n", 727 "sustain = aeg0Params[4]\n", 728 "release = aeg0Params[5]\n", 729 "\n", 730 "surge.setParamVal( attack, -3 )\n", 731 "surge.setParamVal( decay, -2 )\n", 732 "surge.setParamVal( sustain, 0.4 )\n", 733 "surge.setParamVal( release, -1 )\n", 734 "\n", 735 "tenSecondsInBlocks = int(44100 * 10 / surge.getBlockSize())\n", 736 "\n", 737 "data = surge.createMultiBlock( tenSecondsInBlocks )\n", 738 "print( np.shape(data))\n", 739 "\n", 740 "pos = 0\n", 741 "dblock = int(tenSecondsInBlocks / 10)\n", 742 "for i in range(5):\n", 743 " surge.playNote( 0, 60+i, 127, 0 )\n", 744 " surge.processMultiBlock( data, pos * dblock, dblock )\n", 745 " pos = pos + 1\n", 746 " surge.releaseNote( 0, 60+i, 0 )\n", 747 " surge.processMultiBlock( data, pos * dblock, dblock )\n", 748 " pos = pos + 1\n", 749 "\n", 750 "# and use standard numpy to find a windowed RMS\n", 751 "window_size = surge.getBlockSize() * 4\n", 752 "left = np.power(data[0],2)\n", 753 "cwindow = np.ones(window_size)/float(window_size)\n", 754 "wdat = np.sqrt(np.convolve(left, window, 'valid'))\n", 755 "plt.plot( wdat )" 756 ] 757 } 758 ], 759 "metadata": { 760 "kernelspec": { 761 "display_name": "Python 3", 762 "language": "python", 763 "name": "python3" 764 }, 765 "language_info": { 766 "codemirror_mode": { 767 "name": "ipython", 768 "version": 3 769 }, 770 "file_extension": ".py", 771 "mimetype": "text/x-python", 772 "name": "python", 773 "nbconvert_exporter": "python", 774 "pygments_lexer": "ipython3", 775 "version": "3.8.5" 776 } 777 }, 778 "nbformat": 4, 779 "nbformat_minor": 4 780} 781