SoundHelix-Piano2.xml 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?xml version="1.0"?>
  2. <!-- Example XML file for SoundHelix. Author: Thomas Schuerger. -->
  3. <SoundHelix version="0.5+" xmlns:xi="http://www.w3.org/2001/XInclude">
  4. <xi:include href="../includes/Standard-SongNameEngine.xml" />
  5. <structure>
  6. <bars>
  7. <random min="96" max="160" step="16" />
  8. </bars>
  9. <beatsPerBar>4</beatsPerBar>
  10. <ticksPerBeat>4</ticksPerBeat>
  11. </structure>
  12. <xi:include href="../includes/Standard-HarmonyEngine.xml" />
  13. <arrangementEngine class="SimpleArrangementEngine">
  14. <maxIterations>5000000</maxIterations>
  15. <minActivityCount>2</minActivityCount>
  16. <maxActivityCount>4</maxActivityCount>
  17. <maxActivityChangeCount>2</maxActivityChangeCount>
  18. <startActivityCounts>
  19. <random list="2,3" />
  20. </startActivityCounts>
  21. <stopActivityCounts>
  22. <random list="3,2" />
  23. </stopActivityCounts>
  24. <activityVector name="accompbass">
  25. <minActive>20</minActive>
  26. <maxActive>60</maxActive>
  27. </activityVector>
  28. <activityVector name="accomp">
  29. <minActive>10</minActive>
  30. <minSegmentLength>2</minSegmentLength>
  31. </activityVector>
  32. <activityVector name="melody">
  33. <startAfterSection>3</startAfterSection>
  34. <stopBeforeSection>1</stopBeforeSection>
  35. <minActive>30</minActive>
  36. <maxActive>60</maxActive>
  37. <minSegmentLength>2</minSegmentLength>
  38. <maxSegmentLength>5</maxSegmentLength>
  39. </activityVector>
  40. <activityVector name="melody2">
  41. <minActive>25</minActive>
  42. <maxActive>60</maxActive>
  43. <minSegmentLength>2</minSegmentLength>
  44. <maxSegmentLength>5</maxSegmentLength>
  45. </activityVector>
  46. <track>
  47. <instrument>accomp</instrument>
  48. <transposition>-12</transposition>
  49. <sequenceEngine class="MultiPatternSequenceEngine">
  50. <patternEngines>
  51. <patternEngine class="StringPatternEngine">
  52. <string>-,-,-,-,2:28000,-,-,-</string>
  53. </patternEngine>
  54. <patternEngine class="StringPatternEngine">
  55. <string>-,-,-,-,1:28000,-,-,-</string>
  56. </patternEngine>
  57. <patternEngine class="StringPatternEngine">
  58. <string>-,-,-,-,0:28000,-,-,-</string>
  59. </patternEngine>
  60. </patternEngines>
  61. </sequenceEngine>
  62. <activityVector>accomp</activityVector>
  63. </track>
  64. <track>
  65. <instrument>accompbass</instrument>
  66. <transposition>-24</transposition>
  67. <sequenceEngine class="PatternSequenceEngine">
  68. <patternEngine class="RandomFragmentPatternEngine">
  69. <patternTicks>16</patternTicks>
  70. <patternString>A1,A2,A1,A3,A1,A2,A1,A4</patternString>
  71. <pattern group="A">0,-,-,-,0,-,-,-|0,-,-,0,-,-,2,-|0,-,-,-,2,-,-,-|0,-,-,1,-,-,2,-|0,-,-,2,-,-,-1,-</pattern>
  72. </patternEngine>
  73. </sequenceEngine>
  74. <activityVector>accompbass</activityVector>
  75. </track>
  76. <track>
  77. <instrument>melody</instrument>
  78. <transposition>12</transposition>
  79. <sequenceEngine class="MelodySequenceEngine">
  80. <melodies>2,3,4</melodies>
  81. <minPitch>0</minPitch>
  82. <maxPitch>9</maxPitch>
  83. <pitchDistances>-2,-2,-1,-1,-1,-1,0,0,1,1,1,1,2,2</pitchDistances>
  84. <patternEngine class="RandomPatternEngine">
  85. <patternTicks>16</patternTicks>
  86. <patternString>
  87. <random list="A1,A2,A1,A3,A1,A2,A1,B1" />
  88. </patternString>
  89. <noteProbability>75</noteProbability>
  90. <legatoProbability>0</legatoProbability>
  91. <minVelocity>32767</minVelocity>
  92. <maxVelocity>32767</maxVelocity>
  93. <minActiveTicks>7</minActiveTicks>
  94. <maxActiveTicks>13</maxActiveTicks>
  95. <offsets>0,0,+,+</offsets>
  96. <noteLengths>2,2,2,3,2,2,2,1,2,1</noteLengths>
  97. <pauseLengths>2,2,2,2,1,2</pauseLengths>
  98. <pitchVelocityCorrelation>100</pitchVelocityCorrelation>
  99. <velocityExponent>3</velocityExponent>
  100. </patternEngine>
  101. </sequenceEngine>
  102. <activityVector>melody</activityVector>
  103. </track>
  104. <track>
  105. <instrument>melody2</instrument>
  106. <transposition>0</transposition>
  107. <sequenceEngine class="MelodySequenceEngine">
  108. <melodies>2,2,3</melodies>
  109. <minPitch>0</minPitch>
  110. <maxPitch>11</maxPitch>
  111. <pitchDistances>-2,-2,-1,-1,-1,-1,0,0,1,1,1,1,2,2</pitchDistances>
  112. <patternEngine class="RandomPatternEngine">
  113. <patternTicks>16</patternTicks>
  114. <patternString>
  115. <random list="A1,A2,A1,A3,A1,A2,A1,B1,A1,A2,A1,A4,A1,A2,A1,B2" />
  116. </patternString>
  117. <noteProbability>75</noteProbability>
  118. <legatoProbability>0</legatoProbability>
  119. <minVelocity>32767</minVelocity>
  120. <maxVelocity>32767</maxVelocity>
  121. <minActiveTicks>7</minActiveTicks>
  122. <maxActiveTicks>13</maxActiveTicks>
  123. <offsets>0,0,0,0,0,0,+,+</offsets>
  124. <noteLengths>2,2,2,4,2</noteLengths>
  125. <pauseLengths>2,2,2,2,4,2</pauseLengths>
  126. <pitchVelocityCorrelation>100</pitchVelocityCorrelation>
  127. <velocityExponent>3</velocityExponent>
  128. </patternEngine>
  129. </sequenceEngine>
  130. <activityVector>melody2</activityVector>
  131. </track>
  132. </arrangementEngine>
  133. <player class="MidiPlayer">
  134. <bpm>
  135. <random min="120" max="134" type="normal" variance="7" />
  136. </bpm>
  137. <transposition>
  138. <random min="65" max="69" />
  139. </transposition>
  140. <beforePlayWaitTicks>16</beforePlayWaitTicks>
  141. <afterPlayWaitTicks>16</afterPlayWaitTicks>
  142. <groove>
  143. <random list="100|110,90|120,80|115,85" />
  144. </groove>
  145. <!-- uncomment the following line if you want to write all generated songs as MIDI files -->
  146. <!-- <midiFilename>midifiles/${safeSongName}-${safeDeviceName}.mid</midiFilename> -->
  147. <device name="device1" clockSynchronization="true">Gervill,Microsoft GS Wavetable Synth,Microsoft GS Wavetable SW Synth,Java Sound Synthesizer</device>
  148. <map instrument="accompbass" device="device1" channel="1" program="1" />
  149. <map instrument="accomp" device="device1" channel="2" program="1" />
  150. <map instrument="melody" device="device1" channel="3" program="2" />
  151. <map instrument="melody2" device="device1" channel="4" program="2" />
  152. <!-- fade out all instruments at the end of the song -->
  153. <controllerLFO>
  154. <lfo class="SawtoothLFO" />
  155. <rotationUnit>song</rotationUnit>
  156. <speed>1</speed>
  157. <phase>0</phase>
  158. <minAmplitude>0</minAmplitude>
  159. <maxAmplitude>3000</maxAmplitude>
  160. <minValue>0</minValue>
  161. <maxValue>127</maxValue>
  162. <controller>volume</controller>
  163. <channel>1</channel>
  164. <device>device1</device>
  165. </controllerLFO>
  166. <controllerLFO>
  167. <lfo class="SawtoothLFO" />
  168. <rotationUnit>song</rotationUnit>
  169. <speed>1</speed>
  170. <phase>0</phase>
  171. <minAmplitude>0</minAmplitude>
  172. <maxAmplitude>3000</maxAmplitude>
  173. <minValue>0</minValue>
  174. <maxValue>127</maxValue>
  175. <controller>volume</controller>
  176. <channel>2</channel>
  177. <device>device1</device>
  178. </controllerLFO>
  179. <controllerLFO>
  180. <lfo class="SawtoothLFO" />
  181. <rotationUnit>song</rotationUnit>
  182. <speed>1</speed>
  183. <phase>0</phase>
  184. <minAmplitude>0</minAmplitude>
  185. <maxAmplitude>3000</maxAmplitude>
  186. <minValue>0</minValue>
  187. <maxValue>127</maxValue>
  188. <controller>volume</controller>
  189. <channel>3</channel>
  190. <device>device1</device>
  191. </controllerLFO>
  192. <controllerLFO>
  193. <lfo class="SawtoothLFO" />
  194. <rotationUnit>song</rotationUnit>
  195. <speed>1</speed>
  196. <phase>0</phase>
  197. <minAmplitude>0</minAmplitude>
  198. <maxAmplitude>3000</maxAmplitude>
  199. <minValue>0</minValue>
  200. <maxValue>127</maxValue>
  201. <controller>volume</controller>
  202. <channel>4</channel>
  203. <device>device1</device>
  204. </controllerLFO>
  205. </player>
  206. </SoundHelix>