Strudelify

Interior Student Cafe - Flute and Accordion

MAURICE JARRE

KeyG majorTempo160 bpm
0:00/0:00
// Interior Student Cafe - Flute and Accordion — MAURICE JARRE
// 160 bpm, 3/4, key G major. Source: midi.
// Generated by strudelify. One cycle = one bar.
// note: Tempo changes preserved in elapsed time; displayed bars use the dominant tempo.
// note: Transcription provider: pdmx. https://musescore.com/score/5701896; license: https://creativecommons.org/publicdomain/zero/1.0/
// note: Full arrangement: all 97 bars on a 16-step grid, each part at one level. Source detail keeps the original performance.
setcpm(160/3)

// Notation: c3@3 lasts 3 steps · ~ is a rest · [c3,e3] is a chord · "a, b" plays two voices at once · [...]/2 spreads a riff over 2 bars.
// A part's distinct bars are riffs (A, B, C...) played in order: edit a riff to change every repeat.

// chords · accordion · "Acordió"
const accordion = note(`<
  A@8 B C@3 B D@5 E F@3 G H I J K L M N O P@6 Q@4 R S@7 T U@7 V@8 W X Y@2 W X Z@2 AA@2 AB AC AD@2 AE AF AG AH AI AJ AK
  AL AG AM AN@2 AO@2 AP@2 AQ@2
>`.pickRestart({
  A: "[~@11 e4@9 d4@8 ~@30 g5@4 [f4,f5]@26 [f#4,d5]@26 f#4 ~@4 [d3,g3,b3]@5 [d3,g3,b3]@4, ~@11 [c4,g4]@17 c4@85 ~ g2@5 ~@9, ~@28 c5@17 e5@13 ~@70, ~@37 e4@17 g4@9 ~@52 g4@8 ~@5]/8", // F D G C5
  B: "~@2 f#4 ~@4 [d3,g3,b3]@5 [d3,g3,b3]@4, ~@2 d2@5 ~@9, ~@3 g4@8 ~@5", // G
  C: "[~@2 g4 ~@4 [d3,g3,b3]@5 [d3,g3,b3]@5 ~ d2@5 [d3,g3,b3]@5 [d3,g3,b3]@5 ~ f#4 ~@4 [d3,g3,b3]@5 [d3,g3,b3]@4, ~@2 g2@5 ~@27 g2@5 ~@9, ~@3 b4@31 ~ g4@8 ~@5]/3", // G
  D: "[~@2 g4 ~@4 [d3,f#3,a3,c4]@5 [d3,f#3,a3,c4]@5 ~ d2@5 [d3,f#3,a3,c4]@5 [d3,f#3,a3,c4]@5 ~ g2@5 [d3,g3,b3]@5 [d3,g3,b3]@5 ~ e2@5 [d3,g#3,b3]@5 ~@3 d5@3 [a2,e5]@5 [d3,f#3,a3,c4,d5]@5 [d3,f#3,a3,c4,c#5]@4, ~@2 a2@5 ~@37 f#5@11 e5@8 ~@17, ~@3 d5@31 g5@11 ~@15 [d3,g#3,b3]@5 ~@15]/5", // D7 G G#dim A5 D7 G#dim
  E: "~@2 g2@5 [d3,g3,b3]@5 [d3,g3,b3,b4]@4, ~@2 d5@11 ~@3", // G
  F: "[~@2 a2@5 [d3,f#3,a3,c4]@5 [d3,f#3,a3,c4]@5 ~ d2@5 [d3,f#3,a3,c4]@5 ~@3 b4@3 [g2,c5]@5 [d3,g3,b3,b4]@5 [d3,g3,b3,a#4]@4, ~@2 e5@10 d5@11 c5@8 ~@17, ~@28 [d3,f#3,a3,c4]@5 ~@15]/3", // D7 C5 G D7
  G: "~@2 g2@5 d3@5 g3@4, ~@2 b4@11 ~@3", H: "~@3 d4@2 b3@2 g4@2 ~ b3@2 g4@2 d4@2, ~@2 g2@5 ~@9, ~@2 g4@2 ~@5 d4@2 ~@5",
  I: "b3@2 ~ d4@2 b3@2 g4@2 ~ b3@2 g4@2 d4@2, ~@2 d2@5 ~@9, ~@2 g4@2 ~@5 d4@2 ~@5",
  J: "b3@2 ~ e4@2 c4@2 g4@2 ~ c4@2 g4@2 e4@2, ~@2 g2@5 ~@9, ~@2 g4@2 ~@5 e4@2 ~@5",
  K: "c4@2 ~ e4@2 c4@2 g4@2 ~ c4@2 g4@2 e4@2, ~@2 c3@5 ~@9, ~@2 g4@2 ~@5 e4@2 ~@5",
  L: "c4@2 ~ d4@2 c4@2 f#4@2 ~ c4@2 f#4@2 d4@2, ~@2 a2@5 ~@9, ~@2 f#4@2 ~@5 d4@2 ~@5",
  M: "c4@2 ~ d4@2 c4@2 f#4@2 ~ c4@2 f#4@2 d4@2, ~@2 d2@5 ~@9, ~@2 f#4@2 ~@5 d4@2 ~@5",
  N: "c4@2 ~ d4@2 b3@2 g4@2 ~ b3@2 g4@2 d4@2, ~@2 g2@5 ~@9, ~@2 g4@2 ~@5 d4@2 ~@5",
  O: "b3@2 ~ d4@2 b3@2 g4@2 ~ b3@2 g4@4, ~@2 g2@5 ~@9, ~@2 g4@2 ~@5 d4@2 ~@5",
  P: "[~@2 [g4,d5]@3 ~@2 [d3,g3,b3]@5 [d3,g3,b3]@5 ~ d2@5 [d3,g3,b3]@5 ~@3 g4@3 [g4,e5]@3 ~@2 [e3,g3,c4]@5 [e3,g3,c4]@5 ~ c3@5 [e3,g3,c4]@5 ~@3 [f#4,a4]@3 [c5,f#5]@3 ~@2 [d3,f#3,a3,c4]@5 [d3,f#3,a3,c4]@5 ~ d2@5 [d3,f#3,a3,c4,c5,g5]@5 [d3,f#3,a3,c4,a4,a5]@4, ~@2 g2@5 ~@5 [g4,d5]@11 [g4,b4]@8 ~@13 [g4,e5]@11 [g4,c5]@8 ~@13 [c5,f#5]@11 ~@9, ~@28 [d3,g3,b3]@5 ~ g2@5 ~@21 [e3,g3,c4]@5 ~ a2@5 ~@25]/6", // G5 G C F#m Cdim D7 G5 G …
  Q: "[~@2 g2@5 d3@5 b2@5 ~ g2@5 ~@3 d5@4 a#4@4 a4@4 g4@9 [a#4,d5]@8 [d5,g5]@9, ~@2 [b4,g5]@21 ~@41]/4", R: "[c5,d#5]",
  S: "[~ [g4,c5]@9 [f4,a4]@17 [a4,c5]@8 [a#4,d5]@17 a#4@4 ~ a4@4 g4@17 [a#4,d#5]@8 [g4,a4]@17 c5@4 ~ a#4@4, ~@52 f4@9 ~@42 g4@9]/7", // C5 F Am A# D#5 Gsus2
  T: "[f#4,a4]", // F#m
  U: "[~ [f#4,d5]@9 [a4,c5]@9 ~@3 d5@4 ~ a#4@4 a4@4 g4@9 [a#4,d5]@8 [d5,g5]@9 [c5,d#5]@17 [g4,c5]@8 [f4,a4]@17 [a4,c5]@9, ~@35 g2@26 c3@25 f2@26]/7", // D Am A# G5 Cm C5 F Am
  V: "[[a#4,d5]@17 a#4@4 a4@4 ~ g4@17 [a#4,d#5]@8 [g4,a4]@17 c5@4 ~ a#4@4 [f#4,a4]@17 [f#4,d5]@8 [d3,f#4,a4,c5]@17 ~@9, a#2@26 d#2@26 ~@16 g4@9 ~@51, ~@17 f4@9 ~@25 c3@26 a2@26 ~@25]/8", // A# D#5 Gsus2 F#m D D7
  W: "f#4 ~@4 [d3,g3,b3]@5 ~ [d3,g3,b3]@5, g2@5 ~@11, ~ g4@8 ~@7", // G
  X: "f#4 ~@4 [d3,g3,b3]@5 ~ [d3,g3,b3]@5, d2@5 ~@11, ~ g4@8 ~@7", // G
  Y: "[g4 ~@4 [d3,g3,b3]@5 ~ [d3,g3,b3]@5 d2@5 [d3,g3,b3]@5 ~ [d3,g3,b3]@5, g2@5 ~@27, ~ b4@31]/2", // G
  Z: "[g4 ~@4 [d3,f#3,a3,c4]@5 ~ [d3,f#3,a3,c4]@5 d2@5 [d3,f#3,a3,c4]@5 ~ [d3,f#3,a3,c4]@5, a2@5 ~@27, ~ d5@31]/2", // D7
  AA: "[g2@5 [d3,g3,b3]@5 ~ [d3,g3,b3]@5 e2@5 [d3,g#3,b3]@5 ~@3 d5@3, g5@11 f#5@10 e5@8 ~@3, ~@27 [d3,g#3,b3]@5]/2", // G G#dim
  AB: "[a2,e5]@5 [d3,f#3,a3,c4,d5]@5 ~ [d3,f#3,a3,c4,c#5]@5", AC: "g2@5 [d3,g3,b3]@5 ~ [d3,g3,b3,b4]@5, d5@11 ~@5",
  AD: "[a2@5 [d3,f#3,a3,c4]@5 ~ [d3,f#3,a3,c4]@5 d2@5 [d3,f#3,a3,c4]@5 ~@3 b4@3, e5@11 d5@10 c5@8 ~@3, ~@27 [d3,f#3,a3,c4]@5]/2", // D7
  AE: "[g2,c5]@5 [d3,g3,b3,b4]@5 ~ [d3,g3,b3,a#4]@5", AF: "g2@5 d3@5 ~ g3@5, b4@11 ~@5",
  AG: "g4@2 d4@2 ~ g4@2 d4@2 b3@2 ~ d4@2 b3@2, g2@4 b3@2 ~@5 g4@2 ~@3",
  AH: "g4@2 d4@2 ~ g4@2 d4@2 b3@2 ~ d4@2 b3@2, d2@4 b3@2 ~@5 g4@2 ~@3",
  AI: "g4@2 e4@2 ~ g4@2 e4@2 c4@2 ~ e4@2 c4@2, g2@4 c4@2 ~@5 g4@2 ~@3",
  AJ: "g4@2 e4@2 ~ g4@2 e4@2 c4@2 ~ e4@2 c4@2, c3@4 c4@2 ~@5 g4@2 ~@3",
  AK: "f#4@2 d4@2 ~ f#4@2 d4@2 c4@2 ~ d4@2 c4@2, a2@4 c4@2 ~@5 f#4@2 ~@3",
  AL: "f#4@2 d4@2 ~ f#4@2 d4@2 c4@2 ~ d4@2 c4@2, d2@4 c4@2 ~@5 f#4@2 ~@3",
  AM: "g4@2 d4@2 ~ g4@2 d4@2 b3@2 g4@5, g2@2 b3 ~@5",
  AN: "[[g4,d5]@3 ~@2 [d3,g3,b3]@5 ~ [d3,g3,b3]@5 d2@5 [d3,g3,b3]@5 ~@3 g4@3, g2@5 ~@6 [g4,d5]@10 [g4,b4]@8 ~@3, ~@27 [d3,g3,b3]@5]/2", // G5 G G5 G
  AO: "[[g4,e5]@3 ~@2 [e3,g3,c4]@5 ~ [e3,g3,c4]@5 c3@5 [e3,g3,c4]@5 ~@3 [f#4,a4]@3, g2@5 ~@6 [g4,e5]@10 [g4,c5]@8 ~@3, ~@27 [e3,g3,c4]@5]/2", // C F#m C C5 C
  AP: "[[c5,f#5]@3 ~@2 [d3,f#3,a3,c4]@5 ~ [d3,f#3,a3,c4]@5 d2@5 [d3,f#3,a3,c4,c5,g5]@5 ~ [d3,f#3,a3,c4,a4,a5]@5, a2@5 ~@6 [c5,f#5]@11 ~@10]/2", // Cdim D7 Cdim
  AQ: "[g2@5 [d3,g3,b3]@5 ~ [d3,g3,b3]@5 g2@5 ~@11, [b4,g5]@21 ~@11]/2", // G Em
})).s("gm_accordion").gain(0.16)

stack(accordion)