'); var a = window.open('', '', 'width=700,height=960'); a.document.open("text/html"); a.document.write(html.join("")); a.document.close(); } }var tempo = 99.0,changedpage=0,lb,rb,sco,sco2,pb,pi,bg1,bg2,ic1,ic0,ic2,ic3,ic4,aic0,aic1,aic2,aic3,aic4,l1,l2,pdfadd,ss,styp,sic,pauseon=0,meton=0,speedval=1.0,currpage=1,currpagearryno=1,introbars=1; //no intro 5=4var introdelay=2000,iipage=1,no_pages=1;ss='/school/svg/';var images = new Array();var blankImage = new Image();blankImage.src ="/school/svg/blank3.svg"; var imageCache = {"": blankImage};window.onload = function(){ document.onkeyup = function(event){ var e = (!event) ? window.event : event; var kcode=e.keyCode evenwhen(kcode); };};window.onkeydown = function(event) { var e = (!event) ? window.event : event;var kcode=e.keyCode if (kcode==32){ var elem if (e.srcElement) elem = e.srcElement; else if (e.target) elem = e.target; if (elem.tagName.toLowerCase()=='input' || elem.tagName.toLowerCase()=='textarea') {} else{ if(lb==null){ initiatestuff();playmain(kcode); } else{ callpause2(); } return false; } }};var meton=0,everyplayed2=0,everyplayed=0,carryon=true,play_status=0,totdone,toty,score='piano/beethoven_ode_to_joy';function callpause2(){ var num_listened=readCookie('num_listened') if (num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if (num_listened>3){ overlay();return ; } else{ callpause();} }styp="main";var page_printed=0;var cp4p; const newPButton = document.querySelector(".icon_printer"); newPButton.addEventListener("click", async () => { if (!showTwoPages){var src=document.getElementById('score').src; printdiv(src,0);return;} if (page_printed==0){ cp4p=currpage; if (currpage<10){ cp4p='00'+cp4p; } else if(currpage<100){cp4p='0'+cp4p;} //var printstring=ss+score+cp4p+'.png'; alert('This will print the left hand page. Press print again to print the right hand page. \n\nTo print entire pieces in one go, and for higher quality printing from our PDF files, please subscribe.'); var src=document.getElementById('score').src; src = src.replace(/(\d{2})\.svg$/, '0$1.svg'); src = src.replace(/svg/g, 'png'); page_printed=1; printdiv(src,0); } else {page_printed=0; //var printstring=ss+score+cp4p+'.png'; alert('This will now print the right hand page. Press print again to print the left hand page, or for longer pieces, navigate to next pages and press print again.'); var src=document.getElementById('score2').src; src = src.replace(/(\d{2})\.svg$/, '0$1.svg'); src = src.replace(/svg/g, 'png'); printdiv(src,0) }});function convertToPdfUrl(url) { if (url.includes('/png/')) { url = url.replace('/png/', '/pdf/'); let lastPngIndex = url.lastIndexOf('.png'); if (lastPngIndex !== -1) { url = url.substring(0, lastPngIndex - 3) + url.substring(lastPngIndex); } url = url.replace('.png', '.pdf'); } else if (url.includes('/svg/')) { url = url.replace('/svg/', '/pdf/'); let lastSvgIndex = url.lastIndexOf('.svg'); if (lastSvgIndex !== -1) { url = url.substring(0, lastSvgIndex - 2) + url.substring(lastSvgIndex); } url = url.replace('.svg', '.pdf'); } return url;}function openPDF(){}function doprint() { var isSafari = window.safari !== undefined; if(lb==null){initiatestuff()} alert('N.B. This will print only the current page.\n\nIf this piece has more than one page, you will need to print each page individually. Navigate to other pages using the << and >> buttons.\n\nTo print entire pieces in one go, and for higher quality printing from our PDF files, please subscribe.') var ssrc=sco.src; var src=document.getElementById('score').src; printdiv(src,0)} class ConfirmDialog { constructor({ questionText, trueButtonText, falseButtonText, parent }) { this.questionText = questionText || "Are you sure?"; this.trueButtonText = trueButtonText || "Yes"; this.falseButtonText = falseButtonText || "No"; this.parent = parent || document.body; this.dialog = undefined; this.trueButton = undefined; this.falseButton = undefined; this._createDialog(); this._appendDialog(); } confirm() { return new Promise((resolve, reject) => { const somethingWentWrongUponCreation = !this.dialog || !this.trueButton || !this.falseButton; if (somethingWentWrongUponCreation) { reject('Someting went wrong when creating the modal'); return; } this.dialog.showModal(); this.trueButton.focus(); this.trueButton.addEventListener("click", () => { resolve(true); this._destroy(); }); this.falseButton.addEventListener("click", () => { resolve(false); this._destroy(); }); }); } _createDialog() { this.dialog = document.createElement("dialog"); this.dialog.classList.add("confirm-dialog"); const question = document.createElement("div"); question.textContent = this.questionText; question.classList.add("confirm-dialog-question"); this.dialog.appendChild(question); const buttonGroup = document.createElement("div"); buttonGroup.classList.add("confirm-dialog-button-group"); this.dialog.appendChild(buttonGroup); this.falseButton = document.createElement("button"); this.falseButton.classList.add( "confirm-dialog-button", "confirm-dialog-button--false" ); this.falseButton.type = "button"; this.falseButton.textContent = this.falseButtonText; buttonGroup.appendChild(this.falseButton); this.trueButton = document.createElement("button"); this.trueButton.classList.add( "confirm-dialog-button", "confirm-dialog-button--true" ); this.trueButton.type = "button"; this.trueButton.textContent = this.trueButtonText; buttonGroup.appendChild(this.trueButton); } _appendDialog() { this.parent.appendChild(this.dialog); } _destroy() { this.parent.removeChild(this.dialog); delete this; }} function getCachedImageFromMap (path, map) { let image = map[path]; if (image) return image; image = new Image(); image.src = path; map[path] = image; return image;} var scfile=ss+score+'01.svg'; var scfile2=''; function playalongacc(pltype) { if(ison0) { hideLoopGuide(); } if(lb==null){initiatestuff()} switch (pltype){ case 1: if (ison1==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 2: if (ison2==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 3: if (ison3==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; case 4: if (ison4==0&&document.getElementById('pausebefore').checked==true){ pauseamount=5;updatecountin(); pppa=pauseamount+1; } else{ pauseamount=0;pppa=0;stopplayalongreturntostandardview() } break; } stimer = window.setTimeout( "playalongacc2("+pltype+")", (pppa*1000)); checkIfShouldShowTwoPages(); }var baseUrl = '';function playalongacc2(pltype, keepPlayState, wasOn){ let wasStoped = pauseon || !wasOn; if(typeof bpp !== 'undefined' && typeof ppt !== 'undefined') { temp_IS_HIGHLIGHT_ON=IS_HIGHLIGHT_ON; } else{ temp_IS_HIGHLIGHT_ON=false;l1.style.visibility='hidden'; } var bon=0; stopplayalongreturntostandardview() if (ison1||ison2||ison3||ison4) { playalongstop() btn_transpose.style.visibility='visible'; } else { if (!keepPlayState || !wasStoped) { startTimeframe(DESIRED_FPS); } l1.style.visibility='visible'; btn_transpose.style.visibility='hidden'; } var num_listened=readCookie('num_listened') if(num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if(everyplayed==0){num_listened=p(num_listened)+1;eraseCookie('num_listened');createCookie('num_listened',num_listened,1);everyplayed=1;} if(num_listened>3){overlay();return } var aisp=document.getElementById('aispacer'); switch (pltype){ case 1: if (ison1==0){ bon=1;ison1=1;ison2=0;ison3=0;ison4=0;ison0=0;ic1.src=sic;aud=document.getElementById('demo1'); pico.style.display='inline-block!important';ic2.style.display='none';aic0.style.display='none';aic2.style.display='none'; aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; if(ic3){aic3.style.display='none';ic3.style.display='none';} if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 2: if(ison2==0){bon=1;ison1=0;ison2=1;ison4=0;ison3=0;ison0=0;ic2.src=sic;aud=document.getElementById('demo2'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; if(ic3){aic3.style.display='none';ic3.style.display='none';} if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 3: if(ison3==0){bon=1;ison1=0;ison2=0;ison4=0;ison3=1;ison0=0;ic3.src=sic;aud=document.getElementById('demo3'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible' aic2.style.display='none';ic2.style.display='none'; if(ic4){aic4.style.display='none';ic4.style.display='none';} } break; case 4: if(ison4==0){bon=1;ison1=0;ison2=0;ison3=0;ison4=1;ison0=0;ic4.src=sic;aud=document.getElementById('demo4'); pico.style.display='inline-block!important';ic1.style.display='none';aic0.style.display='none';aic1.style.display='none';aisp.style.display='inline-flex';aisp.style.visibiliy='visible' aic2.style.display='none';ic2.style.display='none'; if(ic3){aic3.style.display='none';ic3.style.display='none';} } break;} aud.addEventListener('timeframe',checkbartimeupdate); if (bon==1) { pb.style.display='flex';pico.style.display='inline-block';document.getElementById('metandtemp').style.visibility='visible'; aud.addEventListener('timeframe', updateProgress, false); aud.addEventListener('ended', audioend); updateplaybackrate(document.getElementById('speed').value) speedval=document.getElementById('speed').value aud.play();aud.currentTime = 0; if(baseUrl==''){baseUrl=ss+score;} checkIfShouldShowTwoPages(); } else { pb.style.display='none';document.getElementById('metandtemp').style.visibiliy='hidden';pico.style.display='none'; ison1=0;ison2=0;ison3=0;ison4=0; } if(keepPlayState) { if (wasStoped) { pauseon=0; callpause(); setTimeout(() => { checkbartimeupdate(); updateProgress(); }, 100) } } } var no_part_pages=1;function stopplayalongreturntostandardview() {if(lb==null){initiatestuff()}l1.style.visibility = 'hidden';ic1.style.display='block';ic2.style.display='block';if(ic3){ic3.style.display='block';}if(ic4){ic4.style.display='block';}ic0.style.display='block';aic1.style.display='inline-block';aic2.style.display='inline-block';if(aic3){aic3.style.display='inline-block';}if(aic4){aic4.style.display='inline-block';}aic0.style.display='inline-block';aisp=document.getElementById('aispacer');aisp.style.display='none';aisp.style.visibility='hidden';pico.src='/imc/pause.png';document.getElementById('icon0').src = '/imc/play.png';document.getElementById('progress').style.width = "0%";ic2.src = '/imc/band.png';currpage=1;document.getElementById('demo0').pause();document.getElementById('demo2').pause(); if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else{ sco.style = {}; sco2.style ={}; }if (!ext_traditional){ lb.classList.add("pagenav_disabled"); if (no_pages>2||!showTwoPages&&no_pages>1){rb.classList.remove("pagenav_disabled");}}} function playalongstop() { resizeStage(); stop=true; l1.style.visibility = 'hidden'; sco.style.top='0'; document.getElementById('mainscore').style.height='100%'; document.getElementById('icon0').src = '/imc/play.png';ic2.src = '/imc/band.png'; document.getElementById('demo0').pause(); document.getElementById('demo2').pause();} function createCookie(name,value,days) {if (days) { var expires="",date=new Date(),midnight=new Date(date.getFullYear(),date.getMonth(),date.getDate(),23,59,59); expires = "; expires=" + midnight.toGMTString(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); }else var expires = "";document.cookie = name+"="+value+expires+"; path=/";var gtxt=''if(3-value>1){gtxt=(3-value)+' free plays';}else if (3-value==1){gtxt=(3-value)+' free play';}else if (3-value<1){gtxt='0 free plays';}else{gtxt='3 free plays';} var pleft=document.getElementById('playleft'); pleft.innerHTML=gtxt+' left today. Subscribe for unlimited plays.'; pleft.style.dispaly='block';pleft.style.visibility='visible';}var pt = []; pt[1] = { e:55, p:1 }; var bt = []; bt[1]={e:34,b:1};bt[2]={e:69,b:2};bt[3]={e:103,b:3};bt[4]={e:137,b:4};bt[5]={e:171,b:5};bt[6]={e:206,b:6};bt[7]={e:240,b:7};bt[8]={e:274,b:8};bt[9]={e:309,b:9};bt[10]={e:343,b:10};bt[11]={e:377,b:11};bt[12]={e:411,b:12};bt[13]={e:446,b:13};bt[14]={e:480,b:14};bt[15]={e:514,b:15};bt[16]={e:549,b:16}; var bp = []; bp[1]={t:185,l:79,w:160,h:95 };bp[2]={t:185,l:239,w:126,h:95 };bp[3]={t:185,l:365,w:126,h:95 };bp[4]={t:185,l:492,w:116,h:95 };bp[5]={t:348,l:52,w:158,h:100 };bp[6]={t:348,l:210,w:136,h:100 };bp[7]={t:348,l:346,w:136,h:100 };bp[8]={t:348,l:483,w:125,h:100 };bp[9]={t:513,l:52,w:150,h:99 };bp[10]={t:513,l:202,w:140,h:99 };bp[11]={t:513,l:341,w:139,h:99 };bp[12]={t:513,l:480,w:127,h:99 };bp[13]={t:685,l:52,w:156,h:100 };bp[14]={t:685,l:208,w:134,h:100 };bp[15]={t:685,l:342,w:134,h:100 };bp[16]={t:685,l:476,w:127,h:100 }; var delaytime=0;var pageBeforeChanging;function changepage1(e) { console.log(currpage) let base; let playTimes; let maxPages; let playingpart; let readytogo; document.getElementById('layer1').style.visibility = 'hidden'; if (lb == null) { initiatestuff(); } if (ison1 ||ison2 ||ison3||ison4) { if(typeof bpp !== 'undefined' && typeof ppt !== 'undefined') { playTimes = ppt; } else { playTimes = pt; } base = baseUrl; maxPages = max_playalong_page; playingpart=true; } else { playingpart=false; playTimes = pt; base = ss+score; maxPages = no_pages; } let mult = showTwoPages ? 2 : 1; if (changedpage==0) { pageBeforeChanging = currpage; changedpage = 1; manual_scroll=1; } if (carryon == 1 && e == 'r' && currpage + mult <= maxPages ) { currpage += mult; var cp; cp = formatPageNumber(currpage,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score", thissc+'_'+curtranspdir+curtransp+cp+'.gif'); } else { switchScore("score", base+cp+'.svg');} if (showTwoPages) { if (currpage + 1 <= maxPages ) { var currpageplus1 = currpage+1; cp2 = formatPageNumber(currpageplus1,playingpart); if (!playingpart&&curtransp!=0){ switchScore("score2", thissc+'_'+curtranspdir+curtransp+cp2+'.gif'); } else { switchScore("score2", base+cp2+'.svg'); } } else { switchScore("score2", ''); score2.style.width='11542px'; } } lb.classList.remove("pagenav_disabled") if (currpage >= maxPages ||(showTwoPages&&currpage+1 >= maxPages)) { rb.classList.add("pagenav_disabled") } } else if ('l' == e && currpage > 1 * mult) { currpage -= mult; var cp; cp = formatPageNumber(currpage,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score", thissc+'_'+curtranspdir+curtransp+cp+'.gif'); } else { switchScore("score", base+cp+'.svg'); } if (showTwoPages) { if (currpage + 1 <= maxPages) { var currpageplus1 = currpage+1; cp2 = formatPageNumber(currpageplus1,playingpart); if (!playingpart&&curtransp!=0) { switchScore("score2", thissc+'_'+curtranspdir+curtransp+cp2+'.gif'); } else { switchScore("score2", base+cp2+'.svg'); } } else { switchScore("score2", ''); score2.style.width='11542px'; } } rb.classList.remove("pagenav_disabled") if (1 == currpage) { lb.classList.add("pagenav_disabled") } }}function formatPageNumber(page, isPlayingPart=false) { if (isPlayingPart || curtransp == 0) { return page < 10 ? '0' + page : page; } else { return page < 10 ? '00' + page : (page < 100 ? '0' + page : page); }}function changepage2(dir) { hideLoopGuide(); changepage1(dir);}function changepage_playalong(dir) { if(lb==null){ initiatestuff(); } document.getElementById('layer1').style.visibility='hidden'; if( ison3==1||ison2==1||ison4==1){ //changing part var ds=sco.src; if(dir=='r') { switchScore('score', bumpStringInt(ds,dir)); } else { switchScore('score', bumpStringInt(ds,dir)); } } else { if (changedpage==0) { pageBeforeChanging = currpage; changedpage = 1; } var cp2 if(carryon==true){ if(dir=='r'&&(currpage<0)) { currpage=currpage+1; if (currpage<10){cp2='00'+(currpage)} else if (currpage<100){cp2='0'+(currpage)} else {cp2=currpage} switchScore("score", baseUrl+cp2+'.svg'); lb.classList.remove("pagenav_disabled"); if (currpage==max_playalong_page||showTwoPages&&(currpage+1 == max_playalong_page)){rb.classList.add("pagenav_disabled");} } else if(dir=='l'&&(currpage>1)) { currpage=currpage-1; if (currpage<10){cp2='00'+(currpage)} else if (currpage<100){cp2='0'+(currpage)} else {cp2=currpage} switchScore("score", baseUrl+cp2+'.svg'); rb.classList.remove("pagenav_disabled"); if (currpage==1){lb.classList.add("pagenav_disabled");} } } }}var pauseamount=0;var pppa=0;var stimer; function playmain(stype){ baseUrl=''; temp_IS_HIGHLIGHT_ON=IS_HIGHLIGHT_ON; manual_scroll=0;if(g){ clearTimeout(g);} if(ison1) { hideLoopGuide(); } if (document.getElementById('pausebefore').checked==true&&ison0 == 0){ pauseamount=5;updatecountin(); pppa=pauseamount+1;} else {pauseamount=0;pppa=0} stimer = window.setTimeout( "playmain2("+stype+")", (pppa*1000)); stopplayalongreturntostandardview() resizeStage();} function playmain2(stype, keepPlayState, wasOn) { partopen=0; let wasStoped = pauseon || !wasOn; if(lb==null){initiatestuff()} if (stype==0){ stopplayalongreturntostandardview() } if (ison0) { playalongstop();changedpage=0; } else { if (!keepPlayState || !wasStoped) { startTimeframe(DESIRED_FPS); } l1.style.visibility='visible'; } var num_listened=readCookie('num_listened') if (num_listened=='undefined'||num_listened=='NaN'){num_listened=0;} if (everyplayed==0){ num_listened=p(num_listened)+1; eraseCookie('num_listened') createCookie('num_listened',num_listened,1) everyplayed=1; } if (num_listened>3){overlay();return ;} if (ison0 == 0) { ison0 = 1;ison1=0 ;ison2=0;ison3=0;ison4=0; document.getElementById('icon0').src = sic; aud=document.getElementById('demo0') pb.style.display='flex'; document.getElementById('metandtemp').style.visibility='visible'; pico.style.display='inline-block'; ic1.style.display='none'; ic2.style.display='none'; aic1.style.display='none'; aic2.style.display='none'; if (ic3){ ic3.style.display='none'; aic3.style.display='none'; } if (ic4){ ic4.style.display='none'; aic4.style.display='none'; } aisp=document.getElementById('aispacer'); aisp.style.display='inline-flex';aisp.style.visibiliy='visible'; checkIfShouldShowTwoPages(); aud.addEventListener('timeframe',function(){ if (aud.currentTime< 55) { if(currpage!=1&&changedpage==0){ currpage=1 switchScore('score', ss+score+'0'+(currpage)+'.svg'); lb.classList.remove("pagenav_disabled"); rb.classList.remove("pagenav_disabled"); if (currpage==no_pages||showTwoPages&&(currpage+1 == no_pages)){rb.classList.add("pagenav_disabled");} } } },false); aud.addEventListener('timeframe',checkbartimeupdate); aud.addEventListener('timeframe', updateProgress, false);aud.addEventListener('ended', audioend); updateplaybackrate(document.getElementById('speed').value) aud.play();aud.currentTime = 0; if (stype==0) { if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else { switchScore('score', scfile); switchScore('score2', scfile2); } currpage=1; if(!ext_traditional){ lb.classList.add("pagenav_disabled"); if(no_pages>1&&!showTwoPages||no_pages>2){rb.classList.remove("pagenav_disabled"); } } } } else { ison0 = 0; pb.style.display='none'; pico.style.display='none'; if(curtransp!=0){ switchScore('score', thissc+'_'+curtranspdir+curtransp+'001.gif'); switchScore('score2', thissc+'_'+curtranspdir+curtransp+'002.gif'); } else { switchScore('score', scfile); switchScore('score2', scfile2); } document.getElementById('metandtemp').style.visibility='hidden'; if (stype==0){ stopplayalongreturntostandardview(); l1.style.visibility='hidden'; stopLoop(); } } if(keepPlayState) { if (wasStoped) { pauseon=0; callpause(); setTimeout(() => { checkbartimeupdate(); updateProgress(); }, 100) } } resizeStage(); }function uptr(nop,currpage){ if(lb==null){initiatestuff();} lb.classList.remove("pagenav_disabled");rb.classList.remove("pagenav_disabled"); if ((currpage==nop)||showTwoPages&&(currpage==nop-1)){rb.classList.add("pagenav_disabled"); } if (currpage==1){lb.classList.add("pagenav_disabled");}}function audioend(){ if(ison0==1){playmain(0)} else if (ison1==1){playalongacc(1)} else if (ison2==1){playalongacc(2)} else if (ison3==1){playalongacc(3)} else if (ison4==1){playalongacc(4)}}var changingpage = false;var oldpage;function checktimeupdate() { let showingPages = 1; if (showTwoPages) { showingPages = 2; if (pt.length % 2 === 0) { pt.push({ e: pt[pt.length - 1].e }); } } let pageI = pt.findIndex((page) => { return (page || {e:0}).e - PAGE_TURNING_TIME>= aud.currentTime; }); if (pageI <= -1) pageI = 1; let curPage = pt[pageI] || {e:0}; if (ison0 == 1 && changedpage == 0) { if (oldpage == null) { oldpage = 0; } else { oldpage = currpage; } // Math to make f(1) -> 1 f(2) -> 1 f(3) -> 3 f(4) -> 3 if showing 2 pages // and f(x) -> x, if showing only 1 page let page = Math.max(1, curPage.p || 1); currpage = Math.ceil(page / showingPages) * showingPages - Math.floor(0.5 * showingPages); if (showingPages === 2) { currpagearryno = pageI - (page % 2 ? 0 : 1); } else { currpagearryno = pageI; } var cp = currpage.toString().padStart(2, "0"); let newSrc; if (curtransp!=0) { cp = currpage.toString().padStart(3, "0"); newSrc = thissc+'_'+curtranspdir+curtransp+cp+'.gif' } else { newSrc = ss+score+cp+'.svg'; } switchScore("score", newSrc); if (showTwoPages && currpage + 1 <= no_pages) { var currpageplus1 = currpage + 1; let cp2 = currpageplus1.toString().padStart(2, "0"); if (curtransp != 0) { cp2 = currpageplus1.toString().padStart(3, "0"); newSrc = thissc + "_" + curtranspdir+curtransp + cp2 + ".gif"; } else { newSrc = ss + score + cp2 + ".svg"; } } else { newSrc = ""; } if ( sco2.src !== sco.src ) { switchScore("score2", newSrc); if(newSrc.length==0 &&curtransp == 0){ score2.style.width='11542px'; } } uptr(no_pages, currpage); }}function checktimeupdateparts() { var delaytime=0; if (showTwoPages) { if (ppt.length % 2 === 0) { ppt.push({ e: ppt[ppt.length - 1].e }); } } let pageI = ppt.findIndex((page) => { return (page || {e:0}).e + p(delaytime/1000) - PAGE_TURNING_TIME >= aud.currentTime; }); if (pageI <= -1) pageI = 1; let curPage = ppt[pageI] || {e:0}; if (ison1 == 1 && changedpage == 0) { if (oldpage == null) { oldpage = 0; } else { oldpage = currpage; } // f(1) -> 1 f(2) -> 1 f(3) -> 3 f(4) -> 3 if showing 2 pages // and f(x) -> x, if showing only 1 page let page = Math.max(1, curPage.p || 1); if (showTwoPages) { currpage = Math.ceil(page / 2) * 2 - 1; currpagearryno = pageI - (page % 2 ? 0 : 1); } else { currpage = page; currpagearryno = pageI; } var cp = currpage.toString().padStart(2, "0"); let newSrc; if (baseUrl !== '') { newSrc = baseUrl + cp + '.svg'; } else { newSrc = ss+score+cp+'.svg'; } switchScore("score", newSrc); if (showTwoPages && currpage + 1 <= no_part_pages) { var currpageplus1 = currpage + 1; var cp2 = currpageplus1.toString().padStart(2, "0"); if (baseUrl !== '') { newSrc = baseUrl + cp2 + '.svg'; } else { newSrc = ss+score+cp2+'.svg'; } } else { newSrc = ''; } if(sco2.src !== sco.src) { switchScore("score2", newSrc); } uptr(max_playalong_page, currpage) }}function isElementInViewport (el) { var rect = el.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /* or $(window).height() */ rect.right <= (window.innerWidth || document.documentElement.clientWidth) /* or $(window).width() */ );}function checkbartimeupdate() { var delaytime=0; var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); var chrome_delay if (isChrome){ chrome_delay=aud.currentTime/500 } else{ chrome_delay=0 } if (ison0==1){delaytime=0;} if (((aud.currentTime+chrome_delay)*1000) Download Score PDF (8notes Premium) Score (LARGE) (all shown in Concert Pitch) Arrangements of this piece also available for: Artist: Ludwig van Beethoven (biography) Born: 15/16 December 1770,Bonn Died: 26 March 1827,Vienna The Artist: One of the greatest and most radical composers of all time. A tormented genius, who went deaf in later life and never heard his final works. His nine symphones are probably his greatest achievement, each one an unrivalved masterpiece, but he also wrote 5 piano concertos, piano sonatas, string quartets and one opera, Fidelio. Composed: 1823 Info: This famous melody comes from the final movement of Beethoven's "Choral" Symphony No.9 in d minor, Op.125. It is a setting for choir and orchestra of the German poet Schiller's 1785 poem An die Freude . The Ode to Joy was adopted as Europe's anthem by the Council of Europe in 1972. The first lines read: Oh friends, no more of these sad tones! Tempo Markings: Allegro Maestoso Score Key: C major (Sounding Pitch) (View more C major Music for Piano ) Tempo Marking: Allegro maestoso (View more music marked Allegro) Time Signature: 4/4 (View more 4/4 Music) Duration: 1:55 Number of Pages: 1 Difficulty: Easy Level: Recommended for Beginners with some playing experience Instrument: (View more Easy Piano Music) Style: Classical(View more Classical Piano Music) Tags: symphony classical 19th century german easy piano joyful music for piano Piano pieces in C major pieces in 4-4 time signature Copyright: © Copyright 2000-2024 Red Balloon Technology Ltd (8notes.com) This piece is included in the following : Info Cello Suite No.1 in G major, BWV 1007 (complete) by J.S.Bach Close X You have reached your limit for today. Individual Subscriptions: Click here for more info on 8notes PREMIUM
Standard Parts
Large Parts
Request Additional Parts Request Large Note Part Request Part with Chords G major Ab major A major Bb major B major C major C# major D major Eb major E major F major F# major Other bespoke requested transpositions: F majorD majorG major Request New Transposition
Request New Version Download MP3 Band Playalong MP3 G major Transposition Ab major Transposition A major Transposition Bb major Transposition B major Transposition C major Transposition C# major Transposition D major Transposition Eb major Transposition E major Transposition F major Transposition F# major Transposition
Let us rather raise our voices together
In more pleasant and joyful tones.
Joy!
You might also like:
Prelude in E minor Op.28 No.4 by Frederic Chopin
Fur Elise by Ludwig van Beethoven
The Entertainer by Scott Joplin
Canon in D by Johann Pachelbel
All of Me by John Legend
Join 8notes PREMIUM for unlimited playback & transpositions
Decoding Beethoven's Ode to Joy