{"id":34609,"date":"2024-12-09T22:18:18","date_gmt":"2024-12-09T22:18:18","guid":{"rendered":"https:\/\/virtualpiano.net\/?page_id=34609"},"modified":"2024-12-14T00:03:17","modified_gmt":"2024-12-14T00:03:17","slug":"online-music-education","status":"publish","type":"page","link":"https:\/\/virtualpiano.net\/online-music-education\/","title":{"rendered":"Online Music Education"},"content":{"rendered":"\n\n<h1>Online<\/h1>\n<h1>Music Education<\/h1>\n<h2>\n\t\tRevolutionise your music learning journey with our interactive course \n\t<\/h2>\n\t<strong>Discover the future of online music education with our innovative piano course. Trusted by over 5,000 schools and teachers worldwide, the Virtual Piano platform has transformed how students engage with music, offering an approach that is both enjoyable and effective. Whether you're an absolute beginner or an aspiring pianist, our step-by-step lessons revolutionise music education by combining interactive learning with cutting-edge tools. So, experience the ultimate in virtual music education, designed to make learning the piano accessible, fun, and rewarding. If you've ever wanted to teach or learn piano online, our comprehensive course provides everything you need. It's more than just a course - it's your pathway to mastering the piano through an enjoyable and immersive learning experience.<br \/>\n<\/strong>\n\t<h3>All Inclusive +<\/h3>\n<p><b>All 10 Levels of Music Education for lifetime + 1 Year Membership<\/b>. This is the most cost effective and complete package. Lifetime access to all course levels, from basics to advanced topics which comes with 1-year premium membership. <\/p>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Online Pianist Profile, New Feature, Online Keyboard, Virtual Piano\" itemprop=\"image\" height=\"800\" width=\"800\" title=\"Online Pianist Profile, New Feature, Online Keyboard, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/08\/Online-Pianist-Profile-New-Feature-Online-Keyboard-Virtual-Piano.jpg\">\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Access to All Levels: Progress through every level seamlessly, from basic notation to complex musical concepts.<\/li>\n<li>Lifetime Learning: Enjoy unlimited access to exams and course content, ensuring continuous growth.<\/li>\n<li>1-Year Premium Membership: Get all the additional benefits of Virtual Piano's premium membership for one year.<\/li>\n<\/ul>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"The Difference Between Virtual Piano and a Traditional Piano, Lesson 1.2, Virtual Piano\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"The Difference Between Virtual Piano and a Traditional Piano, Lesson 1.2, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/The-Difference-Between-Virtual-Piano-and-a-Traditional-Piano-Lesson-1.2-Virtual-Piano.jpg\">\n\t<h3>Level 1<\/h3>\n<p><b>Introduction to Music Notation and The Virtual Piano (Completely Free!).<\/b> Start your journey with our complimentary Level 1 course, designed to introduce you to music fundamentals and the Virtual Piano platform.<\/p>\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p>Start your journey with our complimentary Level 1 course, designed to introduce you to music fundamentals and the Virtual Piano platform.<\/p>\n<p><strong>What You'll Learn:<\/strong><\/p>\n<ul>\n<li>Explore the basics of music notation.<\/li>\n<li>Understand the musical alphabet and staff notation.<\/li>\n<li>Learn how to use Virtual Piano effectively for practice.<\/li>\n<\/ul>\n<p><strong>Why It's Free:<\/strong><\/p>\n<p>We believe that everyone deserves the chance to begin their musical journey risk-free. Level 1 is your opportunity to experience the power of online learning with no commitment.<\/p>\n\t<h3>Level 2 - 5<\/h3>\n<p>Sign up to <b>Virtual Piano Plus<\/b> which now comes with Music Education Levels 2, 3, 4 and 5 included. You'll have priority access to a faster engine, additional features and a richer experience.<\/p>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Virtual Piano Plus Membership benefits\" itemprop=\"image\" height=\"430\" width=\"600\" title=\"Virtual Piano Plus Membership benefits\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/Virtual-Piano-Plus-Membership-benefits.jpg\">\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p>Take your learning to the next level with Levels 2-5, accessible with a membership. These levels provide structured lessons that build on your foundation and help you develop essential piano-playing skills.<\/p>\n<p><strong>Why Get The Membership?<\/strong><\/p>\n<ul>\n<li>Gain unlimited access to Levels 2-5 (Level 1 is free for all).<\/li>\n<li>Learn advanced techniques like rhythm and chord progressions.<\/li>\n<li>Progress at your own pace with guided practice tools.<\/li>\n<\/ul>\n<p>Membership opens the door to transformative learning without limits. Start today and continue growing with every lesson.<\/p>\n\t<h3>Level 6<\/h3>\n<p><b>Intervals and Scales<\/b>. Learn intervals, explore scales, and develop pitch skills through engaging exercises. <\/p>\n\t<h3>$65 USD \/ Lifetime<\/h3>\n<p>Requires VP Plus Membership<\/p>\n<div onClick=\"ihcBuyNewLevel('https:\/\/virtualpiano.net\/register\/?lid=9');\" class=\"ihc-level-item-link  ihc-cursor-pointer\">\n<button title=\"Get Music Education Level 6\">Buy Level 6<\/button>\n<\/div>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"level 6\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"level 6\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-6.jpg\">\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Understanding Musical Intervals<\/li>\n<li>Major &amp; Minor Scale Mastery<\/li>\n<li>Scale Degrees in Music<\/li>\n<li>Playing Scales on Virtual Piano<\/li>\n<li>Exploring Octaves and Keys<\/li>\n<li>Developing Relative Pitch Skills<\/li>\n<\/ul>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Mastering VP Key Signatures &amp; Circle of fifths, Level 7, Virtual Piano\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"Mastering VP  Key Signatures &amp; Circle of fifths, Level 7, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano.jpg\">\n\t<h3>Level 7<\/h3>\n<p><b>Mastering VP | Key Signatures & Circle of Fifths<\/b>. Master key signatures, explore the circle of fifths, and learn modes and scales with practical Virtual Piano exercises.<\/p>\n\t<h3>$65 USD \/ Lifetime<\/h3>\n<p>Requires VP Plus Membership<\/p>\n<div onClick=\"ihcBuyNewLevel('https:\/\/virtualpiano.net\/register\/?lid=10');\" class=\"ihc-level-item-link  ihc-cursor-pointer\">\n<button title=\"Get Music Education Level 7\">Buy Level 7<\/button>\n<\/div>\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Mastering Finger Positions<\/li>\n<li>Understanding Key Signatures<\/li>\n<li>Exploring Musical Modes<\/li>\n<li>Learning Pentatonic Scales<\/li>\n<li>Applying the Circle of Fifths<\/li>\n<\/ul>\n\t<h3>Level 8<\/h3>\n<p><b>Introduction to Chords and Harmony<\/b>. Learn chords, progressions, and harmony while mastering arpeggios and creating beautiful melodies.<\/p>\n\t<h3>$65 USD \/ Lifetime<\/h3>\n<p>Requires VP Plus Membership<\/p>\n<div onClick=\"ihcBuyNewLevel('https:\/\/virtualpiano.net\/register\/?lid=11');\" class=\"ihc-level-item-link  ihc-cursor-pointer\">\n<button title=\"Get Music Education Level 8\">Buy Level 8<\/button>\n<\/div>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Introduction To Chords And Harmony, Level 8, Virtual Piano\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"Introduction To Chords And Harmony, Level 8, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8.jpg\">\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Understanding Basic Chord Structures<\/li>\n<li>Mastering Chord Progressions<\/li>\n<li>Learning Seventh and Complex Chords<\/li>\n<li>Playing Arpeggios and Broken Chords<\/li>\n<li>Harmonizing with Two and Three Notes<\/li>\n<\/ul>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Musical Expression And Dynamics, Level 9, Virtual Piano\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"Musical Expression And Dynamics, Level 9, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano.jpg\">\n\t<h3>Level 9<\/h3>\n<p><b>Musical Expression and Dynamics<\/b>. Discover dynamics, tempo, and techniques to bring emotion and impact to your music.<\/p>\n\t<h3>$65 USD \/ Lifetime<\/h3>\n<p>Requires VP Plus Membership<\/p>\n<div onClick=\"ihcBuyNewLevel('https:\/\/virtualpiano.net\/register\/?lid=12');\" class=\"ihc-level-item-link  ihc-cursor-pointer\">\n<button title=\"Get Music Education Level 9\">Buy Level 9<\/button>\n<\/div>\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Dynamics and Volume Control<\/li>\n<li>Crescendo and Decrescendo Techniques<\/li>\n<li>Understanding Tempo<\/li>\n<li>Using Tied Notes for Extended Sound<\/li>\n<li>Recognising Important Musical Symbols<\/li>\n<li>Playing Complex Four-Note Chords<\/li>\n<li>Exploring Virtual Instruments<\/li>\n<\/ul>\n\t<h3>Level 10<\/h3>\n<p><b>Complex Musical Concepts, Double Flats, and Transposing<\/b>. Master advanced techniques like double flats, double sharps, and transposing music seamlessly.<\/p>\n\t<h3>$65 USD \/ Lifetime<\/h3>\n<p>Requires VP Plus Membership<\/p>\n<div onClick=\"ihcBuyNewLevel('https:\/\/virtualpiano.net\/register\/?lid=13');\" class=\"ihc-level-item-link  ihc-cursor-pointer\">\n<button title=\"Get Music Education Level 10\">Buy Level 10<\/button>\n<\/div>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"level 10\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"level 10\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-10.jpg\">\n\t\t\t\t\t<a href=\"#\" id=\"fl-accordion--label-0\" tabindex=\"0\" aria-controls=\"fl-accordion--panel-0\">MORE<\/a>\n\t\t\t\t\t<p><em><strong>Key Features:<\/strong><\/em><\/p>\n<ul>\n<li>Mastering Double Flats and Double Sharps<\/li>\n<li>Understanding Transposition for Different Keys<\/li>\n<li>Applying Transposition Techniques on Virtual Piano<\/li>\n<\/ul>\n\t<h3>Music EducationPurchase Options<\/h3>\n<li><b>Individual Levels<\/b>: Perfect for those who want to try specific levels without commitment to the full course. Each level focuses on a key area of piano music and comes with its own learnings.<\/li>\n<li><b>All-Inclusive Bundle<\/b>: Save more and gain access to all Levels 1-10 at once, offering a seamless path to learning the piano online.<\/li>\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Level 6 Quizzes, Virtual Piano\" itemprop=\"image\" height=\"1024\" width=\"1024\" title=\"Level 6 Quizzes, Virtual Piano\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Level-6-Quizzes-Virtual-Piano.jpg\">\n\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Virtual Music Instruments selection\" itemprop=\"image\" height=\"482\" width=\"800\" title=\"Virtual Music Instruments selection\" onerror=\"this.style.display=&#039;none&#039;\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/06\/Virtual-Music-Instruments-selection.png\">\n\t<h3>Benefits OfOnline Music Education<\/h3>\n<li>Engage in lessons that include interactive questions after each session, reinforcing your learning as you progress. <\/li>\n<li>Receive personalized grades after each lesson to track your performance and growth as a musician.<\/li>\n<li>Test your knowledge with comprehensive questions after each level, ensuring you're ready for the next challenge.<\/li>\n<li>Learn from lessons designed by world-class music teachers, bringing you expert guidance at every step.<\/li>\n\t<div class=\"progress-container\">\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-unlock-ihc\"><\/i>LEVEL 1<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-unlock-ihc\"><\/i>LEVEL 2<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-unlock-ihc\"><\/i>LEVEL 3<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-unlock-ihc\"><\/i>LEVEL 4<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-unlock-ihc\"><\/i>LEVEL 5<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-locker-ihc\"><\/i>LEVEL 6<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-locker-ihc\"><\/i>LEVEL 7<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-locker-ihc\"><\/i>LEVEL 8<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-locker-ihc\"><\/i>LEVEL 9<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                  <div class=\"progress-item\">\n                    <div class=\"progress-label\"><i class=\"fa-ihc fa-locker-ihc\"><\/i>LEVEL 10<\/div>\n                    <div class=\"progress-segment\"><\/div>\n                    <div class=\"status-label\"><\/div>\n                  <\/div>\n                <\/div><script>\n    window.addEventListener('DOMContentLoaded', () => {\n        let progressItems = document.getElementsByClassName('progress-item');\n        let levels = document.querySelectorAll('li.course');\n        function updateProgressBar(i, totalLessons, completedLessons) {\n            let progressFragment = progressItems[i].getElementsByClassName('progress-segment')[0];\n            let allNotStarted = true;\n    \n            let segmentWidth = progressFragment.clientWidth;\n            let totalGapWidth = 2 * (totalLessons - 1);\n            let lessonBarWidth = Math.floor((segmentWidth - totalGapWidth) \/ totalLessons);\n    \n            while (progressFragment.firstChild) {\n                progressFragment.removeChild(progressFragment.firstChild);\n            }\n    \n            for (let j = 0; j < totalLessons; j++) {\n                let lessonBar = document.createElement('div');\n                lessonBar.classList.add('lesson-bar');\n                lessonBar.style.width = lessonBarWidth + 'px';\n                if (j < completedLessons) {\n                    lessonBar.classList.add('completed');\n                    allNotStarted = false;\n                } else if (j === completedLessons && completedLessons !== 0) {\n                    lessonBar.classList.add('active');\n                    allNotStarted = false;\n                } else {\n                    lessonBar.classList.add('not-started');\n                }\n    \n                progressFragment.appendChild(lessonBar);\n            }\n    \n            let label = progressItems[i].getElementsByClassName('progress-label')[0];\n            let statusLabel = progressItems[i].getElementsByClassName('status-label')[0];\n    \n            if (!label.classList.contains('locked')) { \/\/ Prevent overriding locked labels\n                if (completedLessons === totalLessons) {\n                    label.classList.add('completed');\n                    statusLabel.classList.add('completed');\n                    statusLabel.textContent = 'complete';\n                } else if (allNotStarted) {\n                    label.classList.add('not-started');\n                    statusLabel.classList.add('not-started');\n                    statusLabel.textContent = 'available';\n                } else {\n                    label.classList.add('active');\n                    statusLabel.classList.add('active');\n                    statusLabel.textContent = 'in progress';\n                }\n            }\n        }\n        \n        function recalculateAllProgressBars() {\n        for (let i = 0; i < levels.length; i++) {\n            let lessonProgress = levels[i].getElementsByClassName('course-lesson-progress');\n            let lessonCount = levels[i].getElementsByClassName('course-lesson-count');\n            let totalLessons = 0;\n            let completedLessons = 0;\n\n            if (lessonProgress.length > 0) {\n                let progressText = lessonProgress[0].textContent || lessonProgress[0].innerHTML;\n                let progressParts = progressText.split(' ');\n                let progressValue = progressParts.slice(0, 3).join(' ');\n\n                if (progressValue.includes('of')) {\n                    let [x, , y] = progressValue.split(' ');\n                    totalLessons = parseInt(y, 10);\n                    completedLessons = parseInt(x, 10);\n                }\n            } else if (lessonCount.length > 0) {\n                let countText = lessonCount[0].textContent || lessonCount[0].innerHTML;\n                let countParts = countText.split(' ');\n                if (countParts.length > 0) {\n                    totalLessons = parseInt(countParts[0], 10);\n                    completedLessons = 0;\n                }\n            }\n\n            \/\/ Update the progress bar without overriding locked state\n            updateProgressBar(i, totalLessons, completedLessons);\n        }\n    }\n\n        const courses = document.querySelectorAll('.entry');\n        const courseUrls = Array.from(courses).map(course => {\n            const courseTitleElement = course.querySelector('.course-title a');\n            return courseTitleElement ? courseTitleElement.href : '#';\n        });\n\n        for (let i = 0; i < levels.length; i++) {\n            let lessonProgress = levels[i].getElementsByClassName('course-lesson-progress');\n            let lessonCount = levels[i].getElementsByClassName('course-lesson-count');\n            let totalLessons = 0;\n            let completedLessons = 0;\n\n            if (lessonProgress.length > 0) {\n                let progressText = lessonProgress[0].textContent || lessonProgress[0].innerHTML;\n                let progressParts = progressText.split(' ');\n                let progressValue = progressParts.slice(0, 3).join(' ');\n\n                if (progressValue.includes('of')) {\n                    let [x, , y] = progressValue.split(' ');\n                    totalLessons = parseInt(y, 10);\n                    completedLessons = parseInt(x, 10);\n                }\n            } else if (lessonCount.length > 0) {\n                let countText = lessonCount[0].textContent || lessonCount[0].innerHTML;\n                let countParts = countText.split(' ');\n                if (countParts.length > 0) {\n                    totalLessons = parseInt(countParts[0], 10);\n                    completedLessons = 0;\n                }\n            }\n\n            updateProgressBar(i, totalLessons, completedLessons);\n\n            const label = progressItems[i].getElementsByClassName('progress-label')[0];\n            if (label) {\n                const levelUrl = courseUrls[i] || '#';\n                const labelText = label.textContent.trim();\n                const icon = label.querySelector('i');\n\n                const anchor = document.createElement('a');\n                anchor.href = levelUrl;\n                anchor.className = label.className;\n\n                if (icon) {\n                    anchor.appendChild(icon.cloneNode(true));\n                }\n                anchor.appendChild(document.createTextNode(labelText));\n\n                label.replaceWith(anchor);\n            }\n\n            if (i >= 1 && i <= 4) { \/\/ Levels 2-5\n                if (typeof user_meta !== 'undefined' && user_meta.user_meta && current_user['current_user'].roles != 'guest_student') {\n                    progressItems[i].getElementsByClassName('progress-segment')[0].classList.add('unlock');\n                } else {\n                    let label = progressItems[i].getElementsByClassName('progress-label')[0];\n                    let icon = label.querySelector('i');\n                    progressItems[i].getElementsByClassName('progress-segment')[0].classList.add('locked');\n                    label.className = 'progress-label locked';\n                    label.href = '\/online-music-education\/#level_plus';\n                    if (icon && icon.classList.contains('fa-unlock-ihc')) {\n                            icon.classList.remove('fa-unlock-ihc');\n                            icon.classList.add('fa-locker-ihc');\n                        }\n                    const statusLabel = progressItems[i].getElementsByClassName('status-label')[0];\n                    statusLabel.className = 'status-label locked';\n                    statusLabel.innerHTML = '<a href=\"\/online-music-education\/#level_plus\"><i class=\"fa-ihc fa-purchase-vp\"><\/i> purchase<\/a>';\n                }\n            }\n\n            if (i >= 5 && i <= 9) { \/\/ Levels 6-10\n                checkUserRole().then(userRoleCheck => {\n                    let label = progressItems[i].getElementsByClassName('progress-label')[0];\n                    let icon = label.querySelector('i');\n                    let statusLabel = progressItems[i].getElementsByClassName('status-label')[0];\n\n                    let hasAccess = userRoleCheck && (userRoleCheck.includes('8') || userRoleCheck.includes('14') || userRoleCheck.includes((i + 4).toString()));\n\n                    if (hasAccess) {\n                        progressItems[i].getElementsByClassName('progress-segment')[0].classList.add('unlock');\n                        if (icon && icon.classList.contains('fa-locker-ihc')) {\n                            icon.classList.remove('fa-locker-ihc');\n                            icon.classList.add('fa-unlock-ihc');\n                        }\n                    } else {\n                        progressItems[i].getElementsByClassName('progress-segment')[0].classList.add('locked');\n                        label.className = 'progress-label locked';\n                        let val = i + 1;\n                        label.href = '\/online-music-education\/#level_' + val;\n                        statusLabel.className = 'status-label locked';\n                        statusLabel.innerHTML = '<a href=\"\/online-music-education\/#level_' + val + '\"><i class=\"fa-ihc fa-purchase-vp\"><\/i> purchase<\/a>';\n                        if (icon && icon.classList.contains('fa-unlock-ihc')) {\n                            icon.classList.remove('fa-unlock-ihc');\n                            icon.classList.add('fa-locker-ihc');\n                        }\n                    }\n                }).catch(error => {\n                    console.log('Error checking user role: ', error);\n                });\n            }\n        }\n\n        function checkUserRole() {\n            return new Promise((resolve, reject) => {\n                $.ajax({\n                    url: '\/wp-admin\/admin-ajax.php',\n                    type: 'POST',\n                    dataType: 'json',\n                    data: {\n                        action: 'check_user_role'\n                    },\n                    success: function(response) {\n                        if (response.success) {\n                            resolve(response.data);\n                        } else {\n                            console.log('Error: ' + response.data);\n                            resolve(false);\n                        }\n                    },\n                    error: function() {\n                        console.log('An error occurred while checking the role.');\n                        resolve(false);\n                    }\n                });\n            });\n        }\n        \n        window.addEventListener('resize', () => {\n            recalculateAllProgressBars();\n        });\n    });\n<\/script><style>\n        .progress-container {\n          display: flex;\n          flex-wrap: wrap;\n          height: auto;\n          width: 100%;\n          justify-content: space-between;\n          font-weight:600;\n        }\n        \n        .progress-label:hover{\n            color:#ff8300 !important;\n            text-decoration:underline;\n            transition: .3s ease-in;\n        }\n        \n        .progress-label.locked:hover{\n            color:black !important;\n            text-decoration:underline;\n            transition: .3s ease-in;\n        }\n        \n        \n        .progress-item {\n          display: flex;\n          flex-direction: column;\n          align-items: center;\n          width: 9%;\n          margin-bottom: 20px;\n        }\n        \n        .progress-segment {\n          display: flex;\n          height: 25px;\n          width: 100%;\n          gap: 2px;\n          justify-content: center;\n        }\n        \n        .progress-segment .lesson-bar {\n          flex-shrink: 0;\n        }\n        \n        .progress-segment .lesson-bar.completed {\n          background-color: #2FAA53;\n        }\n        \n        .progress-segment .lesson-bar.active {\n          background-color: #FF8300;\n        }\n        \n        .progress-segment .lesson-bar.not-started {\n          background-color: #4C3E91;\n        }\n        \n        .progress-segment.locked .lesson-bar {\n          background-color: #b8b8bf;\n        }\n        \n        .progress-label {\n          font-size: 12px;\n          margin-bottom: 2px;\n        }\n        \n        .progress-label i{\n        \tmargin-right: 4px;\n        }\n        \n        .progress-label.completed, .progress-label.completed i::before, .status-label.completed {\n          color: #2FAA53;\n        }\n        \n        .progress-label.active, .progress-label.active i::before, .status-label.active {\n          color: black;\n          white-space: nowrap;\n        }\n        \n        .progress-label.not-started, .progress-label.not-started i::before, .status-label.not-started {\n          color: #4C3E91;\n        }\n        \n        .progress-label.locked, .progress-label.locked i::before, .status-label.locked, .status-label.locked a{\n          color: #ff8300;\n          transition: color .1s ease-in-out,background-color .1s ease-in-out;\n        }\n        \n        .status-label.locked a:hover .fa-purchase-vp::before, .status-label.locked a:hover {\n            transition: color .1s ease-in-out,background-color .1s ease-in-out;\n        \tcolor: #ff8300!important;\n        \ttext-decoration: underline;\n        }\n        \n        .status-label{\n        \tmargin-top:5px;\n        \tfont-size:10px;\n        \ttext-transform: uppercase;\n        }\n        \n        .fa-purchase-vp::before {\n          \tcontent: '\f291';\n        \tcolor: #ff8300!important;\n        \ttransition: color .1s ease-in-out,background-color .1s ease-in-out;\n        }\n        @media(max-width: 1200px){\n            .single-lesson .progress-item, .single-quiz .progress-item {\n        \t\twidth: 18%;\n        \t}\n        \t\n        \t.single-lesson .progress-segment, .single-quiz.progress-segment {\n        \t\theight: 20px;\n        \t}\n        \t.single-lesson .progress-container, .single-quiz .progress-container {\n        \t\theight: auto;\n        \t}\n        \t\n        }\n        @media (max-width: 900px) {\n        \t.progress-item {\n        \t\twidth: 18%;\n        \t}\n        \t.progress-segment {\n        \t\theight: 20px;\n        \t}\n        \t.progress-container {\n        \t\theight: auto;\n        \t}\n        }\n        @media (max-width: 580px) {\n        \t.progress-item {\n        \t\twidth: 30%;\n        \t}\n        \t.single-lesson .progress-item, .single-quiz .progress-item  {\n        \t\twidth: 30%;\n        \t}\n        }\n\n    <\/style>\n\n<ul class=\"songs-list columns-1\" >\n\n\t\n\t\n<li class=\"loop-item-number-1 post-30195 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-1-introduction-to-virtual-physical-piano\/\">LEVEL 1: Introduction to Music Notation and The Virtual Piano<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">7 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-1-introduction-to-virtual-physical-piano\/\" title=\"LEVEL 1: Introduction to Music Notation and The Virtual Piano\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Introduction to Music Notation and The Virtual Piano, Level 1, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/02\/Introduction-to-Music-Notation-and-The-Virtual-Piano-Level-1-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 1, we will introduce you to the basics of music notation and familiarize you with the Virtual Piano platform. This level is designed to provide you with a solid foundation in understanding how to read and interpret music, as well as how to navigate and use the Virtual Piano for your musical journey.\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-2 post-30604 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-2-getting-started-with-vp\/\">LEVEL 2: Getting Started With VP<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">11 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-2-getting-started-with-vp\/\" title=\"LEVEL 2: Getting Started With VP\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Getting Started With Virtual Piano Staffs and Clefs, Level 2, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/04\/Getting-Started-With-Virtual-Piano-Staffs-and-Clefs-Level-2-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tDive into Level 2: Mastering Staffs and Clefs on Virtual Piano. This level enriches your music reading skills and understanding of Virtual Piano's interface. Learn to navigate staffs, clefs, and customize settings for a tailored playing experience. Perfect for enhancing your musical journey.\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-3 post-30748 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-3-understanding-pitch-steps-and-accidentals\/\">LEVEL 3: Understanding Pitch, Steps, and Accidentals<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">5 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-3-understanding-pitch-steps-and-accidentals\/\" title=\"LEVEL 3: Understanding Pitch, Steps, and Accidentals\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Understanding Pitch, Steps, and Accidentals, Level 3, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Understanding-Pitch-Steps-and-Accidentals-Level-3-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 3, you will deepen your understanding of pitch, steps, and accidentals. You'll learn the piano keyboard layout, the difference between whole and half steps, and how accidentals alter the pitch of notes. By the end of this level, you'll be able to navigate the piano with confidence and understand how to play sharps, ... <a title=\"LEVEL 3: Understanding Pitch, Steps, and Accidentals\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-3-understanding-pitch-steps-and-accidentals\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-4 post-30827 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-4-expanding-the-keyboard-horizon\/\">LEVEL 4: Expanding The Keyboard Horizon<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">10 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-4-expanding-the-keyboard-horizon\/\" title=\"LEVEL 4: Expanding The Keyboard Horizon\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Expanding The Keyboard Horizon, Level 4, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/05\/Expanding-The-Keyboard-Horizon-Level-4-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 4, we are expanding the keyboard horizon by exploring the full range of the Virtual Piano keyboard. Building on what we've learned in the last three levels, this level focuses on each keyboard line: You will learn correct hand positioning and how to play songs using these specific keys. By the end of ... <a title=\"LEVEL 4: Expanding The Keyboard Horizon\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-4-expanding-the-keyboard-horizon\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-5 post-30894 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-5-music-notation-and-rhythm\/\">LEVEL 5: Music Notation And Rhythm<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">4 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-5-music-notation-and-rhythm\/\" title=\"LEVEL 5: Music Notation And Rhythm\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Music Notation And Rhythm, Level 5, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Music-Notation-And-Rhythm-Level-5-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 5, we explore the fundamental concepts of music notation and rhythm. Music notation is a system of symbols used to represent musical pitches, rhythms, and other elements of a piece of music. Sheet music provides a visual representation of the music that can be read and played by musicians. Some basic elements of ... <a title=\"LEVEL 5: Music Notation And Rhythm\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-5-music-notation-and-rhythm\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-6 post-30950 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-6-intervals-and-scales\/\">LEVEL 6: Intervals and Scales<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">7 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-6-intervals-and-scales\/\" title=\"LEVEL 6: Intervals and Scales\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Intervals and Scales, Level 6, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Intervals-and-Scales-Level-6-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 6, we delve into the fascinating world of intervals and scales. Intervals are the gaps between two notes, and scales are sequences of notes arranged in ascending or descending order. Understanding these concepts is fundamental for developing musical fluency. You will learn how to identify and play various intervals and scales, both major ... <a title=\"LEVEL 6: Intervals and Scales\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-6-intervals-and-scales\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-7 post-31001 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-7-mastering-vp-key-signatures-circle-of-fifths\/\">LEVEL 7: Mastering VP | Key Signatures &amp; Circle of fifths<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">7 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-7-mastering-vp-key-signatures-circle-of-fifths\/\" title=\"LEVEL 7: Mastering VP | Key Signatures &amp; Circle of fifths\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Mastering VP Key Signatures &amp; Circle of fifths, Level 7, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Mastering-VP-Key-Signatures-Circle-of-fifths-Level-7-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 7, we delve into the intricate world of key signatures and the Circle of Fifths, essential tools for understanding and mastering music theory. You'll learn to identify key signatures and understand their significance, explore different modes and pentatonic scales, and practice using these concepts on the Virtual Piano. This level also includes practical ... <a title=\"LEVEL 7: Mastering VP | Key Signatures &amp; Circle of fifths\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-7-mastering-vp-key-signatures-circle-of-fifths\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-8 post-31051 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-8-introduction-to-chords-and-harmony\/\">LEVEL 8: Introduction To Chords And Harmony<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">8 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-8-introduction-to-chords-and-harmony\/\" title=\"LEVEL 8: Introduction To Chords And Harmony\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Introduction To Chords And Harmony, Level 8, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/07\/level-8.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 8, we dive deep into the world of chords and harmony, crucial elements in music that bring richness and depth to your playing. You'll learn about basic chord structures, how to play chords on the Virtual Piano, understand chord progressions, explore complex chords, and practice arpeggios and broken chords. By mastering these concepts, ... <a title=\"LEVEL 8: Introduction To Chords And Harmony\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-8-introduction-to-chords-and-harmony\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-9 post-31108 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-9-musical-expression-and-dynamics\/\">LEVEL 9: Musical Expression And Dynamics<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">9 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-9-musical-expression-and-dynamics\/\" title=\"LEVEL 9: Musical Expression And Dynamics\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Musical Expression And Dynamics, Level 9, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Musical-Expression-And-Dynamics-Level-9-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 9, we explore the nuanced world of musical expression and dynamics. You will learn how to interpret and apply dynamic markings, understand the importance of tempo, and master techniques for controlling dynamics on various instruments. This level also covers essential musical symbols and the techniques for playing multiple notes together, enhancing your ability ... <a title=\"LEVEL 9: Musical Expression And Dynamics\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-9-musical-expression-and-dynamics\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n<li class=\"loop-item-number-10 post-31175 course type-course status-publish has-post-thumbnail hentry post\" style=\"display:none\" >\n\n\t\n\t<section class=\"course-content\">\n\n\t\t<section class=\"entry\" style=\"display:none\">\n\n\t\t\t<h3 class=\"course-title\"><a href=\"https:\/\/virtualpiano.net\/course\/level-10-complex-musical-concepts-double-flats-and-transposing\/\">LEVEL 10: Complex Musical Concepts, Double Flats, and Transposing<\/a><\/h3><div class=\"sensei-course-meta\"><span class=\"course-lesson-count\">4 Lessons<\/span><\/div><a href=\"https:\/\/virtualpiano.net\/course\/level-10-complex-musical-concepts-double-flats-and-transposing\/\" title=\"LEVEL 10: Complex Musical Concepts, Double Flats, and Transposing\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"woo-image thumbnail alignleft wp-post-image lazyload\" alt=\"Complex Musical Concepts, Double Flats, and Transposing, Level 10, Virtual Piano\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano-300x300.jpg\" data-srcset=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano-300x300.jpg 300w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano-150x150.jpg 150w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano-768x768.jpg 768w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano-100x100.jpg 100w, https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/06\/Complex-Musical-Concepts-Double-Flats-and-Transposing-Level-10-Virtual-Piano.jpg 1024w\"><\/a>\n\t\t\t\n\t\t\t<p class=\"course-excerpt\">\n\n\t\t\t\tIn Level 10, we delve deeper into advanced musical concepts including double flats and double sharps, and the process of transposing music. These concepts help in maintaining correct harmonic structures and adapting pieces to different keys, enhancing your musical versatility. In Level 3, we learned about whole and half steps, and how accidentals like flats ... <a title=\"LEVEL 10: Complex Musical Concepts, Double Flats, and Transposing\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-10-complex-musical-concepts-double-flats-and-transposing\/\">Read more<\/a>\n\t\t\t<\/p>\n\n\t\t\t\n\t\t\t\n\t\t<\/section> <!-- section .entry -->\n\n\t<\/section> <!-- section .course-content -->\n\n\t\n\n<\/li>\n\n\t\n<\/ul>\n\n\n<script>\n                    window.addEventListener('DOMContentLoaded', () => {\n    \t            let core = document.querySelectorAll('.songs-list .type-course');\n    \t            if(core) {\n    \t                core.forEach(element => {\n                          element.style.display = 'list-item';\n                        });\n    \t                \n    \t            };\n                     \/\/ modiy dom of the levels to build music sheet like cards\n                    const courses = document.querySelectorAll('.entry');\n                    let bannerAdded = false;\n                    \n                    courses.forEach(course => {\n                      \/\/ Get course image, title, URL, lesson count, and progress\n                      const img = course.querySelector('img');\n                      const courseTitleElement = course.querySelector('.course-title a');\n                      let courseTitle = courseTitleElement ? courseTitleElement.textContent : '';\n                      const courseUrl = courseTitleElement ? courseTitleElement.href : '#';\n                      const lessonCountElement = course.querySelector('.course-lesson-count');\n                      const lessonCount = lessonCountElement ? lessonCountElement.textContent : '';\n                      const courseProgressElement = course.querySelector('.course-lesson-progress');\n                      const courseProgress = courseProgressElement ? courseProgressElement.textContent : '';\n                      const courseExcerptElement = course.querySelector('.course-excerpt');\n                      const courseExcerptText = courseExcerptElement ? courseExcerptElement.textContent : '';\n                    \n                      \/\/ Extract and remove 'LEVEL x:' from title\n                      const levelMatch = courseTitle.match(\/LEVEL (\\d+):\/);\n                      const level = levelMatch ? parseInt(levelMatch[1]) : 0;\n                      const levelText = level ? 'LEVEL:' + level : 'LEVEL: ---';\n                      courseTitle = courseTitle.replace(\/LEVEL \\d+:\/, '').trim();\n                    \n                      \/\/ Create new div for transformed content\n                      const transformedDiv = document.createElement('div');\n                      transformedDiv.className = 'transformed-content';\n                    \n                      \/\/ Create song list image container\n                      const songListImg = document.createElement('div');\n                      songListImg.className = 'songs-list__img';\n                    \n                      \/\/ Append image to song list image container\n                      if (img) {\n                        const newImg = img.cloneNode(true);\n                        if (newImg.dataset.src) {\n                          newImg.src = newImg.dataset.src;\n                          newImg.removeAttribute('data-src');\n                        }\n                        newImg.className = ''; \/\/ Remove all classes from the image\n                        songListImg.appendChild(newImg);\n                      }\n                    \n                      \/\/ Create song list sheet container with the course excerpt text\n                      const songListSheet = document.createElement('div');\n                      songListSheet.className = 'songs-list__sheet';\n                      songListSheet.innerHTML ='<!-- wp:paragraph --><p>' + courseExcerptText + '<\/p><!-- \/wp:paragraph -->';\n                      songListImg.appendChild(songListSheet);\n                    \n                      \/\/ Append the song list image container to the transformed div\n                      transformedDiv.appendChild(songListImg);\n                    \n                      \/\/ Create song list info container\n                      const songListInfo = document.createElement('div');\n                      songListInfo.className = 'songs-list__info';\n                    \n                      \/\/ Add the extracted level text\n                      const infoLevel = document.createElement('div');\n                      infoLevel.innerHTML = levelText;\n                      songListInfo.appendChild(infoLevel);\n                    \n                      \/\/ Add course-lesson-count\n                      const infoLength = document.createElement('div');\n                      infoLength.innerHTML = '<span>' + lessonCount + '<\/span>';\n                      songListInfo.appendChild(infoLength);\n                    \n                      \/\/ Add difficulty based on level\n                      const infoDifficulty = document.createElement('div');\n                      let difficultyText = '---';\n                      if (level === 1) {\n                        difficultyText = 'super easy';\n                      } else if (level >= 2 && level <= 4) {\n                        difficultyText = 'easy';\n                      } else if (level >= 5 && level <= 7) {\n                        difficultyText = 'intermediate';\n                      } else if (level >= 8 && level <= 10) {\n                        difficultyText = 'expert';\n                      }\n                      infoDifficulty.innerHTML = '<span class=\\'songs-list__difficulty\\'>' + difficultyText + '<\/span>';\n                      songListInfo.appendChild(infoDifficulty);\n                    \n                      \/\/ Append the song list info container to the transformed div\n                      transformedDiv.appendChild(songListInfo);\n                    \n                      \/\/ Create and append the link and title elements\n                      const courseLink = document.createElement('a');\n                      courseLink.href = courseUrl;\n                      courseLink.title = courseTitle;\n                    \n                      const courseName = document.createElement('h5');\n                      courseName.className = 'songs-list__name';\n                      courseName.textContent = courseTitle;\n                    \n                      const courseArtist = document.createElement('h4');\n                      courseArtist.className = 'songs-list__artist';\n                      courseArtist.textContent = courseProgress;\n                    \n                      \/\/ Append the link, title, and artist to the transformed div\n                      transformedDiv.appendChild(courseLink);\n                      transformedDiv.appendChild(courseName);\n                      transformedDiv.appendChild(courseArtist);\n                    \n                      \/\/ Append the transformed div to the course's parent li element\n                      const parentLi = course.parentElement.parentElement;\n                      parentLi.appendChild(transformedDiv);\n                    \n                      \/\/ Add new li element with placeholder image only after the first li\n                      if (!bannerAdded) {\n                        const newLi = document.createElement('li');\n                        newLi.className = 'learning-banner';\n                    \n                        const placeholderImg = document.createElement('img');\n                        placeholderImg.src = 'https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/06\/Verified-Music-Sheets-on-Virtual-Piano-800px.png'; \/\/ Replace with actual placeholder path\n                        placeholderImg.alt = 'Placeholder Image';\n                        newLi.appendChild(placeholderImg);\n                    \n                        \/\/ Insert the new li element after the first li element\n                        parentLi.parentElement.insertBefore(newLi, parentLi);\n                    \n                        bannerAdded = true;\n                      }\n                    });\n                    \n                    \n                    \n                    \n                    });\n                <\/script>\n                <style>\n                    .songs-list.columns-1{\n                    \tdisplay: flex;\n                    \tflex-wrap: wrap;\n                    \tgap: 1%;\n                        justify-content: space-between;\n                    }\n                    .songs-list.columns-1 li{\n                    \twidth: 32%;\n                        border-radius: 10px;\n                        -webkit-transition: .3s;\n                        -o-transition: .3s;\n                        transition: .3s;\n                        position: relative;\n                        padding: 10px 10px 22px;\n                    \tmargin: unset!important;\n                    \tmargin-bottom: 2%!important;\n                    \tbackground: rgb(0,0,0);\n                    \tbackground: linear-gradient(0deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.85) 25%, rgba(76,62,145,1) 100%);\n                    }\n                    \n                     .songs-list.columns-1 li:hover{\n                    \tbackground: #FF8300;\n                    \tbackground: linear-gradient(0deg, #FF8300 0%, #FF8300 25%, rgba(76,62,145,1) 100%);\n                    }\n                    \n                     .songs-list.columns-1 li.learning-banner{\n                    \twidth:66%;\n                    \tpadding: unset!important;\n                    \tborder: unset!important;\n                    \tbackground: unset!important;\n                    }\n                    \n                    .songs-list.columns-1 li.learning-banner img{\n                    \theight: 100%;\n                        object-fit: cover;\n                    }\n                    \n                     .songs-list__img{\n                    \theight: 208px;\n                    }\n                    \n                    .songs-list__sheet p{\n                    \tmargin: unset!important;\n                    \tpadding-top: 15px!important;\n                    \tfont-family: Spartan;\n                    \tfont-weight: 400;\n                    \tborder-color: #4C3E91;\n                    \n                    }\n                    @media (max-width: 900px) {\n                    \t .songs-list.columns-1 li {\n                    \t\twidth: 45%\n                    \t}\n                    \t.songs-list.columns-1 li.learning-banner{\n                    \t\twidth: 100%;\t\n                    \t}\n                    \t\n                    }\n                    \n                    @media (max-width: 580px) {\n                    \t .songs-list.columns-1 li {\n                      \t\twidth: 300px;\n                    \t\tmargin-left: auto!important;\n                    \t\tmargin-right: auto!important;\n                      \t}\n                    }\n\n                <\/style>\n<div class=\"submenu save none-member\" style=\"min-width:350px; position: fixed; z-index: 99999; transition: all; max-width: 400px; top: 50%;left: 50%;transform: translate(-50%, -50%);     background: rgba(0, 0, 0, .82); -webkit-box-shadow: 0 0 15px #000; box-shadow: 0 0 15px #000; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border-radius: 10px; padding: 40px 30px 20px; color: #939393\">\n                                <span class=\"close\">\n                                    <span><\/span>\n                                    <span><\/span>\n                                <\/span>\n                                <h4>Start Your Musical Journey<\/h4>\n                                <div class=\"save__login\">\n                                    <h5>Login<\/h5>\n                                    <p>Already have an account? Access your premium content now.<\/p>\n                                <!--    <input type=\"text\" name=\"username\" placeholder=\"username\">\n                                    <input type=\"password\" name=\"password\" placeholder=\"Password\"> -->\n\t\t\t\t\t\t\t\t\t<a target=\"_blank\" href=\"\/member-login\/\" class=\"btn auth-btn\">LOGIN<\/a>\n                                    <a class=\"save__forgot\" target=\"_blank\" href=\"\/wp-login.php?action=lostpassword\">Forgot Password<\/a>\n                                <\/div>\n                                <div>\n                                    <h5>Register<\/h5>\n                                    <p>Get your Level 2-5 and unlock more with membership!<\/p>\n                                    <a target=\"_blank\" href=\"\/register\/\" class=\"btn auth-btn\">Register<\/a>\n                                <\/div>\n                            <\/div>\n                            <style>\n                                .save h4 {\n                                  color: #fff;\n                                  text-shadow: 0 0 15px #fff;\n                                  margin: 0;\n                                  padding-bottom: 20px;\n                                  font-style: normal;\n                                    font-family: Spartan;\n                                    font-size: 18px;\n                                    font-weight: 700;\n                                    text-align:center;\n                                }\n                                \n                                .save h5 {\n                                  text-transform: uppercase;\n                                  margin: 0;\n                                  font-weight: 700;\n                                  font-size: 12px;\n                                  margin-bottom: 6px;\n                                  font-style: normal;\n                                  padding-top:20px;\n                                }\n                                \n                                .save p {\n                                  margin: 0;\n                                  text-align: left;\n                                  text-transform: initial;\n                                  line-height: 1.5;\n                                  margin-bottom: 20px;\n                                }\n                                \n                                .save__login {\n                                  border-top: 1px solid #3E3E3E;\n                                  border-bottom: 1px solid #3E3E3E;\n                                  padding-bottom: 30px;\n                                }\n                                \n                                .save__forgot {\n                                  font-weight: 400;\n                                  text-transform: initial;\n                                  margin-top: 18px;\n                                  display: block;\n                                  cursor: pointer;\n                                  display: none;\n                                }\n                                \n                                .save__forgot:focus, .save__forgot:hover {\n                                  color: #FF8300;\n                                }\n                                \n                                .submenu.save {\n                                   display:none;\n                                }\n                                \n                                .submenu.save.active{\n                                    display: block;\n                                }\n                                .submenu .close{\n                                    display: flex;\n                                    justify-content: center;\n                                    align-items: center;\n                                    opacity: 1;\n                                    width: 18px;\n                                    height: 18px;\n                                    visibility: visible;\n                                    right: 10px;\n                                    top: 10px;\n                                    cursor: pointer;\n                                    position: absolute;\n                                }\n                                .submenu .close span {\n                                    height: 3px;\n                                    background: #FF8300;\n                                    width: 100%;\n                                    position: absolute;\n                                    border-radius: 2px;\n                                }\n                                .submenu .close span:first-child {\n                                    -webkit-transform: rotate(45deg);\n                                    -ms-transform: rotate(45deg);\n                                    transform: rotate(45deg);\n                                }\n                                .submenu .close span:last-child {\n                                    -webkit-transform: rotate(-45deg);\n                                    -ms-transform: rotate(-45deg);\n                                    transform: rotate(-45deg);\n                                }\n                                \n                                @media(max-width:1200px){\n                                    .submenu.save{\n                                        \n                                    }\n                                }\n                            <\/style>\n                            <script>\n                                function StudentToggleActive(event) {\n                                    event.preventDefault(); \/\/ Prevents the default link behavior\n                                    const element = document.querySelector(\".submenu.save.none-member\");\n                                    if (element) {\n                                        element.classList.toggle(\"active\");\n                                    } else {\n                                        console.log(\"not found.\");\n                                    }\n                                }\n                                \/\/ Add event listener to the \"submenu > close\" element\n                                document.addEventListener(\"DOMContentLoaded\", () => {\n                                    const closeElement = document.querySelector(\".submenu.none-member .close\");\n                                    if (closeElement) {\n                                        closeElement.addEventListener(\"click\", StudentToggleActive);\n                                    } else {\n                                        console.log(\"not found.\");\n                                    }\n                                });\n                            <\/script>\n                            \n<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Collect Medals\" title=\"Collect Medals\" width=\"50\" height=\"50\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/Medals-on-Virtual-Piano.svg\">\n<h3>Earn Medals<\/h3><p>Collect gold, silver and bronze medals when you play a song exceptionally well. Take part in challenges and collect medals.<\/p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"\" width=\"800\" height=\"484\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/11\/Achievements-and-Medals-Virtual-Piano-800px.jpg\">\n<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Create and edit music sheets\" title=\"Create and edit music sheets\" width=\"50\" height=\"50\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/create-and-rate-music-on-virtual-piano.svg\">\n<h3>Create & Edit<\/h3><p>Use the Music Sheet Producer to compose music, make changes to existing sheets, auto play, submit them to Virtual Piano and share.<\/p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"\" width=\"800\" height=\"484\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/11\/Create-and-Edit-Music-Sheets-Virtual-Piano-800px.jpg\">\n<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Your Piano Performances\" title=\"Your Piano Performances\" width=\"50\" height=\"50\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/monitor-performance-on-virtual-piano.svg\">\n<h3>Your Performances<\/h3><p>See songs you've played in your performance history and the points you scored for each one. Play your favourites again and improve.<\/p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"\" width=\"800\" height=\"484\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/11\/Monitor-Your-Performance-on-Virtual-Piano-800px.jpg\">\n<img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Track your stats\" title=\"Track your stats\" width=\"50\" height=\"50\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/analyse-performance-on-virtual-piano.svg\">\n<h3>Track Stats<\/h3><p>Monitor your statistics including the average difficulty level of the songs you've played, your accuracy, rhythm percentage and more.<\/p><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"\" width=\"800\" height=\"484\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/11\/Track-you-stats-on-Virtual-Piano-800px.jpg\">\n\t\"It's crazy how playing piano on a keyboard can be this easy.\" CJ, USA\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"I have been using your piano almost everyday.\" Rakesh, India\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"You guys have the best virtual piano, hands down.\" Dan, UK\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"I'm loving it, thank you very much. Just awesome!\" Keely, Australia\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n<h2>\n\t\tReady to go further?\n\t<\/h2>\n\t<p>Play the piano instantly, become an online pianist and create your own extraordinary music. What can you do with your premium account? The question is, what can you not do! The opportunities are endless and only limited by your imagination. So sign up today and utilise all the benefits of your membership.<\/p>\n\t<h3><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Millions of songs played on Virtual Piano\" title=\"Millions of songs played on Virtual Piano\" width=\"40\" height=\"40\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/millions-of-virtual-pianists-worldwide.svg\"> 302+ Million songs played<\/h3>\n<h3><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Nurtured millions of Virtual Pianists\" title=\"Nurtured millions of Virtual Pianists\" width=\"40\" height=\"40\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/virtual-pianists-worldwide.svg\"> 73+ Million Virtual Pianists<\/h3>\n\t<h3><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Thousands of free music sheets\" title=\"Thousands of free music sheets\" width=\"40\" height=\"40\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/sheet-music-virtual-piano.svg\"> 1,668+ Music Sheets<\/h3>\n<h3><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Global Pianist Profile\" title=\"Global Pianist Profile\" width=\"40\" height=\"40\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2021\/02\/pianist-profile-on-virtual-piano.svg\"> 1 Individual Membership<\/h3>\n<h4>\n\t\tUsed by\n\t<\/h4>\n<h2>\n\t\tMillions Worldwide\n\t<\/h2>\n\t<p><strong>Virtual Piano has been used by millions<\/strong> of students as a learning platform in schools all over the world. It has introduced children to the piano and ignited their passion for music. The platform has provided a stepping stone into the music industry for some of the world's great artists and producers. It has been used as a tool in commercial music production as well as a solo instrument by individuals for recreation. The global picture of the 15-year use of Virtual Piano shows that it is certainly not just a virtual piano keyboard. Virtual Piano is a form of expression and communication between different cultures and regions of the world - crossing language, space and time.<\/p>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Play Piano Outdoors, Virtual Piano, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Play-Piano-Outdoors-Virtual-Piano-Virtual-Piano-3.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Play Piano With Your Friends, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Play-Piano-With-Your-Friends-Virtual-Piano-3.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Play Virtual Piano Anywhere, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Play-Virtual-Piano-Anywhere-Virtual-Piano-4.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Playing Virtual Piano In Classrooms at School, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Playing-Virtual-Piano-In-Classrooms-at-School-Virtual-Piano-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Online Piano Competition With Friends, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Online-Piano-Competition-With-Friends-Virtual-Piano-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Online Piano Keyboard, Virtual Piano, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Online-Piano-Keyboard-Virtual-Piano-Virtual-Piano-3.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Online Piano Keyboard, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Online-Piano-Keyboard-Virtual-Piano-3.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Online Piano With Key Labels, Virtual Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Online-Piano-With-Key-Labels-Virtual-Piano-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"Play Piano\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Play-Piano-In-Your-Favourite-Colours-Virtual-Piano.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" alt=\"\" class=\"lazyload\" data-src=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/07\/Play-Piano-On-A-Boat-Virtual-Piano-Virtual-Piano-3.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t<!-- pagination -->\n\t\n\t\"I fell in love\"\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"Hours of fun\"\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"clever learning\"\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\t\"It's the future\"\n\t<i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i><i>&#9733;<\/i>\t\n\n","protected":false},"excerpt":{"rendered":"<p>Online Music Education Revolutionise your music learning journey with our interactive course Discover the future of online music education with our innovative piano course. Trusted by over 5,000 schools and teachers worldwide, the Virtual Piano platform has transformed how students engage with music, offering an approach that is both enjoyable and effective. Whether you&#8217;re an &#8230; <a title=\"LEVEL 10: Complex Musical Concepts, Double Flats, and Transposing\" class=\"read-more\" href=\"https:\/\/virtualpiano.net\/course\/level-10-complex-musical-concepts-double-flats-and-transposing\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":34865,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-34609","page","type-page","status-publish","has-post-thumbnail","hentry","post"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.5 (Yoast SEO v24.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Online Music Education | Learn, Play, Teach | Virtual Piano<\/title>\n<meta name=\"description\" content=\"Start your music education with our innovative online piano course. Learn piano online with interactive lessons and cutting-edge tools today!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualpiano.net\/online-music-education\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Online Music Education\" \/>\n<meta property=\"og:description\" content=\"Start your music education with our innovative online piano course. Learn piano online with interactive lessons and cutting-edge tools today!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualpiano.net\/online-music-education\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Piano\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/VirtualPiano\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-14T00:03:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/12\/Online-Music-Education-Virtual-Piano1000px.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1849\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@bestpiano\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Online Music Education | Learn, Play, Teach | Virtual Piano","description":"Start your music education with our innovative online piano course. Learn piano online with interactive lessons and cutting-edge tools today!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/virtualpiano.net\/online-music-education\/","og_locale":"en_GB","og_type":"article","og_title":"Online Music Education","og_description":"Start your music education with our innovative online piano course. Learn piano online with interactive lessons and cutting-edge tools today!","og_url":"https:\/\/virtualpiano.net\/online-music-education\/","og_site_name":"Virtual Piano","article_publisher":"https:\/\/www.facebook.com\/VirtualPiano","article_modified_time":"2024-12-14T00:03:17+00:00","og_image":[{"width":1849,"height":1000,"url":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/12\/Online-Music-Education-Virtual-Piano1000px.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@bestpiano","twitter_misc":{"Estimated reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualpiano.net\/online-music-education\/","url":"https:\/\/virtualpiano.net\/online-music-education\/","name":"Online Music Education | Learn, Play, Teach | Virtual Piano","isPartOf":{"@id":"https:\/\/virtualpiano.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/virtualpiano.net\/online-music-education\/#primaryimage"},"image":{"@id":"https:\/\/virtualpiano.net\/online-music-education\/#primaryimage"},"thumbnailUrl":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/12\/Online-Music-Education-Virtual-Piano1000px.jpg","datePublished":"2024-12-09T22:18:18+00:00","dateModified":"2024-12-14T00:03:17+00:00","description":"Start your music education with our innovative online piano course. Learn piano online with interactive lessons and cutting-edge tools today!","breadcrumb":{"@id":"https:\/\/virtualpiano.net\/online-music-education\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualpiano.net\/online-music-education\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/virtualpiano.net\/online-music-education\/#primaryimage","url":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/12\/Online-Music-Education-Virtual-Piano1000px.jpg","contentUrl":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2024\/12\/Online-Music-Education-Virtual-Piano1000px.jpg","width":1849,"height":1000,"caption":"Online Music Education"},{"@type":"BreadcrumbList","@id":"https:\/\/virtualpiano.net\/online-music-education\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualpiano.net\/"},{"@type":"ListItem","position":2,"name":"Online Music Education"}]},{"@type":"WebSite","@id":"https:\/\/virtualpiano.net\/#website","url":"https:\/\/virtualpiano.net\/","name":"Virtual Piano","description":"Best Online Piano Keyboard | Virtual Piano","publisher":{"@id":"https:\/\/virtualpiano.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualpiano.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/virtualpiano.net\/#organization","name":"Virtual Piano","url":"https:\/\/virtualpiano.net\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/virtualpiano.net\/#\/schema\/logo\/image\/","url":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/08\/Virtual-Piano-Online-Piano-Keyboard-ORANGE-square-112px.svg","contentUrl":"https:\/\/virtualpiano.net\/wp-content\/uploads\/2020\/08\/Virtual-Piano-Online-Piano-Keyboard-ORANGE-square-112px.svg","width":"1024","height":"1024","caption":"Virtual Piano"},"image":{"@id":"https:\/\/virtualpiano.net\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/VirtualPiano","https:\/\/x.com\/bestpiano","https:\/\/www.youtube.com\/user\/cmagicspiano","https:\/\/en.wikipedia.org\/wiki\/Virtual_piano"]}]}},"_links":{"self":[{"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/pages\/34609"}],"collection":[{"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/comments?post=34609"}],"version-history":[{"count":40,"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/pages\/34609\/revisions"}],"predecessor-version":[{"id":34896,"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/pages\/34609\/revisions\/34896"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/media\/34865"}],"wp:attachment":[{"href":"https:\/\/virtualpiano.net\/wp-json\/wp\/v2\/media?parent=34609"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}