A mirror of SoundHelix, the software MadHelix is based on.

[[ 🗃 ^zoKmE soundhelix ]] :: [📥 Inbox] [📤 Outbox] [🐤 Followers] [🤝 Collaborators] [🛠 Commits]

Clone

HTTPS: git clone https://vervis.peers.community/repos/zoKmE

SSH: git clone USERNAME@vervis.peers.community:zoKmE

Branches

Tags

soundhelix-0.0.2 :: examples /

SoundHelix-Piano.xml

<?xml version="1.0"?>
<SoundHelix xmlns:xi="http://www.w3.org/2001/XInclude">
  <structure>
     <bars><random min="64" max="128" step="16"/></bars> 
     <beatsPerBar>4</beatsPerBar>
     <ticksPerBeat>4</ticksPerBeat>
  </structure>
  <xi:include href="../includes/Standard-HarmonyEngine.xml"/>
  <arrangementEngine class="SimpleArrangementEngine">
    <maxIterations>200000</maxIterations>
    <minActivityCount>3</minActivityCount>
    <maxActivityCount>8</maxActivityCount>
    <maxActivityChangeCount>2</maxActivityChangeCount>
    <startActivityCounts><random list="1,2,3|1,2,3,4"/></startActivityCounts>
	<stopActivityCounts><random list="2,1|3,2"/></stopActivityCounts>
    <activityVector name="accomp">
        <stopShift>-2</stopShift>
    </activityVector>
    <activityVector name="arpeggio">
    </activityVector>
    <activityVector name="melody">
 	  <startAfterSection>0</startAfterSection>
	  <stopBeforeSection>0</stopBeforeSection>
    </activityVector>
    <activityVector name="base_and_snare">
      <minActive>50</minActive>
      <maxActive>85</maxActive>
    </activityVector>
    <activityVector name="hihat">
	  <startAfterSection>0</startAfterSection>
	  <stopBeforeSection>0</stopBeforeSection>
	</activityVector>
    <activityVector name="pad"/>
    <activityVector name="bass"/>

    <track>
      <instrument>arpeggio</instrument>
	  <transposition>-12</transposition>
      <sequenceEngine class="MultiPatternSequenceEngine">
  	    <obeyChordSubtype>true</obeyChordSubtype>
		<patternEngines>
		  <patternEngine class="StringPatternEngine">
		    <string>-/6,4/2</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		    <string>-/4,3/4</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		    <string>-/2,2/6</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		    <string>0/8</string>
		  </patternEngine>
		</patternEngines>
      </sequenceEngine>
      <activityVector>arpeggio</activityVector>
    </track>
    <track>
      <instrument>accomp</instrument>
	  <transposition>-24</transposition>
      <sequenceEngine class="MultiPatternSequenceEngine">
	    <patternEngines>
		  <patternEngine class="StringPatternEngine">
		  <string>-,-,-,-,5,-,-,-,-,-,-,-,5,-,-,-</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		  <string>-,-,-,-,4,-,-,-,-,-,-,-,4,-,-,-</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		  <string>-,-,-,-,3,-,-,-,-,-,-,-,3,-,-,-</string>
		  </patternEngine>
		  <patternEngine class="StringPatternEngine">
		  <string>0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,+,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-,-,0,-,-,0,-,-,0,-,-,-,0,-,-,-,-1,+</string>
		  </patternEngine>
		</patternEngines>
      </sequenceEngine>
      <activityVector>accomp</activityVector>
    </track>
	
    <track>
      <instrument>melody</instrument>
      <transposition>12</transposition>
      <sequenceEngine class="MelodySequenceEngine">
 	    <patternEngine class="StringPatternEngine">
          <string>0,-,-,-,+,-,+,+,0,-,-,-,+,-,+,-,0,-,-,-,+,-,+,+,0,-,-,-,0,+,+,+</string>
		  <string>0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,+,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,-,0,-,+,-,0,-,+,-,0,-,-,-,-,-,-,0,-,-,+,-,-,0,-,+</string>
          <string>0,-,-,0,-,-,+,-,0,-,-,0,-,-,+,-,0,-,-,0,-,-,+,-,0,-,-,0,-,+,0,+</string>
          <string>0,-,-,-,0,-,-,-,0,-,0,-,-,-,-,-,0,-,+,-,+,-,+,-,0,-,-,-,-,-,-,-,0,-,-,-,0,-,-,-,0,-,0,-,-,-,-,-,0,-,+,-,+,-,+,-,0,-,+,-,-,0,-,0</string>
          <string>0,-,-,-,0,-,-,-,0,-,-,+,-,-,-,+,0,-,-,-,0,-,-,-,-,+,-,0,-,-,0,-,0,-,-,-,0,-,-,-,0,-,-,+,-,-,-,+,0,-,-,-,0,-,-,-,+,-,-,0,-,0,-,+</string>
          <string>0,-,+,-,0,-,+,-,0,+,-,0,-,-,-,+,0,-,+,-,0,-,+,-,0,+,-,0,-,-,-,-</string>
          <string>0,-,-,-,0,-,-,0,-,-,+,-,-,0,-,-,0,-,-,+,-,-,-,0,-,-,+,-,-,0,-,+,0,-,-,+,-,-,-,0,-,-,+,-,-,0,-,-,0,-,-,+,-,-,-,0,-,-,+,-,0,-,0,-</string>
          <string>0,-,-,-,-,-,-,-,0,-,+,-,+,-,+,-,0,+,-,+,0,-,+,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,+,-,+,-,-,0,-,0,-,+,0,-,+,-,0,-,-,-,-,-,0,-</string>
		</patternEngine>
	  </sequenceEngine>
      <activityVector>melody</activityVector>
    </track>
	
	<track>
      <instrument>percussion</instrument>
      <sequenceEngine class="DrumSequenceEngine">
        <pattern>
          <pitch>36</pitch>
          <patternEngine class="StringPatternEngine">
            <string><random list="0,-,-,0,-,-,-,0,-,-,0,-,-,-,-,-"/></string>
          </patternEngine>
        </pattern>
        <pattern>
          <pitch>38</pitch>
          <patternEngine class="StringPatternEngine">
            <string><random list="-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,0,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,0,-,0,-,-,0,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,0,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,0,-,0,-,0,0|-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,0,0,-,0,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,0,-,-,0,-,-,-|-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,0|-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,0,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,0,-,-,0,-,0,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,0,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,-,-,-,0,-,-,-,-,0,-,-,0,-,0,0,"/></string>
          </patternEngine>
        </pattern>
		<pattern>
          <pitch>42</pitch>
          <patternEngine class="StringPatternEngine">
            <string><random list="0:26000,-,-,-|0:26000,0:26000,-,-"/></string>
          </patternEngine>
        </pattern>
		<pattern>
          <pitch>46</pitch>
          <patternEngine class="StringPatternEngine">
            <string>-,-,0:20000,-</string>
          </patternEngine>
        </pattern>
        <conditionalPattern>
          <target>1</target>
          <condition>0---&gt;1---</condition>
          <mode>add</mode>
          <probability>40</probability>
          <patternEngine class="StringPatternEngine">
            <string><random list="0:6,0:32,0:89,0:182,0:317,0:499,0:734,0:1024,0:1375,0:1789,0:2271,0:2822,0:3447,0:4149,0:4930,0:5793,0:6741,0:7776,0:8901,0:10119,0:11432,0:12842,0:14351,0:15962,0:17677,0:19498,0:21427,0:23467,0:25618,0:27884,0:30266,0:32767|0:1,0:6,0:16,0:32,0:56,0:89,0:130,0:182,0:243,0:317,0:402,0:499,0:610,0:734,0:872,0:1024,0:1192,0:1375,0:1574,0:1789,0:2021,0:2271,0:2537,0:2822,0:3125,0:3447,0:3788,0:4149,0:4529,0:4930,0:5351,0:5793,0:6256,0:6741,0:7247,0:7776,0:8327,0:8901,0:9499,0:10119,0:10763,0:11432,0:12124,0:12842,0:13584,0:14351,0:15144,0:15962,0:16806,0:17677,0:18574,0:19498,0:20449,0:21427,0:22433,0:23467,0:24528,0:25618,0:26737,0:27884,0:29061,0:30266,0:31502,0:32767|0:1,0:1,0:3,0:6,0:10,0:16,0:23,0:32,0:43,0:56,0:71,0:89,0:108,0:130,0:155,0:182,0:211,0:243,0:279,0:317,0:358,0:402,0:449,0:499,0:553,0:610,0:670,0:734,0:801,0:872,0:946,0:1024,0:1106,0:1192,0:1282,0:1375,0:1472,0:1574,0:1680,0:1789,0:1903,0:2021,0:2144,0:2271,0:2402,0:2537,0:2677,0:2822,0:2971,0:3125,0:3284,0:3447,0:3615,0:3788,0:3966,0:4149,0:4336,0:4529,0:4727,0:4930,0:5138,0:5351,0:5569,0:5793,0:6022,0:6256,0:6496,0:6741,0:6991,0:7247,0:7509,0:7776,0:8049,0:8327,0:8611,0:8901,0:9197,0:9499,0:9806,0:10119,0:10438,0:10763,0:11095,0:11432,0:11775,0:12124,0:12480,0:12842,0:13210,0:13584,0:13964,0:14351,0:14744,0:15144,0:15550,0:15962,0:16381,0:16806,0:17238,0:17677,0:18122,0:18574,0:19033,0:19498,0:19970,0:20449,0:20935,0:21427,0:21927,0:22433,0:22946,0:23467,0:23994,0:24528,0:25070,0:25618,0:26174,0:26737,0:27307,0:27884,0:28469,0:29061,0:29660,0:30266,0:30880,0:31502,0:32130,0:32767|0:1,0:1,0:1,0:1,0:2,0:3,0:5,0:6,0:8,0:10,0:13,0:16,0:20,0:23,0:28,0:32,0:38,0:43,0:50,0:56,0:64,0:71,0:80,0:89,0:98,0:108,0:119,0:130,0:142,0:155,0:168,0:182,0:196,0:211,0:227,0:243,0:261,0:279,0:297,0:317,0:337,0:358,0:379,0:402,0:425,0:449,0:474,0:499,0:526,0:553,0:581,0:610,0:640,0:670,0:702,0:734,0:767,0:801,0:836,0:872,0:909,0:946,0:985,0:1024,0:1065,0:1106,0:1149,0:1192,0:1236,0:1282,0:1328,0:1375,0:1423,0:1472,0:1523,0:1574,0:1626,0:1680,0:1734,0:1789,0:1846,0:1903,0:1962,0:2021,0:2082,0:2144,0:2207,0:2271,0:2336,0:2402,0:2469,0:2537,0:2607,0:2677,0:2749,0:2822,0:2896,0:2971,0:3048,0:3125,0:3204,0:3284,0:3365,0:3447,0:3531,0:3615,0:3701,0:3788,0:3877,0:3966,0:4057,0:4149,0:4242,0:4336,0:4432,0:4529,0:4627,0:4727,0:4828,0:4930,0:5033,0:5138,0:5244,0:5351,0:5459,0:5569,0:5680,0:5793,0:5907,0:6022,0:6138,0:6256,0:6375,0:6496,0:6617,0:6741,0:6865,0:6991,0:7119,0:7247,0:7377,0:7509,0:7642,0:7776,0:7912,0:8049,0:8187,0:8327,0:8469,0:8611,0:8756,0:8901,0:9048,0:9197,0:9347,0:9499,0:9652,0:9806,0:9962,0:10119,0:10278,0:10438,0:10600,0:10763,0:10928,0:11095,0:11262,0:11432,0:11603,0:11775,0:11949,0:12124,0:12301,0:12480,0:12660,0:12842,0:13025,0:13210,0:13396,0:13584,0:13773,0:13964,0:14157,0:14351,0:14547,0:14744,0:14943,0:15144,0:15346,0:15550,0:15755,0:15962,0:16171,0:16381,0:16593,0:16806,0:17022,0:17238,0:17457,0:17677,0:17899,0:18122,0:18347,0:18574,0:18803,0:19033,0:19265,0:19498,0:19733,0:19970,0:20209,0:20449,0:20691,0:20935,0:21180,0:21427,0:21676,0:21927,0:22179,0:22433,0:22689,0:22946,0:23206,0:23467,0:23730,0:23994,0:24260,0:24528,0:24798,0:25070,0:25343,0:25618,0:25895,0:26174,0:26455,0:26737,0:27021,0:27307,0:27595,0:27884,0:28176,0:28469,0:28764,0:29061,0:29359,0:29660,0:29962,0:30266,0:30572,0:30880,0:31190,0:31502,0:31815,0:32130,0:32447,0:32767"/></string>
          </patternEngine>
        </conditionalPattern>

      </sequenceEngine>
      <activityVector>base_and_snare</activityVector>	
      <activityVector>base_and_snare</activityVector>
      <activityVector>hihat</activityVector>
      <activityVector>hihat</activityVector>
	</track>
	
	<track>
      <instrument>pad</instrument>
      <sequenceEngine class="PadSequenceEngine">
	    <offsets>0,1,2</offsets>
		<velocity>12000</velocity>
      </sequenceEngine>
      <activityVector>pad</activityVector>	      
	</track>
	
    <track>
	  <transposition>-24</transposition>
      <instrument>bass</instrument>
      <sequenceEngine class="PatternSequenceEngine">
	    <patternEngine class="StringPatternEngine">
        <string>0,-,-,-,0,-,-,0,-,-,0,-,-,-1,-,-,0,-,-,-,0,-,-,0,-,-,0,-,-,-,+,-,0,-,-,-,0,-,-,0,-,-,0,-,-,-1,-,-,0,-,-,-,0,-,-,0,-,0,-,-,0,-,+,-</string>
		<string>0,-,-,0,-,-,0,2,0,-,-,0,-,-,-1,-,0,-,-,0,-,-,0,2,0,-,-,0,-,-,-1,-,0,-,-,0,-,-,0,2,0,-,-,0,-,-,-1,-,0,-,-,0,-,-,0,2,0,-,-,0,-,-,1,-</string>
        <string>0,-,0,-,0,-,-,0,-,0,-,0,0,-,+,-</string> 
        <string>0,-,-,-,0,-,-,-,0,-,-,0,-,-,+,-,0,-,-,-,0,-,-,0,-,-,0,-,-,0,+,-,0,-,-,-,0,-,-,-,0,-,-,0,-,-,+,-,0,-,-,-,0,-,-,0,-,-,0,-,0,-,+,-</string>
        <string>-,-,0,-,-,-,0,-,-,-,0,-,-,-,0,-,-,-,0,-,-,-,0,-,-,-,0,-,-,-,+,-</string>
        <string>0,-,-,-,0,-,-,-,0,-,-,0,-,-,0,-,0,-,-,-,0,-,-,-,0,-,-,2,-,-,+,-,0,-,-,-,0,-,-,-,0,-,-,0,-,-,0,-,0,-,-,-,0,-,-,-,0,-,-,0,-,-,+,-</string>
	    <string>0,-,-,3,-,-,0,-,1,-,-,0,-,-,3,-,0,-,-,3,-,-,0,-,1,-,-,0,-,2,1,-</string>
		</patternEngine>
	  </sequenceEngine>
      <activityVector>bass</activityVector>
    </track>
  </arrangementEngine>
  
  <player class="MidiPlayer">
    <bpm><random min="116" max="136" type="normal" variance="7"/></bpm>
    <transposition><random min="64" max="68"/></transposition>
	<beforePlayWaitTicks>16</beforePlayWaitTicks>
    <afterPlayWaitTicks>16</afterPlayWaitTicks>
    <groove><random list="100|110,90|115,85"/></groove>
    <device name="device1" clockSynchronization="true">Microsoft GS Wavetable Synth,Microsoft GS Wavetable SW Synth,Java Sound Synthesizer</device>
	<map instrument="arpeggio" device="device1" channel="1" program="1"/>
	<map instrument="accomp" device="device1" channel="2" program="1"/>
	<map instrument="melody" device="device1" channel="3" program="2"/>
	<map instrument="pad" device="device1" channel="4" program="92"/>
	<map instrument="bass" device="device1" channel="5" program="40"/>
	<map instrument="percussion" device="device1" channel="10"/>
  </player>
</SoundHelix>
[See repo JSON]