A phrase returns, and you recognize it. A contrasting passage delays that return. Later, the opening comes back with more instruments. These are relationships across time, on a larger scale than a single interval or beat.
Musical form concerns how sections are organized through repetition, variation, and contrast. In this final lesson, you will rearrange a small set of materials and distinguish a changed tune from a changed texture. Allow ten to fifteen minutes, then apply the whole series to a recording you know.
Arrange four bars, then explain the difference
A is E–G–A–G, B is C–B–G–D, and A′ changes only A's final G to a higher C. Each bar has four quarter notes in 4/4 at 100 BPM. The original arrangement is A–A–B–A.
Select a bar, then change its material. To compare order alone, make A–B–A–A while keeping three copies of A and one B. Then try a freer edit with A′. Predict when the listener will hear a return; play the full arrangement to check. You can also read and audition one bar at a time.
Preparing the visual
Arrange the material yourself
A is E–G–A–G, A′ changes its final G to C, and B is C–B–G–D. Every bar has four quarter notes. You can replace material, hear a single bar, or hear the whole arrangement.
A–A–B–A establishes A twice before contrasting and returning. A–B–A–A brings contrast earlier. Replacing A with A′ also changes the material, so describe that separately from reordering. The letters keep their identity within this comparison even if B becomes the opening.
These are one-bar units for learning, not full song sections. Our miniature AABA is not the entire 32-bar AABA song form, whose phrase lengths and harmonic conventions need further study. Phrase and section
Repetition can preserve some things while changing others
A recurring tune may return with different instruments or a small melodic edit. Before giving it a new letter, decide what level of similarity you are tracking.
Relationship
What stays recognizable
What changes in this lesson
Repetition
The complete A melody
Nothing in the melody
Variation, A′
A’s opening and rhythm
Its last pitch
Contrast, B
The shared pulse and accompaniment
More of the pitch pattern
Texture change
The complete A melody
Accompanying layers enter
The prime mark in A′ means “a related version of A.” It is a useful notation, not a fixed numerical rule about how many notes may change. In another musical context, a small edit could be structurally decisive, or a much larger surface change could still preserve an underlying theme.
Compare three different boundaries
Each choice below contains two four-beat units. In the first, A repeats while the accompaniment enters. In the second, the last G of A becomes a higher C. In the third, B replaces A while the accompaniment stays fixed.
Preparing the visual
What kind of change marks this boundary?
The first pair repeats A while adding accompaniment. The second keeps accompaniment fixed and changes only A’s final G to C (A′). The third replaces A with B while keeping accompaniment fixed.
{"id":"music-form-change","title":"What kind of change marks this boundary?","summary":"The first pair repeats A while adding accompaniment. The second keeps accompaniment fixed and changes only A’s final G to C (A′). The third replaces A with B while keeping accompaniment fixed.","height":760,"html":"<h2 data-i18n=\"heading\"></h2><p class=\"mf-intro\" data-i18n=\"intro\"></p>\n<div id=\"variants\" class=\"mf-options\" role=\"group\" data-i18n-label=\"choose\"></div>\n<p id=\"facts\" class=\"mf-facts\" aria-live=\"polite\"></p>\n<svg id=\"plot\" class=\"mf-plot\" viewBox=\"0 0 540 200\" aria-hidden=\"true\"></svg>\n<div class=\"mf-axis\"><span data-i18n=\"axis\"></span><span id=\"duration\"></span></div>\n<div id=\"groups\" class=\"mf-groups\"></div><p id=\"notation\" class=\"mf-notation\"></p><p class=\"mf-key\" data-i18n=\"key\"></p>\n<div id=\"envelope-panel\" hidden><svg id=\"envelope-plot\" class=\"mf-plot\" viewBox=\"0 0 540 120\" aria-hidden=\"true\"></svg><p class=\"mf-key\" data-i18n=\"envelope\"></p></div>\n<div class=\"mf-actions\"><button id=\"play\" data-i18n=\"play\"></button><button id=\"stop\" data-i18n=\"stop\" disabled></button></div>\n<div class=\"mf-progress\" aria-hidden=\"true\"><span id=\"progress\"></span></div><p id=\"status\" class=\"mf-status\" role=\"status\" data-i18n=\"idle\"></p>\n<div class=\"mf-volume\"><label for=\"volume\" data-i18n=\"volume\"></label><input id=\"volume\" type=\"range\" min=\"0\" max=\"100\" value=\"65\"></div>\n","css":"body{padding:24px}h2{font-size:22px;line-height:1.4}.mf-intro{color:var(--muted);margin:10px 0 18px;line-height:1.7}.mf-options{display:flex;gap:8px;flex-wrap:wrap}.mf-options button{flex:1 1 125px;min-height:46px;font-size:16px;white-space:normal;line-height:1.45;text-align:left;padding:10px 12px}.mf-options button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.mf-facts{margin:16px 0;padding:14px;border-left:3px solid var(--accent);background:var(--surface);font-size:16px;line-height:1.75;min-height:4em}.mf-plot{width:100%;height:auto;display:block;margin:12px 0 0;background:var(--surface);border:1px solid var(--rule);border-radius:8px}.mf-axis{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);gap:16px;margin:6px 0}.mf-notation{font-size:15px;line-height:1.8;overflow-wrap:anywhere;margin:10px 0;color:var(--ink)}.mf-groups{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.mf-groups span{padding:6px 10px;border:1px solid var(--rule);border-radius:5px;font-size:15px;white-space:pre}.mf-actions{display:flex;gap:8px;margin:18px 0 12px}.mf-actions button{min-height:46px;font-size:16px;flex:1}.mf-progress{height:3px;background:var(--rule);overflow:hidden}.mf-progress span{display:block;height:100%;background:var(--accent);width:0}.mf-status{font-size:14px;line-height:1.7;margin:10px 0;min-height:3.4em;color:var(--muted)}.mf-volume{display:flex;gap:12px;align-items:center;margin-top:12px;border-top:1px solid var(--rule);padding-top:12px;font-size:14px}.mf-volume input{min-width:60px;max-width:180px}.mf-volume label{white-space:nowrap}.mf-key{color:var(--muted);font-size:14px;line-height:1.6;margin:12px 0}@media(max-width:420px){body{padding:20px 14px}h2{font-size:20px}.mf-options button{flex-basis:105px}.mf-facts{padding:12px}}\n\n.mf-groups span.is-current{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 -2px 0 var(--accent)}\n\n[hidden]{display:none!important}\n#blind-answers{flex-wrap:wrap}#blind-answers button{flex:1 1 100px;white-space:normal;line-height:1.5;min-width:0;padding:10px}\n","js":"const MODEL = {\"mode\":\"notes\",\"min\":36,\"max\":86,\"blind\":false,\"variants\":[{\"score\":{\"bpm\":100,\"beats\":8,\"events\":[{\"midi\":64,\"hz\":329.627557,\"beat\":0,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":1,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":69,\"hz\":440.0,\"beat\":2,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":3,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":64,\"hz\":329.627557,\"beat\":4,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":5,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":69,\"hz\":440.0,\"beat\":6,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":7,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":36,\"hz\":65.406391,\"beat\":4,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":36,\"hz\":65.406391,\"beat\":6,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":48,\"hz\":130.812783,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":48,\"hz\":130.812783,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":4,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":5,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":6,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":7,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"}]},\"notation\":\"E G A G | E G A G\",\"groups\":[\"A\",\"A\"]},{\"score\":{\"bpm\":100,\"beats\":8,\"events\":[{\"midi\":64,\"hz\":329.627557,\"beat\":0,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":1,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":69,\"hz\":440.0,\"beat\":2,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":3,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":36,\"hz\":65.406391,\"beat\":0,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":36,\"hz\":65.406391,\"beat\":2,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":48,\"hz\":130.812783,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":48,\"hz\":130.812783,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":0,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":1,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":2,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":3,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":64,\"hz\":329.627557,\"beat\":4,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":5,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":69,\"hz\":440.0,\"beat\":6,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":72,\"hz\":523.251131,\"beat\":7,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":36,\"hz\":65.406391,\"beat\":4,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":36,\"hz\":65.406391,\"beat\":6,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":48,\"hz\":130.812783,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":48,\"hz\":130.812783,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":4,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":5,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":6,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":7,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"}]},\"notation\":\"E G A G | E G A C\",\"groups\":[\"A\",\"A′\"]},{\"score\":{\"bpm\":100,\"beats\":8,\"events\":[{\"midi\":64,\"hz\":329.627557,\"beat\":0,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":1,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":69,\"hz\":440.0,\"beat\":2,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":3,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":36,\"hz\":65.406391,\"beat\":0,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":36,\"hz\":65.406391,\"beat\":2,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":48,\"hz\":130.812783,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":0,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":48,\"hz\":130.812783,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":2,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":0,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":1,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":2,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":3,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":72,\"hz\":523.251131,\"beat\":4,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":71,\"hz\":493.883301,\"beat\":5,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":67,\"hz\":391.995436,\"beat\":6,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":62,\"hz\":293.664768,\"beat\":7,\"duration\":0.45,\"gain\":0.85,\"wave\":\"triangle\",\"layer\":\"melody\"},{\"midi\":36,\"hz\":65.406391,\"beat\":4,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":36,\"hz\":65.406391,\"beat\":6,\"duration\":0.7,\"gain\":0.75,\"wave\":\"triangle\",\"layer\":\"bass\"},{\"midi\":48,\"hz\":130.812783,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":4,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":48,\"hz\":130.812783,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":52,\"hz\":164.813778,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":55,\"hz\":195.997718,\"beat\":6,\"duration\":1.1,\"gain\":0.35,\"wave\":\"triangle\",\"layer\":\"chord\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":4,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":5,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":6,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"},{\"midi\":86,\"hz\":1174.659072,\"beat\":7,\"duration\":0.035,\"gain\":0.3,\"wave\":\"sine\",\"layer\":\"pulse\"}]},\"notation\":\"E G A G | C B G D\",\"groups\":[\"A\",\"B\"]}]};\nconst $ = s => document.querySelector(s);\nconst variants = MODEL.variants;\nlet selected = 0;\nlet quizRevealed = !MODEL.blind;\nfunction visibility(){for(const q of ['#facts','#plot','.mf-axis','#groups','#notation','.mf-key'])$(q).toggleAttribute('hidden',!quizRevealed);document.body.dataset.quizRevealed=String(quizRevealed);}\nconst svgNS = 'http://www.w3.org/2000/svg';\nfunction node(tag, attrs = {}) { const el = document.createElementNS(svgNS, tag); for (const [k,v] of Object.entries(attrs)) el.setAttribute(k,v); return el; }\nfunction draw() {\n const v = variants[selected], plot = $('#plot'); plot.replaceChildren();\n $('#facts').textContent = viz.t('fact'+selected);\n $('#duration').textContent = viz.t('clip') + ' ' + (v.score.beats * 60 / v.score.bpm).toFixed(1) + ' ' + viz.t('seconds');\n $('#notation').textContent = v.notation;\n if (MODEL.mode === 'partials') {\n const e=v.score.events[0], p=e.partials;\n $('#envelope-panel').hidden=false;\n const envelope=$('#envelope-plot');envelope.replaceChildren();\n const attack=Math.min(e.attack,e.duration/2),points=[[12,108],[12+516*attack/e.duration,12]];\n for(let i=1;i<=60;i++){const t=attack+(e.duration-attack)*i/60,amplitude=Math.pow(.0001/(.05*e.gain),(t-attack)/(e.duration-attack));points.push([12+516*t/e.duration,108-amplitude*96]);}\n points.push([528,108]);envelope.append(node('polyline',{points:points.map(p=>p.join(',')).join(' '),fill:'none',stroke:'var(--accent)','stroke-width':3}));\n for(let i=0;i<4;i++) {\n plot.append(node('rect',{x:40+i*125,y:160-(p[i]||0)*125,width:58,height:(p[i]||0)*125,fill:'var(--accent)'}));\n const t=node('text',{x:69+i*125,y:185,'text-anchor':'middle',fill:'var(--ink)','font-size':18}); t.textContent=(i+1)+'×';plot.append(t);\n }\n } else {\n const events=v.score.events, min=MODEL.min??Math.min(...events.map(e=>e.midi)), max=MODEL.max??Math.max(...events.map(e=>e.midi));\n for(let i=0;i<=v.score.beats;i++) plot.append(node('line',{x1:12+i/v.score.beats*516,x2:12+i/v.score.beats*516,y1:16,y2:170,stroke:'var(--rule)'}));\n for(const e of events){\n const x=12+e.beat/v.score.beats*516;\n if(MODEL.mode==='pulse') plot.append(node('rect',{x,y:166-e.gain*140,width:Math.max(4,516/v.score.beats*.38),height:e.gain*140,rx:3,fill:'var(--accent)'}));\n else { const y=160-(e.midi-min)/Math.max(1,max-min)*130; plot.append(node('rect',{x,y:y-4,width:Math.max(4,Math.min(528-x,e.duration*v.score.bpm/60/v.score.beats*516)),height:8,rx:3,fill:e.layer==='bass'?'var(--ink)':'var(--accent)',opacity:e.layer==='chord'?'.45':'1'})); }\n }\n }\n if(MODEL.mode!=='partials') plot.append(node('line',{id:'cursor',x1:12,x2:12,y1:10,y2:177,stroke:'var(--ink)','stroke-width':2,visibility:'hidden'}));\n const groups=$('#groups'); groups.replaceChildren();\n for (const label of v.groups || []) {const chip=document.createElement('span');chip.textContent=label;groups.append(chip);}\n if(MODEL.blind)visibility();\n [...$('#variants').children].forEach((b,i)=>b.setAttribute('aria-pressed',String(i===selected)));\n}\nconst player=viz.audio({onState(state){document.body.dataset.audioState=state;$('#play').disabled=state!=='idle';$('#stop').disabled=state==='idle';$('#status').textContent=viz.t(state==='idle'?'idle':state==='starting'?'starting':'playing');},onTick(beat){const fraction=beat<0?0:Math.min(1,beat/variants[selected].score.beats);$('#progress').style.width=(fraction*100)+'%';const cursor=$('#cursor');if(cursor){cursor.setAttribute('x1',12+fraction*516);cursor.setAttribute('x2',12+fraction*516);cursor.setAttribute('visibility',beat<0?'hidden':'visible');}const chips=[...$('#groups').children];chips.forEach((el,i)=>el.classList.toggle('is-current',beat>=0&&i===Math.min(chips.length-1,Math.floor(fraction*chips.length))));},onError(){$('#status').textContent=viz.t('error');}});\nvariants.forEach((v,i)=>{const b=document.createElement('button');b.type='button';b.dataset.variant=i;b.textContent=viz.t('option'+i);b.onclick=()=>{player.stop();selected=i;draw();};$('#variants').append(b);});\n$('#play').onclick=()=>player.play(variants[selected].score);\n$('#stop').onclick=()=>player.stop();\n$('#volume').oninput=e=>player.setVolume(Number(e.target.value)/100);\ndocument.body.dataset.audioState='idle';draw();\n\nif(MODEL.blind){\n const panel=document.createElement('div');panel.className='mf-actions';panel.id='blind-answers';\n const result=document.createElement('p');result.className='mf-facts';result.id='blind-feedback';result.setAttribute('role','status');result.textContent=viz.t('before');\n for(const [key,correct]of [['choose_p',true],['choose_q',false],['reveal',null]]){const b=document.createElement('button');b.type='button';b.textContent=viz.t(key);b.dataset.blindAnswer=key;b.onclick=()=>{player.stop();quizRevealed=true;visibility();result.textContent=(correct===null?'':viz.t(correct?'correct':'wrong')+' ')+viz.t('comparison_correct');};panel.append(b);}\n $('#variants').after(panel,result);\n}\n","audio":true,"strings":{"axis":"Time → · higher marks = higher pitch","choose":"Choose a version","clip":"Clip:","envelope":"Amplitude over time → (1.4 seconds). The curve rises to a peak, then decays. Compare how much time the attack occupies.","error":"Audio could not start. Try again, or use the diagram and written explanation.","fact0":"A remains E G A G. The second half adds bass, chords, and pulse; greater fullness alone does not make it a new tune.","fact1":"E G A G becomes E G A C. Shared opening and rhythm support hearing it as a variation.","fact2":"E G A G becomes C B G D. More pitch relationships change, while rhythm and accompaniment remain fixed.","heading":"What kind of change marks this boundary?","idle":"Choose a version, then play. Editing stops playback; each clip ends automatically.","intro":"Compare two four-beat units. Separate a new layer, a local melodic variation, and a contrasting phrase.","key":"Read left to right. A bar shows a note’s onset and scheduled length. Simultaneous marks are stacked; use the note names and explanation as a text alternative.","option0":"Same tune · more layers","option1":"A → A′ · one edit","option2":"A → B · contrast","play":"Play this version","playing":"Playing. You can stop at any time.","seconds":"seconds","starting":"Preparing audio…","stop":"Stop","volume":"Volume"}}
Listen first to the upper tune and then to the whole sound. The added layers in the first pair make the second half fuller, but the melody repeats exactly. In the A′ pair, the shared E–G–A opening makes the final change easy to locate. In the A–B pair, the new C–B–G–D pattern provides a stronger melodic contrast in our small example.
Calling every louder or denser moment a “chorus” would miss these distinctions. A chorus is a role within a song’s larger organization, often involving recurring music and lyrics. It cannot be identified from volume alone. Some pieces have no verse–chorus organization at all.
Check a new sequence
A passage contains a four-note idea X, then the same idea with a different final note, then a contrasting idea Y, then the original X. Write a letter plan that records the relationship between the first two units. If the last X gains percussion, must its melody receive a new letter?
Read one justified analysis
A–A′–B–A is a useful plan: A′ records the recognizable variation, B the contrast, and the final A the return. You could annotate the last A as “with percussion” while keeping the melody label A. Adding a part does not itself change the melody’s identity.
This answer states the level being tracked. A separate texture plan might mark a change at that final entrance. Good analysis can use more than one layer of description rather than forcing every difference into one string of letters.
Final project: read, hear, and revise eight bars
The following phrase has eight bars. First read bar 1 without playing: four quarter notes, E4–G4–A4–G4, in treble clef and 4/4. Count its four beats, then listen. Select bar 6 and locate the one-note variation on the staff.
Preparing the visual
Final listening project: eight bars
The starting plan is A A B A A A′ B A, at 100 quarter-note beats per minute. C-major accompaniment is fixed; the melody can be isolated. Each selected bar has a readable treble staff.
Listen once to the whole mix, then isolate the melody. Identify the bass and the repeated C-major accompaniment. Track where A returns after B; the initial plan is A A B A A A′ B A. Next replace one bar with a different material. Keep a note of the old version, predict the change, and compare both by restoring and editing again.
Check the reading and explain one possible edit
Bar 6 is A′: E4–G4–A4–C5. Its ending differs from A's G4, while all four durations remain quarter notes. The A4 in A is outside the underlying C–E–G triad; it does not become a wrong note because of that. The bass remains C as the melody changes.
Changing bar 8 from A to B removes the original final return of A. This changes the ending material without changing meter or tempo. Muting the accompaniment instead preserves the melody's plan but changes its texture. State which change you made and point to the notes or layers that support your explanation.
Use the whole series on one recording
Choose a short passage you enjoy. Listen once without analysis. On the second pass, mark approximate boundaries using timestamps or a simple line on paper. Then make a few concrete observations:
Time: Is the pulse steady? Do accents or hit positions change while the tempo stays similar?
Pitch: Does a phrase repeat, transpose, or change one of its internal intervals?
Harmony: Does a repeated melody receive a new bass or chord background? Where does it seem to arrive?
Sound and form: Which parts enter or leave? Is a return exact, varied, or mainly changed in texture?
Do not force every category into a confident answer. Mark what you can hear, what you can check, and what remains uncertain. “The tune returns around 0:40 with the bass added” is more informative than an unsupported form label.
The goal of this series is a repeatable listening practice: notice a difference, identify a musical relationship, test it against the sound, and explain the evidence. You can now return to lesson 1 with a richer set of questions—or continue with more fluent sight-reading, ear training, and longer arrangements.