Advertisement
Guest User

Untitled

a guest
May 4th, 2025
8
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.46 KB | None | 0 0
  1. # patterns_data.py - Speicher für Arpeggiator-Patterns und Konfiguration
  2.  
  3. # --- MIDI & System Konfiguration ---
  4. MIDI_IN_CHANNEL = None # None für alle Kanäle, oder 0-15
  5. MIDI_OUT_CHANNEL = 7 # Kanal 8 für User (0-15)
  6. INTERNAL_BPM = 120
  7. STEPS_PER_BEAT = 4
  8. CLOCK_TIMEOUT_S = 2.0 # Sekunden ohne externe Clock bis Fallback auf interne
  9.  
  10. # --- Potentiometer Konfiguration ---
  11. POT_PIN_PATTERN = "A2" # Pin für Melodie / Arp Mode / Progression
  12. POT_PIN_TIMING = "A5" # Pin für Rhythmus / Gate
  13.  
  14. # --- Gate Konfiguration ---
  15. DEFAULT_GATE_FACTOR = 0.9 # Standard-Gate-Faktor (wenn Pattern keinen liefert)
  16. MIN_GATE_FACTOR = 0.05 # Minimaler Gate-Faktor
  17.  
  18. BASSLINE_PATTERNS = [
  19. # Pattern 0: 16tel "Rolling Bassline"
  20. [1.0, 1.0, 1.0, None],
  21.  
  22. # Pattern 1: 16tel "Swingy Bass" (simuliert 12tel/Triolen durch Gate)
  23. # Lang auf 1&3, kurz auf 2&4 - oder umgekehrt? Probieren wir lang-kurz.
  24. # Spielt auf jedem Step, variiert aber Länge.
  25. # [1.5, 0.5, 1.5, 0.5], # Alternative 1: Lang-Kurz
  26. [0.5, 1.5, 0.5, 1.5], # Alternative 2: Kurz-Lang (Offbeat betont)
  27.  
  28. # Pattern 2: 8tel "Offbeat Bass"
  29. [None, None, 2.0, None] # Spielt lange Note auf Step 3 (der 'und' von 2)
  30. ]
  31.  
  32. # --- Rhythmische Patterns (Gate-Faktoren) ---
  33. # Steuert die Länge der Note relativ zur NOMINAL_STEP_INTERVAL_S.
  34. # 1.0 = normale Länge, 0.5 = halbe Länge, 2.0 = doppelte Länge, None = Pause
  35. RHYTHMIC_PATTERNS = [
  36. # ... (Deine Rhythmus-Patterns hier, z.B. aus Antwort #15) ...
  37. [1.0, 1.0, 1.0, 1.0], # 0: Gleichmäßige 16tel (Standard-Gate)
  38. [0.5, 0.5, 0.5, 0.5], # 1: Kurze 16tel (Staccato)
  39. [1.5, 1.5, 1.5, 1.5], # 2: Längere Noten (Legato, überlappend)
  40. [1.0, None, 1.0, None], # 3: Achtel-Gefühl (jede zweite Note Pause)
  41. # ... (füge weitere hinzu) ...
  42. ]
  43.  
  44. # --- Melodische Patterns (Single Note Mode) ---
  45. # (Intervalle relativ zur Basisnote)
  46. MELODIC_PATTERNS = [
  47. # ... (Deine Melodie-Patterns hier, z.B. aus Antwort #17) ...
  48. [0, 4, 7, 12], # 0: Major Arp Up
  49. [0, 3, 7, 12], # 1: Minor Arp Up
  50. [0, 12, 7, 12], # 2: Octave, Fifth
  51. [0, 2, 4, 5, 7, 9, 11, 12], # 3: Major Scale Up
  52. # ... (füge weitere hinzu) ...
  53. ]
  54.  
  55.  
  56. # --- NEU: Chord Progression Daten ---
  57.  
  58. # 1. Akkordtypen (Intervalle relativ zum Grundton des Akkords)
  59. CHORD_DEFS = {
  60. 'maj': (0, 4, 7),
  61. 'min': (0, 3, 7),
  62. # Optional mehr hinzufügen:
  63. # 'dim': (0, 3, 6),
  64. # 'aug': (0, 4, 8),
  65. # 'maj7': (0, 4, 7, 11),
  66. # 'min7': (0, 3, 7, 10),
  67. # 'dom7': (0, 4, 7, 10),
  68. }
  69.  
  70. # 2. Stufen (Intervall relativ zum Grundton der Tonart)
  71. SCALE_DEGREES = {
  72. 'I': 0, 'i': 0,
  73. 'II': 2, 'ii': 2,
  74. 'III': 4, 'iii': 3,
  75. 'IV': 5, 'iv': 5,
  76. 'V': 7, 'v': 7,
  77. 'VI': 9, 'vi': 8,
  78. 'VII': 11, 'vii': 10
  79. }
  80.  
  81. # 3. Progressionen (Liste von Tupeln: (Stufe_String, Akkordtyp_String))
  82. PROGRESSIONS = {
  83. 'Pop I-V-vi-IV': [('I', 'maj'), ('V', 'maj'), ('vi', 'min'), ('IV', 'maj')],
  84. # 'Jazz ii-V-I': [('ii', 'min'), ('V', 'maj'), ('I', 'maj')], # ENTFERNT
  85. # 'Minor i-iv-V': [('i', 'min'), ('iv', 'min'), ('V', 'maj')], # ENTFERNT
  86. # 'Andalusian': [('i', 'min'), ('VII', 'maj'), ('VI', 'maj'), ('V', 'maj')], # ENTFERNT
  87. 'Basic I-IV-V': [('I', 'maj'), ('IV', 'maj'), ('V', 'maj')],
  88. 'Just I': [('I', 'maj')],
  89. 'Just i': [('i', 'min')],
  90. }
  91.  
  92. # 4. Standard-Tonart (wenn nicht aus Terz erkennbar)
  93. DEFAULT_TONALITY = 'maj'
  94.  
  95. # --- Arpeggio Patterns ---
  96. # Melodische Patterns (nur Intervalle)
  97. MELODIC_PATTERNS = [
  98. # --- Grundlegende Arpeggios (bereits bekannt) ---
  99. [0, 4, 7, 12], # 0: Major Arp Up (C E G C')
  100. [0, 3, 7, 12], # 1: Minor Arp Up (C Eb G C')
  101. [0, 7, 12], # 2: Fifth & Octave Up (C G C')
  102. [12, 7, 4, 0], # 3: Major Arp Down (C' G E C)
  103. [12, 7, 3, 0], # 4: Minor Arp Down (C' G Eb C)
  104.  
  105. # --- Erweiterte Arpeggios (7ths, Sus) ---
  106. [0, 4, 7, 10], # 5: Dominant 7th Arp (C E G Bb) - Typisch für Spannung
  107. [0, 3, 7, 10], # 6: Minor 7th Arp (C Eb G Bb) - Klassischer House/Deep House Sound
  108. [0, 4, 7, 11], # 7: Major 7th Arp (C E G B) - Eher jazzig/chill
  109. [0, 5, 7, 12], # 8: Sus4 Arp (C F G C') - Offener Klang
  110. [0, 2, 7, 12], # 9: Sus2 Arp (C D G C') - Auch offen, modern
  111.  
  112. # --- Sequenz-artige Muster ---
  113. [0, 2, 4, 2], # 10: Auf-Ab-Bewegung (C D E D) - Einfache Sequenz
  114. [0, 7, 5, 7], # 11: Quint-Sprung mit Nebennoten (C G F G)
  115. [0, 12, 7, 12], # 12: Oktave, dann Quinte (C C' G C') - Klassischer Bassline-Move
  116. [0, 3, 5, 7], # 13: Moll-Tonleiter Fragment (C Eb F G)
  117. [0, 4, 7, 9], # 14: Dur-Tonleiter Fragment (C E G A)
  118. [0, -2, 0, 3], # 15: Tief-Hoch Bewegung (C Bb C Eb) - Gut für Basslines
  119. [0, 0, 7, 5], # 16: Repetierter Grundton, dann Bewegung (C C G F)
  120.  
  121. # --- Modale / Interessante Intervalle ---
  122. [0, 3, 6, 10], # 17: Vermindert/Bluesy (C Eb Gb Bb) - Dissonanter
  123. [0, 5, 7, 10], # 18: Quarte/Quinte/kleine Sept (C F G Bb) - Modal/Mixolydisch-Andeutung
  124. [0, 1, 5, 7], # 19: Phrygisch-Andeutung (C Db F G) - Spanisch/Düster
  125. [0, 4, 6, 11], # 20: Lydisch-Andeutung (C E F# B) - Schwebend/Filmmusik
  126.  
  127. # --- Oktav-Muster ---
  128. [0, 12, 0, -12], # 21: Oktav-Sprünge hoch/runter (C C' C C_low)
  129. [0, 12, 12, 7], # 22: Oben bleiben (C C' C' G)
  130. [0, 7, 12, 19], # 23: Quint, Oktave, Oktave+Quint (C G C' G') - Weit
  131.  
  132. # --- Kürzere Muster / Techno-Style ---
  133. [0, 3, 0, 7], # 24: Kurz, Moll-Dreiklang Andeutung (C Eb C G)
  134. [0, 0, 3, 5], # 25: Repetitiv, Moll-Fragment (C C Eb F)
  135. [0, 7, 0, 10], # 26: Quint/Septime Wechsel (C G C Bb)
  136.  
  137. ]
  138.  
  139. RHYTHMIC_PATTERNS = [
  140. # --- Grundmuster ---
  141. [1.0, 1.0, 1.0, 1.0], # 0: Gleichmäßige 16tel (Standard-Gate)
  142. [None, 1.0, 1.0, 1.0], # 0: Gleichmäßige 16tel (Standard-Gate)
  143. #[0.5, 0.5, 0.5, 0.5], # 1: Kurze 16tel (Staccato)
  144. #[0.25, 0.25, 0.25, 0.25], # 2: Sehr kurze 16tel (Sehr Staccato)
  145. #[1.5, 1.5, 1.5, 1.5], # 3: Längere Noten (Legato, überlappend)
  146. #[2.0, 2.0, 2.0, 2.0], # 4: Noch längere Noten (Mehr Legato)
  147.  
  148. # --- Muster mit Pausen ---
  149. [1.0, None, 1.0, None], # 5: Achtel-Gefühl (jede zweite Note Pause)
  150. #[1.0, 1.0, None, 1.0], # 6: 16tel mit einer Pause auf der '3'
  151. # [0.5, None, 0.5, None], # 7: Kurze Achtel (Staccato)
  152. #[1.0, None, None, None], # 8: Nur auf der '1' (Viertel-Gefühl)
  153. # [1.5, None, 1.0, None], # 9: Akzent auf 1, dann Pause, dann normal auf 3
  154.  
  155. # --- Akzentuierte / Groove Muster ---
  156. [1.5, 0.5, 0.75, 0.5], # 10: Akzent auf 1, kurz auf 2, etwas länger auf 3
  157. #[0.5, 1.5, 0.5, 1.0], # 11: Akzent auf 2 und 4 (leicht synkopisch)
  158. #[1.0, 0.25, 1.0, 0.5], # 12: Abwechslungsreich kurz/lang
  159. [2.0, 0.5, None, 0.5], # 13: Langer Start, dann kurze Staccato-Antwort mit Pause dazwischen
  160.  
  161. # --- Längere Muster (8 Schritte = 2 Beats bei 4 Steps/Beat) ---
  162. [1.0, 0.5, 0.75, 0.5, 1.5, 0.5, 0.75, 0.5], # 14: 8-Step Variation von #10
  163. [1.0, None, 0.5, None, 1.0, None, 0.75, None], # 15: 8-Step Achtel-Pattern mit variierender Länge
  164.  
  165. # --- Experimentell ---
  166. #[0.1, 0.2, 0.4, 0.8], # 16: Ansteigende Länge
  167. #[1.5, 1.0, 0.5, 0.25], # 17: Abfallende Länge
  168. ]
  169.  
  170. # Pattern für Arpeggio (2 Noten)
  171. ARPEGGIO_PATTERN_TWO_NOTES = [0, 1]
  172.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement