PageSourceSearch

https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn

html roli.com collected 2026-10-02 02:39:19 UTC 211,882 bytes, 580 lines download raw bytes

1<!DOCTYPE html><meta name="description" content="We've rounded up a few of the most iconic video game themes that you can play along to in the ROLI Learn app. Check out what’s available and learn how they heighten the tension, celebrate our triumphs, and keep on being the soundtrack to our journeys long after we’ve switched the console off."><meta property="og:title" content="Video game music in the ROLI Learn app"><meta property="og:type" content="website"><meta property="og:url" content="https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn"><meta property="og:image" content="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/video-game-music-blog.193397421975609.png"><meta property="og:description" content="We've rounded up a few of the most iconic video game themes that you can play along to in the ROLI Learn app. Check out what’s available and learn how they heighten the tension, celebrate our triumphs, and keep on being the soundtrack to our journeys long after we’ve switched the console off."><meta property="og:site_name" content="ROLI"> <html lang="en" class="min-w-full h-full overflow-y-scroll selection:bg-blue-100 selection:text-white bg-ivory-dark"> <head><meta charset="utf-8"><link rel="alternate" href="https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" hreflang="x-default"><!-- "IMPORTANT: This tag must be the first 
1<script> tag on the page."
2    currently, region inline script and GTM are being injected before this tag
3    likely we'll need to fix that.
4
5    STYLING
6    termly is applying in line styles to many elements
7    we can set some of these from Termly
8    however if we need more customization we can try target directly with css
9
10    /* initial cookie banner popup - make body text red */
11    [class^="termly-styles-main"] {
12      color: red;
13    }
14
15    /* preferences popup - make button red */
16    [class^="termly-styles-root"] > button {
17      background: red !important;
18    }
19-->
19<script data-termly-config data-astro-rerun>
20  /**
21   * don't block trustpilot widget from loading if consent is declined
22   * the widget doesn't track, it just needs to load their JS to show review stars
23   * must be added to global blocking map, since trustpilot dynamically loads an iframe which will be autoblocked otherwise
24   *
25   * https://support.termly.io/en/articles/7904650-implementing-a-custom-blocking-map-to-change-auto-blocker-s-blocking-behavior
26   */
27  window.TERMLY_CUSTOM_BLOCKING_MAP = {
28    'bing.com': 'essential', // GTM requirement for Microsoft Advertising. Have been assured that GTM will apply appropriate Consent checks.
29    'trustpilot.com': 'essential',
30    /**
31     * allow youtube embeds to load without consent
32     */
33    'youtube.com': 'essential',
34    'youtube-nocookie.com': 'essential',
35    'sheerid.com': 'essential',
36    'soundcloud.com': 'essential',
37    /**
38     * store locator page
39     */
40    'maps.googleapis.com': 'essential',
41  };
42
43  /**
44   * COPPA: block all consent grant attempts for tracking-restricted users (minors).
45   * must be set up BEFORE the Termly resource-blocker loads, because Termly may
46   * fire gtag('consent', 'update', {granted})  and ovverrides denied state
47  /** */
48
49  (function () {
50    var restricted = false;
51    try {
52      var storedUser = localStorage.getItem('user');
53      if (storedUser) {
54        var parsedUser = JSON.parse(storedUser);
55        restricted = parsedUser && parsedUser.trackingRestricted === true;
56      }
57    } catch (e) {}
58
59    if (!restricted) return;
60
61    window.dataLayer = window.dataLayer || [];
62    var dl = window.dataLayer;
63    var originalPush = dl.push.bind(dl);
64
65    dl.push = function () {
66      for (var i = 0; i < arguments.length; i++) {
67        var item = arguments[i];
68        if (
69          item &&
70          item[0] === 'consent' &&
71          item[1] === 'update' &&
72          item[2] &&
73          item[2].analytics_storage === 'granted'
74        ) {
75          arguments[i] = [
76            'consent',
77            'update',
78            {
79              ad_storage: 'denied',
80              ad_user_data: 'denied',
81              ad_personalization: 'denied',
82              analytics_storage: 'denied',
83              functionality_storage: 'denied',
84              personalization_storage: 'denied',
85              social_storage: 'denied',
86              unclassified_storage: 'denied',
87            },
88          ];
89        }
90      }
91      return originalPush.apply(dl, arguments);
92    };
93  })();
94</script>
94 
94<script data-astro-rerun type="text/javascript" src="https://app.termly.io/resource-blocker/c687e5f3-d60f-4dbf-b982-dc0d3fde0aed?autoBlock=on"></script>
94 
94<script data-astro-rerun>
95  /**
96   * fix for Termly consent tracking issue - ensure Termly.ConsentSaveDone event is pushed to dataLayer on page load
97   * https://weareroli.slack.com/archives/C4U3P6MHS/p1761917268491809
98   */
99  if (window.Termly && typeof window.Termly.getConsentState === 'function') {
100    var consent = window.Termly.getConsentState();
101    window.dataLayer = window.dataLayer || [];
102    window.dataLayer.push({
103      event: 'Termly.ConsentSaveDone',
104      termlyConsent: consent,
105      _termlySource: 'initial',
106    });
107  }
108</script>
108 
108<script data-astro-rerun>
109  /**
110   * this is a hack to allow termly to reload on client navigation
111   * termly reads this value and errors if this var is set to true on load.
112   * we manually set it to false, so termly will reload.
113   *
114   * We must reload termly else the Cookie Preferences link in footer will not work after client navigation
115   *
116   * does cause the above script to be re-requested, however browser should cache it anyway!
117   */
118  window.TERMLY_RESOURCE_BLOCKER_LOADED = false;
119</script>
119<script type="module">(()=>{let t=0;document.addEventListener("DOMContentLoaded",()=>{window.history.state?.scrollY?window.scrollTo({top:t}):t=0,window.addEventListener("popstate",()=>{t=window.history.state.scrollY},{once:!0})})})();</script>
119<script type="module" src="/_astro/layout.astro_astro_type_script_index_0_lang.DZxbfG_z.js"></script>
119<link rel="preconnect" href="https://www.googletagmanager.com"><link rel="preconnect" href="https://app.storyblok.com"><link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com">
119<script type="text/javascript" id="vwoCode">(function(){const VWO_ID = "747185";
120const COUNTRY = "";
121
122  window._vwo_code ||
123    (function () {
124      var account_id = VWO_ID,
125        version = 2.1,
126        settings_tolerance = 2000,
127        hide_element = 'body',
128        hide_element_style =
129          'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important',
130        /* DO NOT EDIT BELOW THIS LINE */
131        f = false,
132        w = window,
133        d = document,
134        v = d.querySelector('#vwoCode'),
135        cK = '_vwo_' + account_id + '_settings',
136        cc = {};
137      try {
138        var c = JSON.parse(
139          localStorage.getItem('_vwo_' + account_id + '_config'),
140        );
141        cc = c && typeof c === 'object' ? c : {};
142      } catch (e) {}
143      var stT = cc.stT === 'session' ? w.sessionStorage : w.localStorage;
144      code = {
145        use_existing_jquery: function () {
146          return typeof use_existing_jquery !== 'undefined'
147            ? use_existing_jquery
148            : undefined;
149        },
150        library_tolerance: function () {
151          return typeof library_tolerance !== 'undefined'
152            ? library_tolerance
153            : undefined;
154        },
155        settings_tolerance: function () {
156          return cc.sT || settings_tolerance;
157        },
158        hide_element_style: function () {
159          return '{' + (cc.hES || hide_element_style) + '}';
160        },
161        hide_element: function () {
162          if (performance.getEntriesByName('first-contentful-paint')[0]) {
163            return '';
164          }
165          return typeof cc.hE === 'string' ? cc.hE : hide_element;
166        },
167        getVersion: function () {
168          return version;
169        },
170        finish: function (e) {
171          if (!f) {
172            f = true;
173            var t = d.getElementById('_vis_opt_path_hides');
174            if (t) t.parentNode.removeChild(t);
175            if (e)
176              new Image().src =
177                'https://dev.visualwebsiteoptimizer.com/ee.gif?a=' +
178                account_id +
179                e;
180          }
181        },
182        finished: function () {
183          return f;
184        },
185        addScript: function (e) {
186          var t = d.createElement('script');
187          t.type = 'text/javascript';
188          if (e.src) {
189            t.src = e.src;
190          } else {
191            t.text = e.text;
192          }
193          d.getElementsByTagName('head')[0].appendChild(t);
194        },
195        load: function (e, t) {
196          var i = this.getSettings(),
197            n = d.createElement('script'),
198            r = this;
199          t = t || {};
200          if (i) {
201            n.textContent = i;
202            d.getElementsByTagName('head')[0].appendChild(n);
203            if (!w.VWO || VWO.caE) {
204              stT.removeItem(cK);
205              r.load(e);
206            }
207          } else {
208            var o = new XMLHttpRequest();
209            o.open('GET', e, true);
210            o.withCredentials = !t.dSC;
211            o.responseType = t.responseType || 'text';
212            o.onload = function () {
213              if (t.onloadCb) {
214                return t.onloadCb(o, e);
215              }
216              if (o.status === 200) {
217                _vwo_code.addScript({ text: o.responseText });
218              } else {
219                _vwo_code.finish('&e=loading_failure:' + e);
220              }
221            };
222            o.onerror = function () {
223              if (t.onerrorCb) {
224                return t.onerrorCb(e);
225              }
226              _vwo_code.finish('&e=loading_failure:' + e);
227            };
228            o.send();
229          }
230        },
231        getSettings: function () {
232          try {
233            var e = stT.getItem(cK);
234            if (!e) {
235              return;
236            }
237            e = JSON.parse(e);
238            if (Date.now() > e.e) {
239              stT.removeItem(cK);
240              return;
241            }
242            return e.s;
243          } catch (e) {
244            return;
245          }
246        },
247        init: function () {
248          if (d.URL.indexOf('__vwo_disable__') > -1) return;
249          var e = this.settings_tolerance();
250          w._vwo_settings_timer = setTimeout(function () {
251            _vwo_code.finish();
252            stT.removeItem(cK);
253          }, e);
254          var t;
255          if (this.hide_element() !== 'body') {
256            t = d.createElement('style');
257            var i = this.hide_element(),
258              n = i ? i + this.hide_element_style() : '',
259              r = d.getElementsByTagName('head')[0];
260            t.setAttribute('id', '_vis_opt_path_hides');
261            v && t.setAttribute('nonce', v.nonce);
262            t.setAttribute('type', 'text/css');
263            if (t.styleSheet) t.styleSheet.cssText = n;
264            else t.appendChild(d.createTextNode(n));
265            r.appendChild(t);
266          } else {
267            t = d.getElementsByTagName('head')[0];
268            var n = d.createElement('div');
269            n.style.cssText =
270              'z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;';
271            n.setAttribute('id', '_vis_opt_path_hides');
272            n.classList.add('_vis_hide_layer');
273            t.parentNode.insertBefore(n, t.nextSibling);
274          }
275          var o =
276            'https://dev.visualwebsiteoptimizer.com/j.php?a=' +
277            account_id +
278            '&u=' +
279            encodeURIComponent(d.URL) +
280            '&vn=' +
281            version;
282          if (w.location.search.indexOf('_vwo_xhr') !== -1) {
283            this.addScript({ src: o });
284          } else {
285            this.load(o + '&x=true');
286          }
287        },
288      };
289      w._vwo_code = code;
290      if (COUNTRY !== 'JP') {
291        code.init();
292      }
293    })();
294})();</script>
294<!--
295  init vwo on consent update
296  VWO does not provide a seamless way to reload consent state after first accepted/declined.
297
298  https://help.vwo.com/hc/en-us/articles/34254349279257-Configuring-VWO-SmartCode-for-Your-Website-s-Cookie-Consent
299  "if a visitor initially declines the tracking request but accepts it later, VWO will only start functioning from their next visit <page reload>. Any actions performed during the period when tracking was
300declined will not be tracked, and no campaigns will run during that time."
301-->
301<script type="module">document.addEventListener("DOMContentLoaded",()=>{try{const t=localStorage.getItem("user");if(t){const o=JSON.parse(t);if(o&&o.trackingRestricted===!0){window.VWO=window.VWO||[],window.VWO.init=window.VWO.init||function(n){window.VWO.consentState=n},window.VWO.init(3);return}}}catch{}window.addEventListener("dataLayer.push",t=>{const o=t;if(o.detail?.[0]!=="consent"||o.detail?.[1]!=="update")return;window.VWO=window.VWO||[],window.VWO.init=window.VWO.init||function(i){window.VWO.consentState=i};const n=o.detail?.[2]?.analytics_storage==="granted"?1:3;if(window.VWO.init(n),n!==3)return;const c=["_vis_opt","_vwo","wingify","pushcrew","pshcrw","_pc"],w="_vwo_consent",d=[".roli.com",window.location.host,window.location.hostname];document.cookie.split(";").forEach(i=>{const[e]=i.trim().split("=");if(e===w)return;c.find(s=>e.startsWith(s))&&d.forEach(s=>{document.cookie=`${e}=; Max-Age=0; path=/; domain=${s};`})})})});</script>
301<script type="text/javascript">(function(){const GTM_ID = "GTM-PWNNTS";
302const COUNTRY = "";
303
304  (function () {
305    var country = COUNTRY;
306
307    var dataLayer = window.dataLayer || [];
308
309    function gtag() {
310      dataLayer.push(arguments);
311    }
312
313    var trackingRestricted = false;
314    try {
315      var storedUser = localStorage.getItem('user');
316      if (storedUser) {
317        var parsedUser = JSON.parse(storedUser);
318        trackingRestricted =
319          parsedUser && parsedUser.trackingRestricted === true;
320      }
321    } catch (e) {}
322
323    // Restricted users / minors (COPPA): deny all non-essential categories.
324    if (trackingRestricted) {
325      gtag('consent', 'default', {
326        ad_storage: 'denied',
327        ad_user_data: 'denied',
328        ad_personalization: 'denied',
329        analytics_storage: 'denied',
330      });
331    }
332
333    if (country) {
334      dataLayer.push({ roli_country: country });
335    }
336
337    /**
338     * https://stackoverflow.com/questions/66883616/event-listener-for-datalayer-push-events-on-tag-manager-js
339     * add proxy to datalayer to publish dataLayer.push events to window
340     * currently used to init VWO on consent state updated
341     * saves custom template setup in GoogleTagManager
342     */
343    window.dataLayer = new Proxy(dataLayer, {
344      set: (obj, prop, value) => {
345        if (prop !== 'length') {
346          // Block consent grant updates for tracking-restricted users (COPPA minors).
347          // Handles two cases:
348          // 1. Termly.ConsentSaveDone events (from Termly SDK native firings after Proxy is active)
349          //    - Modify termlyConsent payload so GTM's Termly template sees denied state
350          // 2. Direct consent update commands that somehow reach the external dataLayer
351          if (trackingRestricted && value) {
352            if (
353              value.event === 'Termly.ConsentSaveDone' &&
354              value.termlyConsent
355            ) {
356              value = Object.assign({}, value, {
357                termlyConsent: {
358                  essential: true,
359                  performance: false,
360                  analytics: false,
361                  advertising: false,
362                  social_networking: false,
363                  unclassified: false,
364                },
365              });
366            } else if (
367              value[0] === 'consent' &&
368              value[1] === 'update' &&
369              value[2] &&
370              value[2].analytics_storage === 'granted'
371            ) {
372              value = [
373                'consent',
374                'update',
375                {
376                  ad_storage: 'denied',
377                  ad_user_data: 'denied',
378                  ad_personalization: 'denied',
379                  analytics_storage: 'denied',
380                  functionality_storage: 'denied',
381                  personalization_storage: 'denied',
382                  social_storage: 'denied',
383                  unclassified_storage: 'denied',
384                },
385              ];
386            }
387          }
388
389          const pushEvent = new CustomEvent('dataLayer.push', {
390            detail: value,
391          });
392
393          window.dispatchEvent(pushEvent);
394        }
395
396        return Reflect.set(obj, prop, value);
397      },
398    });
399
400    const gtmScriptSrc = `https://www.googletagmanager.com/gtm.js?id=${GTM_ID}`;
401    const existingGtmScript = document.querySelector(
402      `script[src="${gtmScriptSrc}"]`,
403    );
404    if (existingGtmScript) {
405      console.warn('gtm.js error: gtm.js already loaded');
406      return;
407    }
408
409    window.dataLayer.push({
410      'gtm.start': new Date().getTime(),
411      event: 'gtm.js',
412    });
413
414    const gtmScriptElement = document.createElement('script');
415    gtmScriptElement.async = true;
416    gtmScriptElement.src = gtmScriptSrc;
417
418    const firstScriptElement = document.getElementsByTagName('script')[0];
419    if (!firstScriptElement) {
420      console.warn('gtm.js error: failed to add gtm.js script to document');
421      return;
422    }
423
424    firstScriptElement.parentNode?.insertBefore(
425      gtmScriptElement,
426      firstScriptElement,
427    );
428  })();
429})();</script>
429<script type="text/javascript" src="//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js" async></script>
429<!-- For social embeds on the blog -->
429<script async src="https://www.instagram.com/embed.js"></script>
429<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="shortcut icon" href="/favicon.ico"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png"><link rel="apple-touch-icon-precomposed" href="/apple-touch-icon-precomposed.png"><link rel="apple-touch-icon-precomposed" sizes="120x120" href="/apple-touch-icon-120x120-precomposed.png"><meta name="apple-mobile-web-app-title" content="Roli"><link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="msapplication-TileColor" content="#faf6ee"><meta name="theme-color" content="#faf6ee"><title>Video game music in the ROLI Learn app | ROLI</title><link rel="sitemap" href="/sitemap.xml"><link rel="preload" href="/fonts/PolymathROLI/WOFF2/PolymathDispROLI-Regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/PolymathROLI/WOFF2/PolymathDispROLI-Light.woff2" as="font" type="font/woff2" crossorigin>
429<script type="application/ld+json">
430  {
431    "@context": "https://schema.org",
432    "@type": "Organization",
433    "@id": "https://roli.com/#organization",
434    "name": "ROLI",
435    "url": "https://roli.com",
436    "logo": {
437      "@type": "ImageObject",
438      "url": "https://roli.com/apple-touch-icon-precomposed.png",
439      "width": "180",
440      "height": "180"
441    },
442    "sameAs": [
443      "https://www.facebook.com/ROLI",
444      "https://www.tiktok.com/@roli_create",
445      "https://www.tiktok.com/@roli_learn",
446      "https://www.instagram.com/roli_learn",
447      "https://www.instagram.com/roli_create",
448      "https://www.youtube.com/@WeAreROLI"
449    ]
450  }
451</script>
451<link rel="stylesheet" href="/_astro/_slug_.DqEVL20g.css">
452<style>.onboarding-container{position:relative;width:100%;height:100%;overflow:hidden}.onboarding-screen{position:absolute;top:0;left:0;width:100%;height:100%;transition:transform 1.3s cubic-bezier(.16,1,.2,1);will-change:transform}.onboarding-screen--current{transform:translate(0);z-index:2}.onboarding-screen--entering{transform:translate(0);z-index:2;animation:slideInFromRight 1.3s cubic-bezier(.16,1,.2,1) forwards}.onboarding-screen--exiting{transform:translate(0);z-index:1;animation:slideOutToLeft 1.3s cubic-bezier(.16,1,.2,1) forwards}.onboarding-screen--entering-back{transform:translate(0);z-index:2;animation:slideInFromLeft 1.3s cubic-bezier(.16,1,.2,1) forwards}.onboarding-screen--exiting-back{transform:translate(0);z-index:1;animation:slideOutToRight 1.3s cubic-bezier(.16,1,.2,1) forwards}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:.95}25%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes slideOutToLeft{0%{transform:translate(0);opacity:1}75%{opacity:.95}to{transform:translate(-100%);opacity:.9}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:.95}25%{opacity:1}to{transform:translate(0);opacity:1}}@keyframes slideOutToRight{0%{transform:translate(0);opacity:1}75%{opacity:.95}to{transform:translate(100%);opacity:.9}}@media (prefers-reduced-motion: reduce){.onboarding-screen{transition:none;animation:none!important}.onboarding-screen--entering,.onboarding-screen--entering-back,.onboarding-screen--exiting,.onboarding-screen--exiting-back{transform:translate(0)}}@media (max-width: 768px){.onboarding-screen{transition-duration:1s}.onboarding-screen--entering,.onboarding-screen--exiting,.onboarding-screen--entering-back,.onboarding-screen--exiting-back{animation-duration:1s}}.onboarding-screen--exiting .select-instrument__carousel,.onboarding-screen--exiting-back .select-instrument__carousel{opacity:0!important;pointer-events:none!important}@media (hover: none) and (pointer: coarse){.onboarding-screen{transition-timing-function:cubic-bezier(.4,0,.2,1)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx){.onboarding-screen{backface-visibility:hidden;transform-style:preserve-3d}}
453.ct-comp-cell[data-astro-cid-efehqykl].ct-no-border-l{border-left-color:transparent!important}
454</style>
454<script type="module" src="/_astro/page.MielndDw.js"></script>
454</head> <body class="flex min-h-full w-full flex-col antialiased font-normal font-display"> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
454<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script>
454<script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
454<astro-island uid="Z1biHM7" component-url="/_astro/promo-banner.BFeix86q.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;url&quot;:[0,&quot;&quot;],&quot;_uid&quot;:[0,&quot;9d73b696-b9e5-4aa2-a526-78b73d8ca59a&quot;],&quot;message&quot;:[0,&quot;We&#39;re currently undergoing site maintenance. Please check back later.&quot;],&quot;promoId&quot;:[0,&quot;AI Music Coach&quot;],&quot;visible&quot;:[0,true],&quot;component&quot;:[0,&quot;PromoBanner&quot;],&quot;countdown&quot;:[0,&quot;&quot;],&quot;promoName&quot;:[0,&quot;AI Music Coach&quot;],&quot;message_eu&quot;:[0,&quot;We&#39;re currently undergoing site maintenance. Please check back later.&quot;],&quot;message_jp&quot;:[0,&quot;現在メンテナンス中です。しばらくしてから再度お試しください。&quot;],&quot;message_uk&quot;:[0,&quot;We&#39;re currently undergoing site maintenance. Please check back later.&quot;],&quot;message_us&quot;:[0,&quot;We&#39;re currently undergoing site maintenance. Please check back later.&quot;],&quot;message_line_2&quot;:[0,&quot;&quot;],&quot;message_staging&quot;:[0,&quot;We&#39;re currently undergoing site maintenance. Please check back later.&quot;],&quot;background_color&quot;:[0,{&quot;value&quot;:[0,&quot;#F36363&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;astroParams&quot;:[0,{&quot;slug&quot;:[0,&quot;learn-piano-with-video-game-music-in-roli-learn&quot;]}]}" ssr client="only" opts="{&quot;name&quot;:&quot;PromoBanner&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <div class="relative"> <div class="hidden lg:block"> <astro-island uid="7IpoO" component-url="/_astro/menu.BhOoOA7e.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;sections&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/product/collection/learn&quot;],&quot;_uid&quot;:[0,&quot;06c7e90f-bc01-4b33-8030-c241b838f37c&quot;],&quot;items&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/experience/roli-piano-system-learn&quot;],&quot;_uid&quot;:[0,&quot;8990e3ab-cb89-4c10-9997-7f0575961eba&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148552710410160],&quot;alt&quot;:[0,&quot;A ROLI Piano keyboard with color-accented keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides above the instrument.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-airwave.148552710410160.webp&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/432x384/e143a77624/nav-piano-airwave.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano keyboard with color-accented keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides above the instrument.&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-airwave.148552710410160.webp&quot;],&quot;copyright&quot;:[0,&quot;&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano System&quot;],&quot;promoTag&quot;:[0,&quot;Most popular&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/piano-learn&quot;],&quot;_uid&quot;:[0,&quot;0a4c1442-c019-4f45-9be3-03cbe5bd2c8d&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148553712992206],&quot;alt&quot;:[0,&quot;A ROLI Piano with pastel-colored keys is placed on a white surface, with a tablet displaying the ROLI Learn app propped up behind the keyboard.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_piano-1-1.148553712992206.webp&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/576x495/1f1f1fb249/nav_piano-1-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano with pastel-colored keys is placed on a white surface, with a tablet displaying the ROLI Learn app propped up behind the keyboard.&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_piano-1-1.148553712992206.webp&quot;],&quot;copyright&quot;:[0,&quot;&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/piano-m-learn&quot;],&quot;_uid&quot;:[0,&quot;5586f0c8-1957-4504-8d4d-333abc318fa8&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148559070502975],&quot;alt&quot;:[0,&quot;A ROLI Piano M with a tablet displaying the ROLI Learn app, showing an interactive piano lesson interface above the keyboard.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-m.148559070502975.webp&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/432x384/c763457dd1/nav-piano-m.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano M with a tablet displaying the ROLI Learn app, showing an interactive piano lesson interface above the keyboard.&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-m.148559070502975.webp&quot;],&quot;copyright&quot;:[0,&quot;&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano M&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;backgroundColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/airwave-learn&quot;],&quot;_uid&quot;:[0,&quot;0c71c6e1-9aed-4e55-a48d-1bb459420841&quot;],&quot;image&quot;:[0,{&quot;id&quot;
454:[0,148558866362425],&quot;alt&quot;:[0,&quot;A metallic stand with a rectangular frame and a ribbed base, designed to hold a device upright.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-airwave-learn.148558866362425.webp&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/432x384/4e1135e22d/nav-airwave-learn.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A metallic stand with a rectangular frame and a ribbed base, designed to hold a device upright.&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-airwave-learn.148558866362425.webp&quot;],&quot;copyright&quot;:[0,&quot;&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Airwave&quot;],&quot;offerTag&quot;:[0,&quot;b0ed436e-1995-4617-bfb1-87b1e0664649&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/product/collection/create&quot;],&quot;_uid&quot;:[0,&quot;3f5c5437-ae07-43f6-af9c-33a761719f8c&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,166172062242952],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/432x384/98f8c8f8fe/creator-bundle-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Creator Products&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;\&quot;#F47676\&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}]]],&quot;links&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/product/learn-membership&quot;],&quot;_uid&quot;:[0,&quot;c89bbfd1-4297-4cf3-95c4-bb4ef127a2c5&quot;],&quot;title&quot;:[0,&quot;Learn Membership&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/product/collection/learn/accessories&quot;],&quot;_uid&quot;:[0,&quot;f464b427-3fba-47c3-915d-e7fbbd1fa0a6&quot;],&quot;title&quot;:[0,&quot;Accessories&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}]]],&quot;theme&quot;:[0,&quot;learn&quot;],&quot;title&quot;:[0,&quot;Products&quot;],&quot;component&quot;:[0,&quot;nav-section&quot;],&quot;promoItem&quot;:[1,[]],&quot;viewAllUrl&quot;:[0,&quot;/product/collection/learn&quot;],&quot;showViewAll&quot;:[0,true],&quot;viewAllLabel&quot;:[0,&quot;Shop all&quot;]}],[0,{&quot;url&quot;:[0,&quot;/product/collection/learn&quot;],&quot;_uid&quot;:[0,&quot;2276700c-84d6-4bad-ab91-44a72319f68c&quot;],&quot;items&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/product/collection/learn&quot;],&quot;_uid&quot;:[0,&quot;b20c7155-0d24-4f60-95d8-6dd336ac0d50&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;filename&quot;:[0,null],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Shop&quot;],&quot;offerTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/blog&quot;],&quot;_uid&quot;:[0,&quot;6eb8c6ba-a770-4e55-ad87-1a05ccb06cbc&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;filename&quot;:[0,null],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Blog&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/support&quot;],&quot;_uid&quot;:[0,&quot;631db69f-471e-4075-b9df-1060181243c4&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;filename&quot;:[0,null],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Support&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/about-us&quot;],&quot;_uid&quot;:[0,&quot;9fc8ee46-b344-44d8-8262-80e4e5dae2bc&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;title&quot;:[0,&quot;About us&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;\&quot;#F47676\&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/start&quot;],&quot;_uid&quot;:[0,&quot;40df0dc2-cbd1-416f-8c4a-2051c418be26&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;filename&quot;:[0,null],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Get Started&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/order-management&quot;],&quot;_uid&quot;:[0,&quot;406b15a9-d1e2-4f98-b42d-4868de879604&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;title&quot;:[0,&quot;Order Management&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}]]],&quot;links&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/team&quot;],&quot;_uid&quot;:[0,&quot;b101053a-e9e2-4905-a9ac-c65e9728c481&quot;],&quot;title&quot;:[0,&quot;Our Team&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/careers&quot;],&quot;_uid&quot;:[0,&quot;103b4450-d2ef-4b49-8476-d2e00ea3df48&quot;],&quot;title&quot;:[0,&quot;Careers&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/start&quot;],&quot;_uid&quot;:[0,&quot;8ed070f4-a2d3-4b31-be1f-fc4d14ba8a67&quot;],&quot;title&quot;:[0,&quot;Get Started&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,true]}]]],&quot;theme&quot;:[0,&quot;learn&quot;],&quot;title&quot;:[0,&quot;More&quot;],&quot;component&quot;:[0,&quot;nav-section&quot;],&quot;viewAllUrl&quot;:[0,&quot;&quot;],&quot;showViewAll&quot;:[0,false],&quot;viewAllLabel&quot;:[0,&quot;&quot;]}]]],&quot;theme&quot;:[0,0],&quot;astroParams&quot;:[0,{&quot;slug&quot;:[0,&quot;learn-piano-with-video-game-music-in-roli-learn&quot;]}],&quot;ariaLabels&quot;:[0,{&quot;_uid&quot;:[0,&quot;61fdaf48-3ca0-4f1c-8101-59d44353e5c3&quot;],&quot;component&quot;:[0,&quot;ariaLabelSection&quot;],&quot;ariaLabelCart&quot;:[0,&quot;Cart&quot;],&quot;ariaLabelHome&quot;:[0,&quot;Go to ROLI homepage&quot;],&quot;ariaLabelLogin&quot;:[0,&quot;Sign in&quot;],&quot;ariaLabelAccount&quot;:[0,&quot;My account&quot;],&quot;ariaLabelOpenMenu&quot;:[0,&quot;Open navigation menu&quot;],&quot;ariaLabelCloseMenu&quot;:[0,&quot;Close navigation menu&quot;]}],&quot;loginCtaText&quot;:[0,&quot;Login&quot;],&quot;accountCtaText&quot;:[0,&quot;Account&quot;],&quot;language&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;NavigationMenuDesktop&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div> <div class="lg:hidden"> <astro-island uid="Z1Jq2ep" component-url="/_astro/menu-small.CNeITomP.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;sections&quot;:[1,[[0,{&quot;_uid&quot;:[0,&quot;78359e74-2695-4b6e-a59f-ccf53af69c69&quot;],&quot;items&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/experience/roli-piano-system-learn&quot;],&quot;_uid&quot;:[0,&quot;d4b03d3a-f057-48c6-bcb1-55b90ed3d5b1&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148829459294432],&quot;alt&quot;:[0,&quot;A ROLI Piano M keyboard with multicolored keys is placed on a desk, with a tablet displaying a piano learning app showing animated hands and notes above the instrument.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/mobile-nav-piano-airwave.148829459294432.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/374x339/ea1e8d3253/mobile-nav-piano-airwave.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano M keyboard with multicolored keys is placed on a desk, with a tablet displaying a piano learning app showing animated hands and notes above the instrument.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/mobile-nav-piano-airwave.148829459294432.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano System&quot;],&quot;promoTag&quot;:[0,&quot;Most popular&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/piano-learn&quot;],&quot;_uid&quot;:[0,&quot;3f798903-1bd9-4460-bb14-503aee4cbf93&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148790751071055],&quot;alt&quot;:[0,&quot;A ROLI Piano M with pastel-colored keys is positioned on a desk, supporting a tablet displaying the ROLI Learn app with a lesson titled \&quot;Getting started with ROLI Piano.\&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-mobile.148790751071055.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/500x375/ecc05c354b/nav-piano-mobile.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano M with pastel-colored keys is positioned on a desk, supporting a tablet displaying the ROLI Learn app with a lesson titled \&quot;Getting started with ROLI Piano.\&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav-piano-mobile.148790751071055.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/piano-m-learn&quot;],&quot;_uid&quot;:[0,&quot;b4c517da-5d34-40ec-b602-23d24eb9af66&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,148834895145469],&quot;alt&quot;:[0,&quot;A ROLI Piano M with a tablet displaying a digital piano interface, showing colored notes and highlighted keys, set up on a flat surface.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_piano-m-1.148834895145469.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/335x213/c2df048699/nav_piano-m-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Piano M with a tablet displaying a digital piano interface, showing colored notes and highlighted keys, set up on a flat surface.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_piano-m-1.148834895145469.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Piano M&quot;],&quot;offerTag&quot;:[0,&quot;b0ed436e-1995-4617-bfb1-87b1e0664649&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/experience/airwave-learn&quot;],&quot;_uid&quot;:[0,&quot;1e9c0b89-f4b6-494f-a84f-c5d1cf4dee88&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,149149445849299],&quot;alt&quot;:[0,&quot;A black and silver stand with a rectangular frame and a grooved base, designed for holding a musical instrument or device upright.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_airwave-1.149149445849299.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/326x270/71a52bdc97/nav_airwave-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A black and silver stand with a rectangular frame and a grooved base, designed for holding a musical instrument or device upright.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/nav_airwave-1.149149445849299.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Airwave&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/product/learn-membership&quot;],&quot;_uid&quot;:[0,&quot;97600ae4-f244-4a5b-926b-e9658dcbc300&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,17287170],&quot;alt
454&quot;:[0,&quot;In cascade view RBG colored music notes slide off to keyboard&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;ROLI Piano M for Learners&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/roli_learncard.17287170.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2154x1459/ea3571be24/roli_learncard.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;In cascade view RBG colored music notes slide off to keyboard&quot;],&quot;title&quot;:[0,&quot;ROLI Piano M for Learners&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/roli_learncard.17287170.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Learn Membership&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#F47676&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/product/collection/create&quot;],&quot;_uid&quot;:[0,&quot;56ced40c-9fb6-4506-a368-c6df02fda14f&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,166172062242952],&quot;alt&quot;:[0,&quot;A ROLI Seaboard 2 with a black silicone surface sits behind a ROLI Piano M, which features a colorful gradient key design, both displayed on a plain background.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/creator-bundle-1.166172062242952.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/432x384/98f8c8f8fe/creator-bundle-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A ROLI Seaboard 2 with a black silicone surface sits behind a ROLI Piano M, which features a colorful gradient key design, both displayed on a plain background.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/creator-bundle-1.166172062242952.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;title&quot;:[0,&quot;Creator Products&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;\&quot;#F47676\&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;url&quot;:[0,&quot;/product/collection/learn/accessories&quot;],&quot;_uid&quot;:[0,&quot;26ee4c05-0d7a-4388-b688-1a7ee7483263&quot;],&quot;image&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;title&quot;:[0,&quot;Accessories&quot;],&quot;offerTag&quot;:[0,&quot;&quot;],&quot;promoTag&quot;:[0,&quot;&quot;],&quot;component&quot;:[0,&quot;nav-section-item&quot;],&quot;promoTagColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7A9AE6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;backgroundColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}]]],&quot;links&quot;:[1,[]],&quot;theme&quot;:[0,&quot;learn&quot;],&quot;title&quot;:[0,&quot;Products&quot;],&quot;component&quot;:[0,&quot;mobile_nav_section&quot;],&quot;promoItem&quot;:[1,[]],&quot;viewAllUrl&quot;:[0,&quot;/product/collection/learn&quot;],&quot;viewAllLabel&quot;:[0,&quot;Shop all products&quot;],&quot;promoItemColour&quot;:[0,{&quot;value&quot;:[0,&quot;#7a9ae6&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;titleOverrideColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}],[0,{&quot;_uid&quot;:[0,&quot;f26b16c8-1481-4297-8433-a9aa50beec7b&quot;],&quot;items&quot;:[1,[]],&quot;links&quot;:[1,[[0,{&quot;url&quot;:[0,&quot;/product/collection/learn&quot;],&quot;_uid&quot;:[0,&quot;8e4dec7b-179e-4b0a-950c-1e4b70dfffcf&quot;],&quot;title&quot;:[0,&quot;Shop&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/blog&quot;],&quot;_uid&quot;:[0,&quot;91a23c05-eab9-4099-acaf-e1a0bd865cf7&quot;],&quot;title&quot;:[0,&quot;Blog&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/about-us&quot;],&quot;_uid&quot;:[0,&quot;4c99cbdf-16a3-4bfb-9ade-1f630d915c25&quot;],&quot;title&quot;:[0,&quot;About us&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/support&quot;],&quot;_uid&quot;:[0,&quot;c5ac5c51-5702-4765-bb31-001dffd4cd53&quot;],&quot;title&quot;:[0,&quot;Support&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/faq&quot;],&quot;_uid&quot;:[0,&quot;dded6bdd-720c-4669-9e4c-2998104d2eaf&quot;],&quot;title&quot;:[0,&quot;FAQs&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/start&quot;],&quot;_uid&quot;:[0,&quot;3560d9b4-3575-429b-810b-ad120af7e275&quot;],&quot;title&quot;:[0,&quot;Get Started&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}],[0,{&quot;url&quot;:[0,&quot;/order-management&quot;],&quot;_uid&quot;:[0,&quot;20545b8d-57c0-43dc-8f53-f3dada8c08bd&quot;],&quot;title&quot;:[0,&quot;Order Management&quot;],&quot;component&quot;:[0,&quot;link-and-title&quot;],&quot;textColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;hasTopOffset&quot;:[0,false],&quot;disableRegionParam&quot;:[0,false]}]]],&quot;theme&quot;:[0,&quot;learn&quot;],&quot;title&quot;:[0,&quot;More&quot;],&quot;component&quot;:[0,&quot;mobile_nav_section&quot;],&quot;viewAllUrl&quot;:[0,&quot;&quot;],&quot;viewAllLabel&quot;:[0,&quot;View all&quot;],&quot;promoItemColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}],&quot;titleOverrideColour&quot;:[0,{&quot;value&quot;:[0,&quot;&quot;],&quot;plugin&quot;:[0,&quot;storyblok-palette&quot;]}]}]]],&quot;astroParams&quot;:[0,{&quot;slug&quot;:[0,&quot;learn-piano-with-video-game-music-in-roli-learn&quot;]}],&quot;theme&quot;:[0,0],&quot;ariaLabels&quot;:[0,{&quot;_uid&quot;:[0,&quot;6182f49c-9396-497d-a0af-d50b0b258483&quot;],&quot;component&quot;:[0,&quot;ariaLabelSection&quot;],&quot;ariaLabelHome&quot;:[0,&quot;Go to ROLI homepage&quot;],&quot;ariaLabelOpenMenu&quot;:[0,&quot;Open navigation menu&quot;],&quot;ariaLabelCloseMenu&quot;:[0,&quot;Close navigation menu&quot;]}],&quot;loginCtaText&quot;:[0,&quot;Login&quot;],&quot;accountCtaText&quot;:[0,&quot;Account&quot;],&quot;language&quot;:[0]}" ssr client="only" opts="{&quot;name&quot;:&quot;NavigationMenuSmall&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div>  <article> <section class="relative flex flex-col items-center justify-center gap-[30px] bg-purple-400 px-[16px] pt-[100px] pb-[70px] md:gap-[42px] md:pt-[173px] md:pb-[150px]">  <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li> </ul> </div> <h1 class="text-title-small md:text-headline-small max-w-[600px] text-center font-light"> Ready Player One? Play along to video game music in ROLI Learn </h1> <p class="text-body-small md:text-body-large max-w-[600px] text-center md:whitespace-pre-line"> Beat your piano learning high scores with your favorite game soundtracks </p> <div class="text-caption-small md:text-caption text-on-ivory-ebony-alt flex flex-row items-center space-x-1 md:space-x-4"> <a class="hover:underline" href="/blog/author/roli-writer"> ROLI Team </a> <p>/</p><p>1 July 2026</p>  </div> </section> <astro-island uid="1XUxhr" component-url="/_astro/media-with-overlay.rz8JzQqv.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;image&quot;:[0,{&quot;id&quot;:[0,193397421975609],&quot;alt&quot;:[0,&quot;A close-up of a tablet screen displaying four colorful panels, each featuring the title and composer of a video game soundtrack, with stylized illustrations representing \&quot;The Last of Us,\&quot; \&quot;Kingdom Hearts,\&quot; \&quot;Minecraft,\&quot; and \&quot;Assassin’s Creed III.\&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/video-game-music-blog.193397421975609.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2024x1140/02d86e705f/video-game-music-blog.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A close-up of a tablet screen displaying four colorful panels, each featuring the title and composer of a video game soundtrack, with stylized illustrations representing \&quot;The Last of Us,\&quot; \&quot;Kingdom Hearts,\&quot; \&quot;Minecraft,\&quot; and \&quot;Assassin’s Creed III.\&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/video-game-music-blog.193397421975609.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;overlayText&quot;:[0,&quot;&quot;],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,193397421975609],&quot;alt&quot;:[0,&quot;A close-up of a tablet screen displaying four colorful panels, each featuring the title and composer of a video game soundtrack, with stylized illustrations representing \&quot;The Last of Us,\&quot; \&quot;Kingdom Hearts,\&quot; \&quot;Minecraft,\&quot; and \&quot;Assassin’s Creed III.\&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/video-game-music-blog.193397421975609.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2024x1140/02d86e705f/video-game-music-blog.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A close-up of a tablet screen displaying four colorful panels, each featuring the title and composer of a video game soundtrack, with stylized illustrations representing \&quot;The Last of Us,\&quot; \&quot;Kingdom Hearts,\&quot; \&quot;Minecraft,\&quot; and \&quot;Assassin’s Creed III.\&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/video-game-music-blog.193397421975609.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;videoUrl&quot;:[0,&quot;&quot;],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoPosterImage&quot;:[0,&quot;&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;BlogMediaOverlay&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <section class="bg-ivory relative w-full pt-6 md:pt-16 md:pb-0"> <div class="mx-auto flex max-w-[1200px] flex-col items-center justify-between gap-5 px-[42px] md:flex-row"> <div class="flex flex-row space-x-2 opacity-70"> <a href="https://www.facebook.com/sharer/sharer.php?u=https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" target="_blank" class="h-6 w-6"> <svg
455  height="100%"
456  style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" 
457  version="1.1" 
458  viewBox="0 0 512 512" 
459  width="100%" 
460  xml:space="preserve" 
461  xmlns="http://www.w3.org/2000/svg" 
462  xmlns:serif="http://www.serif.com/"
463  xmlns:xlink="http://www.w3.org/1999/xlink"
464>
465    <path d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z"/>
466</svg> </a><a href="https://x.com/share?url=https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" target="_blank" class="h-6 w-6"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" width="24px" height="24px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"><g><polygon points="12.153992,10.729553 8.088684,5.041199 5.92041,5.041199 10.956299,12.087097 11.59021,12.97345    15.900635,19.009583 18.068909,19.009583 12.785217,11.615906  "/><path d="M21.15979,1H2.84021C1.823853,1,1,1.823853,1,2.84021v18.31958C1,22.176147,1.823853,23,2.84021,23h18.31958   C22.176147,23,23,22.176147,23,21.15979V2.84021C23,1.823853,22.176147,1,21.15979,1z M15.235352,20l-4.362549-6.213013   L5.411438,20H4l6.246887-7.104675L4,4h4.764648l4.130127,5.881958L18.06958,4h1.411377l-5.95697,6.775635L20,20H15.235352z"/></g></svg> </a><a href="https://reddit.com/submit?url=https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" target="_blank" class="h-6 w-6"> <svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" version="1.1" viewBox="0 0 512 512" width="100%" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0
466,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z"/></svg> </a><a href="mailto:?subject=LuminaryROLI-learn-piano-with-video-game-music-in-roli-learn&#38;body=https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" target="_blank" class="h-6 w-6"> <?xml version="1.0" ?><svg height="24" viewBox="0 0 72 72" width="24" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M8,72 L64,72 C68.418278,72 72,68.418278 72,64 L72,8 C72,3.581722 68.418278,-8.11624501e-16 64,0 L8,0 C3.581722,8.11624501e-16 -5.41083001e-16,3.581722 0,8 L0,64 C5.41083001e-16,68.418278 3.581722,72 8,72 Z" fill="#000"/><path d="M18,26.1623226 L18,46.5476129 C18,47.6566452 18.8117419,48.5554839 19.9300645,48.5554839 L51.7447742,48.5554839 C52.8619355,48.5554839 53.6748387,47.6461935 53.6748387,46.5476129 L53.6748387,26.1623226 C53.6748387,24.9452903 52.947871,24 51.7447742,24 L19.9300645,24 C18.6805161,24 18,24.9685161 18,26.1623226 M20.9334194,27.9379355 C20.9334194,27.4467097 21.2307097,27.1656774 21.7056774,27.1656774 C21.9994839,27.1656774 33.560129,34.4910968 34.2603871,34.9207742 L36.0696774,36.0460645 C36.6433548,35.6616774 37.2193548,35.3330323 37.8139355,34.9347097 C39.0274839,34.1589677 49.8251613,27.1656774 50.1224516,27.1656774 C50.5985806,27.1656774 50.8947097,27.4467097 50.8947097,27.9379355 C50.8947097,28.4581935 49.8925161,28.9749677 49.239871,29.3732903 C45.1393548,31.8723871 41.04,34.5967742 36.980129,37.1887742 C36.7432258,37.3490323 36.2845161,37.6916129 35.9407742,37.6393548 C35.5575484,37.580129 23.7936774,30.0224516 21.6534194,28.7636129 C21.3317419,28.5743226 20.9334194,28.4012903 20.9334194,27.9379355" fill="#FFF"/></g></svg> </a><a href="https://wa.me/?text=https://roli.com/blog/learn-piano-with-video-game-music-in-roli-learn" target="_blank" class="h-6 w-6"> <svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;" version="1.1" viewBox="0 0 512 512" width="100%" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z"/></svg> </a> </div> </div> </section>  <div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 justify-center flex   px-4 lg:px-[42px] ">  <section class="bg-ivory w-full md:py-6"> <div class="mx-auto flex max-w-[832px] flex-col items-center justify-center"> <h3 class="md:text-title-large text-title-small mb-4 text-center font-normal md:font-light">  </h3> <div><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4 !text-black-100 "><span style="color: #000000">Many of us will have a core memory locked away somewhere deep in the recesses of our minds that comes hurtling to the surface whenever we hear the sounds of a beloved video game soundtrack. From Super Mario Bros. and Sonic the Hedgehog to Grand Theft Auto and Undertale, video game music has transcended beyond the confines of the pixelated on-screen worlds and into our daily listening.</span></p></div> </div> </section>  </section>  </div> </div> <div> <div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="189ff90a-feea-4072-b2a3-cf1a4b15044c" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">The evolution of video game music has been structurally tied to the hardware and instruments used to make it. While early video game music started with simple programming, it has since evolved into a multi-layered art form, combining genres such as electronic, rock, jazz, and funk, as well as powerful orchestral scores that evoke emotion. </span></p><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">The music has gone from a simple accompaniment to gameplay to something that defines the player’s journey, enhancing the experience by shaping our moods, heightening tension, and celebrating our triumphs and losses through sound. </span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="bbb6c5ab-6cce-4a94-a2c4-28e65df51421" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">From beeps to ballads </h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Early video game music was limited by hardware, requiring composers to use basic waveforms to create chiptune styles. Arcade games like Space Invaders (1978) and Pac-Man (1980) used short musical motifs as start-up sounds, but excluding sounds and music synced with player actions, gameplay was relatively sonically sparse. It was not until 1980 that Namco would release Rally-X, one of the first video games to feature continuous, melodic background music during gameplay. </span></p><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Tetris (1984) was originally launched without music, but as the game&#039;s popularity expanded worldwide, each region later included musical choices of its own. The US Tetris release leaned into digital interpretations of Russian classical music, including</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/Pyotr_Ilyich_Tchaikovsky" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Pyotr_Ilyich_Tchaikovsky" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Pyotr Ilyich Tchaikovsky</a></span></u><span style="color: #000000">&#039;s &quot;</span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Trepak_(The_Nutcracker)" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Trepak</a></span></u><span style="color: #000000">&quot; from</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/The_Nutcracker" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><em class="italic"><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/The_Nutcracker" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">The Nutcracker</a></span></em></u><span style="color: #000000"> and</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/Reinhold_Gli%C3%A8re" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Reinhold_Gli%C3%A8re" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Reinhold Glière</a></span></u><span style="color: #000000">&#039;s &quot;</span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Russian_Sailor_Dance" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Russian Sailor Dance</a></span></u><span style="color: #000000">&quot; from</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/The_Red_Poppy" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><em class="italic"><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/The_Red_Poppy" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">The Red Poppy</a></span></em></u><span style="color: #000000">, which was also translated into the NES version of the game using Tchaikovsky&#039;s &quot;</span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Dance_of_the_Sugar_Plum_Fairy" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Dance of the Sugar Plum Fairy</a></span></u><span style="color: #000000">&quot; from </span><em class="italic"><span style="color: #000000">
466The Nutcracker</span></em><span style="color: #000000">. The Game Boy version also featured German composer</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/Johann_Sebastian_Bach" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/Johann_Sebastian_Bach" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Johann Sebastian Bach</a></span></u><span style="color: #000000">&#039;s</span><span style="color: #000000"><a href="https://en.wikipedia.org/wiki/French_Suites_(Bach)" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out"> </a></span><u><em class="italic"><span style="color: #1155CC"><a href="https://en.wikipedia.org/wiki/French_Suites_(Bach)" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">French Suite No. 3</a></span></em></u><span style="color: #000000">. However, the Russian folk tune &quot;Korobeiniki&quot; is the most widely known theme for </span><em class="italic"><span style="color: #000000">Tetris</span></em><span style="color: #000000">. This 19th-century melody was given new life in 1984 and is now one of the most recognised melodies on the planet.</span></p><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">As we mentioned earlier, technology dictated what was sonically capable for video game music. CD-ROMs and MIDI music production enabled the creation of higher-fidelity tracks, which saw the rise of recorded orchestral instruments in video game soundtracks. The likes of </span><em class="italic"><span style="color: #000000">Final Fantasy VIII</span></em><span style="color: #000000">, </span><em class="italic"><span style="color: #000000">Metal Gear Solid</span></em><span style="color: #000000">, and </span><em class="italic"><span style="color: #000000">Resident Evil 2</span></em><span style="color: #000000"> were at the height of a trend towards more film-like scoring, elevating game music to even more emotive and atmospheric heights, and inviting greater layers of sonic complexity.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="4248bbfb-d299-4635-8cf7-08fc67b5f1d3" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">How video game music works: scoring an emotional journey</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">It can be easy to trivialise game music as simply something in the background of gameplay, but the use of theme tunes, ambient sounds, and action cues makes game music as integral as the graphics on the screen. It shapes our emotions and heightens our immersion in storytelling, and is a crucial part of game design itself. Properly timed music and sound effects can create realism in games. The music makes the on-screen peril feel all the more real, lets players know when they’re on the right path, close to danger, running out of time or health, or have reached the path to victory. The power of game music is that it transforms a predominantly visual experience into a deeply moving and memorable one, where tension and release are guided by sound.</span></p><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">While game music can be classed as a genre of its own, it’s actually a genre with a complex palette of sonic references. Many game soundtracks have borrowed from countless genres, including classical music, pop, jazz, funk, synthwave, ambient design, and industrial noise. </span></p><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">In recent years, the classical music world has been revitalised by video game music, with sold-out orchestral events attracting gamer communities and lovers of lush orchestration alike. On a much smaller scale, there’s also been a trend towards live bands playing at gaming events, most notably </span><u><span style="color: #1155CC"><a href="https://thenudge.com/marioke/" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Marioke</a></span></u><span style="color: #000000">, where a live band accompanies racers, playing each course’s soundtrack (complete with countdowns, power-ups, and finish line melody changes).</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="7052373a-694c-41ec-87e9-bff107d858a2" class="w-full"> <astro-island uid="jO4nT" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=JVKv6pMbAzU&amp;list=RDJVKv6pMbAzU&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">
466  <section id="2c66f1bc-b244-4376-841f-2d24c66d9115" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">From pixels to piano: learning to play your favorite video game music</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">So you&#039;ve clocked in hundreds of hours playing RPGs, clearing level after level and stage after stage, but putting in as many hours to play those beloved soundtracks and music from video games might seem like a tougher battle. And while there&#039;s no cheat code to mastering the piano, ROLI Learn makes it a lot more fun. Using the ROLI Piano System, you might find it&#039;s a familiar world of visual guidance and coordination, geared towards playing and learning music. In AI Music Coach, you&#039;ll have the voice of a helpful guide by your side, giving you tips and tricks when you need them. With easy steps, you can learn to read music, understand rhythm, and develop your own sense of musicality. Think of it as </span><u><span style="color: #1155CC"><a href="https://roli.com/blog/from-guitar-hero-to-roli-piano-how-rhythm-games-became-real-music-learning" class="text-purple-300 hover:text-blue-200 transition-colors duration-200 ease-in-out">Guitar Hero for piano lessons</a></span></u><span style="color: #000000">.</span></p><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Game START! Play along with your favorite game music in ROLI Learn</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Just like your favorite games that kept you coming back for more, in the ROLI Learn app, you can choose one of your favorite game soundtracks and level up your piano skills.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="abd77645-b568-4f5f-b1e7-9f4225971fa9" class="w-full"> <astro-island uid="2vz12J" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=NmCCQxVBfyM&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="260c5eda-a156-4885-bbde-bdce5608a405" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Tetris Theme (Traditional)</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">While we all know it as The Tetris theme, the Russian folk melody &quot;Korobeiniki&quot; is the real title of the theme to the world-renowned and beloved brick puzzle game. This song is a great challenge for building right-hand dexterity and rhythmic precision.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="a2bb57de-3a32-41b9-8361-2c5578f90fe9" class="w-full"> <astro-island uid="1FjtkU" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=qq-RGFyaq0U&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="9f6af09a-bf12-4cd3-9377-aefc2b3a916c" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Minecraft – C418</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Moving on from 2D bricks to 3D blocks, the gentle and ambient sounds of Minecraft music is an emotionally resonant touchstone for an entire generation of gamers. Playing along to this piece will help you understand how mood and dynamics can build and absorb you in gameplay, even when the chord progression is relatively simple.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="f0200eaf-f0cd-4972-ba7f-a94af7959bcc" class="w-full">
466 <astro-island uid="Z1fczNt" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=Jk4P10nsq4c&amp;list=RDJk4P10nsq4c&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="8adefb6a-bc41-4d8c-b829-1ee7fd94951f" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Dearly Beloved from Kingdom Hearts – Yoko Shimomura</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Legendary Japanese composer Yoko Shimomura is a master in the art of video game composing. Her career spans works including </span><em class="italic"><span style="color: #000000">Street Fighter II</span></em><span style="color: #000000">, </span><em class="italic"><span style="color: #000000">Super Mario RPG, </span></em><span style="color: #000000">and </span><em class="italic"><span style="color: #000000">Final Fantasy XV</span></em><span style="color: #000000">. We’ve got a fan favorite from the iconic </span><em class="italic"><span style="color: #000000">Kingdom Hearts</span></em><span style="color: #000000"> series available to play in the Learn app, the aptly named ‘Dearly Beloved’.This recurring motif across the entire </span><em class="italic"><span style="color: #000000">Kingdom Hearts </span></em><span style="color: #000000">series is a masterclass in lyrical piano playing and Japanese RPG compositional hallmarks. If you want to really understand how legato and beautiful phrasing work as an emotional trigger in video game music composition, this is the piece for you.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="352d9ae0-4f7e-4979-80a1-e5b049ef4808" class="w-full"> <astro-island uid="Z1luVDp" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=Pt1pOY3_W64&amp;list=RDPt1pOY3_W64&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="ba5204b2-f395-4e2f-bbf2-b1ff4805a30f" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">The Last of Us – Gustavo Santaolalla</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Two-time Academy Award winner for </span><em class="italic"><span style="color: #000000">Brokeback Mountain </span></em><span style="color: #000000">and </span><em class="italic"><span style="color: #000000">Babel, </span></em><span style="color: #000000">Santaolalla’s score for </span><em class="italic"><span style="color: #000000">The Last of Us </span></em><span style="color: #000000">takes a minimalist approach, using sparse, haunting guitars to channel true suspense and isolation. If you’re not a gamer, you may be familiar with the HBO series adaptation, which brought Santaolalla’s compositions to an even wider audience. If dystopian themes are more your thing, this is a great piece to try, packed with emotional depth.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="6c8b06cd-6984-4602-93d9-997ca31662e0" class="w-full"> <astro-island uid="1wLJfj" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=IJiHDmyhE1A&amp;list=RDIJiHDmyhE1A&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="57400fdd-81b3-4378-956a-5492cc390d94" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Baba Yetu – Christopher Tin</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">In 2011, “Baba Yetu” from Civilization IV became the first video game song to win a Grammy award for ‘Best Arrangement, Instruments and Vocals’. Interestingly, the piece was originally written in Swahili and was based on the Lord&#039;s Prayer. While it may seem a bit more complex, this piece is a more motivating choice for learners who want to challenge themselves with a more unconventional video game soundtrack.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="0911a048-99e0-42c1-bdc9-71424bea0d7e" class="w-full"> <astro-island uid="IG5pP" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=KK3KXAECte4&amp;list=RDKK3KXAECte4&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="eb6a2931-b02b-4838-ad9a-425bf631b10f" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Megalovania – Toby Fox</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">The soundtrack for the viral internet sensation Undertale was written by Toby Fox when he was just 19. The song itself has a legacy of its own, becoming one of the most-covered songs of the soundtrack due to its complexity. If you&#039;re an intermediate player looking for a tougher challenge, you can try tackling “Megalovania” from Undertale. It&#039;s more of a rhythmically demanding piece, but a great next step that gives you a strong sense of achievement once you nail it.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="8e6ad1ab-fe2f-4216-abfc-0b3c43bca4ea" class="w-full"> <astro-island uid="Z1CMRdQ" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=DehK_Y0TUbE&amp;list=RDDehK_Y0TUbE&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="ee859348-0db3-47c2-8e5e-38e1a95332f0" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Angry Birds Theme — Ari Pulkkinen </h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Angry Birds is one of the most successful mobile games in history, with over 4 billion downloads, and its instantly recognisable theme is one of the most-heard pieces of music of the 2010s, referenced from online content right through to television shows. The jaunty ditty will be a delight to learn to play for those looking for something more light-hearted to master, with a few rhythmic challenges to keep you on your toes (or should we say fingers?)</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="e7f97cc4-2ec4-4954-9bf7-80ad198f47d6" class="w-full"> <astro-island uid="Z2sNGvB" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=UsnRQJxanVM&amp;list=RDUsnRQJxanVM&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="1c9e313f-d42f-4707-a2ed-6a6b3d73fb66" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Dragonborn from Skyrim — Jeremy Soule </h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">
466The Skyrim theme employs a 30-person choir singing in the fictional Dragon language known as Dovahzul. With over 30 million copies of Skyrim sold, this theme is one of the most recognisable pieces of video game music ever written, with its combination of Dovahzul chanting soaring over a rich orchestral foundation.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="efbff379-19bf-4aaa-aaa1-c9b1bd8b84cc" class="w-full"> <astro-island uid="kAHa2" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://youtu.be/2KndDDQZveQ?si=SXWt5jRK5LwT27Yh&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="f159d67a-dc13-421d-ab17-51489bad7f34" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Assassin's Creed III & Revelations by Lorne Balfe</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">With Hollywood film credits including </span><em class="italic"><span style="color: #000000">Mission: Impossible – Fallout</span></em><span style="color: #000000">, </span><em class="italic"><span style="color: #000000">Black Widow</span></em><span style="color: #000000">, and </span><em class="italic"><span style="color: #000000">The Batman</span></em><span style="color: #000000">, Lorne Balfe’s work for </span><em class="italic"><span style="color: #000000">Assassin’s Creed </span></em><span style="color: #000000">brings the grandeur of the big screen to the small screen, but there’s nothing small about his sound. It’s packed with intensity and a strong, propulsive energy that keeps you hooked.</span><em class="italic"><span style="color: #000000"> </span></em><span style="color: #000000">The Scottish-born composer also studied under none other than Hans Zimmer.</span></p></div> </div> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1 py-6 md:py-8   px-4 lg:px-[42px] ">  <section id="37fafb63-7f38-412a-b026-d89bea683b3b" class="w-full"> <astro-island uid="1jwLYg" component-url="/_astro/youtube-video-player.CKi_Ntr3.js" component-export="YoutubeVideoPlayer" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;autoplayVideo&quot;:[0,false],&quot;videoTitle&quot;:[0,&quot;&quot;],&quot;videoUrl&quot;:[0,&quot;https://www.youtube.com/watch?v=fCkeLBGSINs&amp;list=RDfCkeLBGSINs&amp;start_radio=1&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;YoutubeVideoPlayer&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </section>  </section>  </div> </div><div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <section id="8e160773-bb12-41ce-8906-5007c2730758" class="bg-ivory flex gap-[15px] md:gap-[50px] md:py-8 flex-col w-full undefined"> <div class="undefined  md:w-[60%]"> <div><h3 class="text-body-large md:text-title-large font-light mb-4 mt-8 w-full ">Pokémon Theme</h3><p class="text-body-small text-ebony-60 mb-4 md:text-body-large leading-[150%] tracking-normal font-text mb-4  "><span style="color: #000000">Okay, we’re cheating a little with this one, but we couldn’t omit the original Pokémon theme from our list  — even if it is the one from the anime. Pokémon’s origins are in the video game world, starting back in 1996 when Game Freak released the RPGs </span><em class="italic"><span style="color: #000000">Pokemon Red</span></em><span style="color: #000000"> and </span><em class="italic"><span style="color: #000000">Pokémon Blue</span></em><span style="color: #000000">. The success of the games led to an anime adaptation in 1997, and well, the rest is history. John Siegler’s theme tune for the series</span><strong class="font-bold"><span style="color: #000000"> </span></strong><span style="color: #000000">is one of the most culturally important and instantly recognisable pieces of music of the 1990s, and one of the most adored by children and nostalgia-prone adults alike.</span></p></div> </div> </section>  </section>  </div> </div> </div> <div class="bg-ivory flex items-center justify-center pt-2 pb-[32px] text-center align-middle font-medium"> <a class="flex-row-reverse tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4  text-ebony bg-transparent border-ebony font-medium   " aria-label="Back to Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>
466Back to Learn<span class="mr-3 mb-2 h-[10px]"><svg width="19" height="18" viewBox="0 0 19 18" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
467<rect x="0.5" width="18" height="18" fill="url(#pattern0_4661_15673)"/>
468<defs>
469<pattern id="pattern0_4661_15673" patternContentUnits="objectBoundingBox" width="1" height="1">
470<use xlink:href="#image0_4661_15673" transform="scale(0.0111111)"/>
471</pattern>
472<image id="image0_4661_15673" width="90" height="90" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAACXBIWXMAAAsTAAALEwEAmpwYAAADRElEQVR4nO2cu2tUQRxGTxLNS0ET/QMUFNH4aGwEbQ2KiAki1gqxkJBOsJAUFkYwIoiaiNjaW0TxDWLAJ3YhPiAoK6j4wKjRFFm5MILIzt3N5s7MZu534NcNzJeT2bmzszMXhBBCCCGEECIHNAGngE/Ad2AYaAkdKkbJI0Dxv0pkC8eSk/omy+4lJ/U1o35yTTnJSZ0OHTIPkkdMO1EljcDVMpKvA80yXD2S7AFJ9oAke0CSPSDJHmipYAk3X+o38Bl4BdwBhoBeYANQR2Au1oCgoof6AFwCtoWQXg/8rAEJRc/1AjhopkyJxr3wN8B+X7KHa2CEFQPXTWCla9HNET0Mi3OoL0C3a9mxbB4tBNqAtcAe4JhZfUzNQvhx1yFjkV2KJebh96hC2clKrAGHxCz7L9uBpxXKdkoeZDeYLzI/NI34YT0wliJ7BuhyHSIPIzuhHXhQZjWyAsfkRXZrGdk3fISoRPYZ5j/tZaaRfbUge7IWdscymrNtD8gJs04PKnvKbFDFQG/KgDrgK4RN9mXioQF4ZhE97vOT22Tm5EkzkhPJi4mLzpRRvdV3mLpI5mUbjy2idaAzY3osot9HPsC8sxT4ZZHd4T9O3Ny1iD4cOlhs9FtEnw8dLDa6LKJvhw4WG+ssol+HDhYbyy2iP4YOFhtNFtHJakR4EJ2U8DB1SHTGJF9MJNoD3RbRu310nif6LaJXhQ4WG/csvyY5PVyTN9osm0rXQgfLyzbpkdDBYuOJRfTq0MFiYqdF8sPQwWJiAfDcIvpQ6HAx0Zdy2Uhv2smIjSmXp45m1UneWWbObdhOKWk0Z8AiYDRlX2NvFp3knTbgforkK6EDxjInj6dInjCnTMUclnB9ZW4NJ3sam6rtQMCOlHXyv5f3d0lWdfNwT4W3saZ93FuZ7zSaZVqH2bTvN1udtqNdpd7f1+ky3EngHVAABsrc+nfdvhU4Z/7ooscaMzdunTFQotOBgO2HPAueMf9Y519ICiU6LwRqX+/5/SHJbtwWPJFH0aPmgef1nHOpj/aJgO2HHMl9CwwCmwlEo5FRmMXDzWX7FuCsubE6W5nT5uVVL4FbwAWzrFszBz9CCCGEEEIIIYQQQgghqJg/EGZC6irUMj0AAAAASUVORK5CYII="/>
473</defs>
474</svg>
475</span></a> </div> <div class="bg-ivory"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1  pt-xs md:pt-small  px-4 lg:px-[42px] ">  <p class="text-title-small md:text-title-large font-light"> Suggested articles </p> <div class="scrollbar z-10 mb-8 flex snap-x snap-mandatory flex-row gap-[10px] overflow-x-scroll py-10"> <div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/christmas-songs-in-the-roli-learn-app-blog.123738947679617.jpg" alt="Four colorful panels displayed on a tablet screen, each featuring a stylized portrait of a singer and the title of a classic Christmas song: &#34;All I Want for Christmas Is You&#34; (green), &#34;Have Yourself a Merry Little Christmas&#34; (orange), &#34;Chestnuts Roasting on an Open Fire&#34; (red), and &#34;Blue Christmas&#34; (blue)." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">Ten festive favorites you can learn by Christmas</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/10-classic-christmas-songs-to-learn-on-piano" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]">
475<svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
476<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
477</svg>
478</span></a> </div> </div> </div><div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/2024-05_-_john_williams_-_blog_d.22979726.png" alt="Minimalist music app interface showing John Williams themes: Imperial March, Jurassic Park, and other movie soundtracks." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">Learn piano with film scores by John Williams</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/learn-piano-with-film-scores-by-john-williams" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]"><svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
479<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
480</svg>
481</span></a> </div> </div> </div><div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/2024-02_-_grammy_nominated_artists_-_blog.62853913932554.jpg" alt="Tablet screen displaying Grammy-nominated artists and s
481ongs in a colorful music app interface." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">Learn piano with Grammy-nominated artists from the ROLI Learn library</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/learn-piano-with-grammy-nominated-artists-featured-on-lumi" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]"><svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
482<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
483</svg>
484</span></a> </div> </div> </div><div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/olivia-rodrigo-and-the-beatles-blog_desktop.91854182973632.png" alt="Tablet screen showing a music app with Olivia Rodrigo and The Beatles medley song selections and search filters." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">Learn piano with Olivia Rodrigo and The Beatles</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/learn-piano-with-olivia-rodrigo-and-the-beatles" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]">
484<svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
485<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
486</svg>
487</span></a> </div> </div> </div><div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/movie-magic-in-the-roli-learn-app-blog-header.91557289298909.png" alt="Colorful graphic of famous movie and TV themes: Interstellar, Star Wars, Toy Story, and The Simpsons on a tablet screen." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">Lights, camera, action! Learn piano with classic film soundtracks in the ROLI Learn App</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/lights-camera-action-learn-piano-with-classic-film-soundtracks-in-the-roli" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]"><svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
488<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
489</svg>
490</span></a> </div> </div> </div><div class="flex w-[364px] flex-col md:snap-start"> <img class="rounded-4 relative min-h-[350px] min-w-[288px] object-cover md:min-h-[300px] md:min-w-[364px]" src="https://d30pueezughrda.cloudfront.net/roli.com/storyblok/2023-best_way_-_blog.22957350.png" alt="Boy playing digital piano at home with tablet and coffee mug on desk, surrounded by plants and natural light." loading="lazy"> <div class="md:justify-left flex flex-col items-center pt-[30px] pl-1 text-center md:items-start md:text-left"> <div> <div> <ul class="flex flex-row flex-wrap items-center gap-2"> <li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Education" href="/blog/tag/Education" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Education</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Learn" href="/blog/tag/learn" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Learn</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Roli Learn App" href="/blog/tag/roli-learn-app" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Roli Learn App</a> </li><li class="flex"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-caption p-2 py-4 px-2! py-1! text-ebony bg-transparent border-ebony font-medium   " aria-label="Piano M" href="/blog/tag/piano-m" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Piano M</a> </li> </ul> </div> </div> <p class="text-body-large pt-4">What’s the best way for kids to learn piano?</p> <div class="pt-6"> <a class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony bg-transparent border-ebony font-medium   " aria-label="Read more" href="/blog/whats-the-best-way-for-kids-to-learn-piano" role="button" tabIndex="0" target="_self"><span class="sr-only">Navigate to</span>Read more<span class="ml-4 h-[16px]">
490<svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
491<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
492</svg>
493</span></a> </div> </div> </div> </div>  </section>  </div> </div> 
493<script type="module">document.addEventListener("DOMContentLoaded",function(){const t=document.getElementById("blog-newsletter-signup-button");t&&t.addEventListener("click",function(){const n=document.getElementById("newsletter-signup-button");n&&n.click()})});</script>
493 <div class="bg-purple-400"> <div class="max-w-7xl mx-auto grid grid-cols-12 gap-4">  <section class="col-span-12 col-start-1    px-4 lg:px-[42px] ">  <div class="flex w-full flex-col items-center justify-between py-11 md:flex-row md:py-16"> <p class="text-title-small md:text-title-large mb-7 font-normal md:mr-[160px] md:mb-0 md:font-light">
494Join the ROLI community
495</p> <div class="flex flex-col md:space-y-7"> <button class="flex-row tb:hover:border-button-hover tb:hover:bg-button-hover tb:hover:text-ebony  rounded-4 active:border-button-active font-medium active:bg-button-active active:text-ebony relative inline-flex items-center justify-center border-[1px] text-center leading-none transition-all text-body-small px-5 py-[15px]  text-ebony border-transparent bg-white font-medium  cursor-pointer " aria-label="Sign up" id="blog-newsletter-signup-button" tabIndex="0"><span class="sr-only">Navigate to</span>Sign up<span class="ml-4 h-[16px]"><svg width="37" height="16" viewBox="0 0 37 16" fill="none" xmlns="http://www.w3.org/2000/svg">
496<path d="M36.6361 8.54771L28.5165 15.6082C28.1601 15.9181 27.6002 15.9181 27.2693 15.6082C26.9129 15.2984 26.9129 14.8114 27.2693 14.5237L33.8871 8.76904H0.890621C0.407009 8.76904 -0.000244141 8.41491 -0.000244141 7.99438C-0.000244141 7.57385 0.407009 7.21971 0.890621 7.21971H33.8617L27.2438 1.46505C26.8875 1.15518 26.8875 0.668246 27.2438 0.380513C27.422 0.22558 27.6511 0.15918 27.8801 0.15918C28.1092 0.15918 28.3383 0.22558 28.5165 0.380513L36.6361 7.44105C36.8143 7.59598 36.8906 7.77305 36.8906 7.99438C36.8906 8.21571 36.7888 8.39278 36.6361 8.54771Z" fill="currentColor"/>
497</svg>
498</span></button> </div> </div>  </section>  </div> </div> </article>  <footer id="global-footer" class="mt-auto w-full text-ebony bg-ivory "> <nav class="h-full w-full" aria-label="Main navigation"> <div class="flex h-full w-full flex-col p-8 xl:mb-16 xl:p-16"> <a class="text-on-ebony-dark-ivory w-full xl:w-[580px]" href="/" aria-label="Go to Roli home page"><svg viewBox="0 0 660 230" fill="none" xmlns="http://www.w3.org/2000/svg">
499<path d="M0.00999451 220.43L0.0103455 74.5C0.0103455 27.19 25.6403 3 72.9503 3H144.05C148.26 3 150.62 5.37001 150.62 9.57001V14.83C150.62 27.71 143.65 34.68 130.77 34.68H72.9404C47.5704 34.68 33.9104 47.69 33.9104 73.45L33.91 220.43C33.91 224.64 31.54 227 27.34 227H6.56999C2.35999 227 0 224.63 0 220.43H0.00999451Z" fill="currentColor"/>
500<path d="M273.43 230C338.22 230 388.43 179.79 388.43 115C388.43 50.21 338.22 0 273.43 0C208.64 0 158.43 50.21 158.43 115C158.43 179.79 208.5 230 273.43 230ZM273.43 31.81C319.56 31.81 354.52 68.22 354.52 115C354.52 161.78 319.56 198.19 273.43 198.19C227.3 198.19 192.34 161.78 192.34 115C192.34 68.22 227.17 31.81 273.43 31.81Z" fill="currentColor"/>
501<path d="M429.62 155.5V9.57001C429.62 5.36001 431.99 3 436.19 3H456.96C461.17 3 463.53 5.37001 463.53 9.57001V156.55C463.53 182.31 477.2 195.32 502.56 195.32H574.71C578.92 195.32 581.28 197.69 581.28 201.89V207.15C581.28 220.03 574.31 227 561.43 227H502.55C455.24 227 429.61 202.82 429.61 155.5H429.62Z" fill="currentColor"/>
502<path d="M632.05 3H652.82C656.45 3 659.39 5.94001 659.39 9.57001L659.39 220.43C659.39 224.06 656.45 227 652.82 227H632.05C628.42 227 625.48 224.06 625.48 220.43L625.48 9.57001C625.48 5.94001 628.42 3 632.05 3Z" fill="currentColor"/>
503</svg>
504</a> <div class="mt-16 flex flex-col justify-between xl:mt-[209px] xl:flex-row"> <astro-island uid="P3HrA" component-url="/_astro/track-ga4-event.DV83Yee3.js" component-export="TrackGa4Event" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;eventName&quot;:[0,&quot;go_to_support&quot;],&quot;clickTriggerElementId&quot;:[0,&quot;desktop-footer-link-support&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;TrackGa4Event&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <div class="hidden flex-row xl:flex"> <div class="flex flex-col pr-11" data-cy="footer-links-list"> <span class="text-body-small mb-6 font-semibold text-ebony"> Company </span> <a id="desktop-footer-link-about" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/about-us"> About </a><a id="desktop-footer-link-careers" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/careers"> Careers </a><a id="desktop-footer-link-manifesto" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/manifesto"> Manifesto </a><a id="desktop-footer-link-our mission" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="https://d30pueezughrda.cloudfront.net/roli.com/five-keys-to-the-next-million-years-of-music.pdf"> Our Mission </a><a id="desktop-footer-link-reviews" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="https://roli.com/reviews"> Reviews </a> </div><div class="flex flex-col pr-11" data-cy="footer-links-list"> <span class="text-body-small mb-6 font-semibold text-ebony"> Community </span> <a id="desktop-footer-link-educational discounts" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/student-discount"> Educational Discounts </a><a id="desktop-footer-link-become an affiliate" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="https://app.impact.com/advertiser-advertiser-info/ROLI.brand"> Become an Affiliate </a><a id="desktop-footer-link-roli learn song list" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/songs/essential"> ROLI Learn Song List </a><a id="desktop-footer-link-blog" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/blog"> Blog </a><a id="desktop-footer-link-roli: as seen on tv" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/blog/as-seen-on-tv-and-elsewhere-roli-piano-and-airwave-in-the-wild"> ROLI: As Seen on TV </a><a id="desktop-footer-link-referral program" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/referral"> Referral Program </a> </div><div class="flex flex-col pr-11" data-cy="footer-links-list"> <span class="text-body-small mb-6 font-semibold text-ebony"> Help </span> <a id="desktop-footer-link-support" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/support"> Support </a><a id="desktop-footer-link-manuals" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/manuals">
504 Manuals </a><a id="desktop-footer-link-faqs" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/faq"> FAQs </a><a id="desktop-footer-link-create account" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/create-account"> Create Account </a><a id="desktop-footer-link-get started" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/start"> Get Started </a><a id="desktop-footer-link-delivery" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/delivery-and-returns/delivery"> Delivery </a><a id="desktop-footer-link-returns" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/order-management/returns-and-replacements"> Returns </a><a id="desktop-footer-link-financing" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/finance"> Financing </a><a id="desktop-footer-link-order management" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/order-management"> Order Management </a><a id="desktop-footer-link-gift card balance" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/gift-card-balance"> Gift Card Balance </a><a id="desktop-footer-link-download roli connect" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/download-roli-connect"> Download ROLI Connect </a> </div><div class="flex flex-col pr-11" data-cy="footer-links-list"> <span class="text-body-small mb-6 font-semibold text-ebony"> Technology </span> <a id="desktop-footer-link-ai music coach" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="https://roli.com/campaign/ai-music-coach"> AI Music Coach </a><a id="desktop-footer-link-spatialmusic ai for learners" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/campaign/spatial-music-ai-for-learners"> SpatialMusic AI for learners </a><a id="desktop-footer-link-spatialmusic ai for creators" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/campaign/spatial-music-ai-for-creators"> SpatialMusic AI for creators </a><a id="desktop-footer-link-mpe" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/mpe"> MPE </a><a id="desktop-footer-link-yamaha montage x airwave" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/campaign/airwave-montage"> Yamaha Montage x Airwave </a><a id="desktop-footer-link-roli learn for casio" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/campaign/casio"> ROLI Learn for CASIO </a> </div><div class="flex flex-col pr-11" data-cy="footer-links-list"> <span class="text-body-small mb-6 font-semibold text-ebony"> Instruments </span> <a id="desktop-footer-link-piano learning system" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/roli-piano-system-learn"> Piano Learning System </a><a id="desktop-footer-link-piano for learners" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/piano-learn"> Piano for Learners </a><a id="desktop-footer-link-piano for creators" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/piano-create"> Piano for Creators </a><a id="desktop-footer-link-airwave for learners" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/airwave-learn"> Airwave for Learners </a><a id="desktop-footer-link-airwave for creators" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/airwave-create"> Airwave for Creators </a><a id="desktop-footer-link-seaboard 2" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/seaboard-2"> Seaboard 2 </a><a id="desktop-footer-link-seaboard m" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/seaboard-m"> Seaboard M </a><a id="desktop-footer-link-piano m for learners" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/piano-m-learn">
504 Piano M for Learners </a><a id="desktop-footer-link-piano m for creators" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/experience/piano-m-create"> Piano M for Creators </a><a id="desktop-footer-link-roli refurbished" class="text-body-small py-1 font-medium active:text-purple-300 text-ebony" href="/product/collection/refurbished"> ROLI Refurbished </a> </div> </div> 
504<script>
505  function accordionSetup() {
506    const accordionMenus = document.querySelectorAll('.footer_accordion');
507    accordionMenus.forEach((accordionMenu) => {
508      const accordionButton = accordionMenu.querySelector(
509        '.footer_accordion__button'
510      );
511      const accordionContent = accordionMenu.querySelector(
512        '.footer_accordion__content'
513      );
514      const plusIcon = accordionButton.querySelector('#plus-icon');
515      const minusIcon = accordionButton.querySelector('#minus-icon');
516
517      if (accordionButton && accordionContent) {
518        accordionButton.addEventListener('click', (event) => {
519          // Open a closed menu or close an open menu
520          if (!accordionMenu.classList.contains('active')) {
521            accordionMenu.classList.add('active');
522            accordionContent.classList.remove('hidden');
523            accordionContent.style.maxHeight =
524              accordionContent.scrollHeight + 'px';
525            plusIcon.classList.add('hidden');
526            minusIcon.classList.remove('hidden');
527          } else {
528            accordionMenu.classList.remove('active');
529            accordionContent.style.maxHeight = '0px';
530            plusIcon.classList.remove('hidden');
531            minusIcon.classList.add('hidden');
532            // Delay to allow close animation
533            setTimeout(() => {
534              accordionContent.classList.add('hidden');
535            }, 300);
536          }
537          event.preventDefault();
538          return false;
539        });
540      }
541    });
542  }
543  // Runs on initial page load
544  document.addEventListener('DOMContentLoaded', accordionSetup);
545</script>
545 <astro-island uid="X29td" component-url="/_astro/track-ga4-event.DV83Yee3.js" component-export="TrackGa4Event" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;eventName&quot;:[0,&quot;go_to_support&quot;],&quot;clickTriggerElementId&quot;:[0,&quot;mobile-footer-link-support&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;TrackGa4Event&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <div class="flex flex-col pb-8 xl:hidden">  <div class="footer_accordion border-on-ebony-dark-ivory border-t border-b-0 text-ebony"> <button class="footer_accordion__button text-ebony text-body-medium flex w-full items-center justify-between py-3 font-semibold" type="button"> Company <div class="ml-3"> <div id="plus-icon" class="size-[16px] stroke-[0.1]"><svg width="100%" height="100%" viewBox="0 0 16 16" stroke="inherit" stroke-width="inherit" fill="inherit" xmlns="http://www.w3.org/2000/svg">
546<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
547<rect x="8.7" width="16" height="1.4" transform="rotate(90 8.7 0)" fill="currentColor"/>
548</svg>
549</div> <div id="minus-icon" class="hidden size-[16px] stroke-[0.1]"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="inherit" xmlns="http://www.w3.org/2000/svg">
550<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
551</svg>
552</div> </div> </button> <div class="footer_accordion__content hidden max-h-0 overflow-hidden duration-300 ease-in-out"> <p class="text-ebony text-body-medium flex max-w-full flex-col pt-1 pb-4 text-left font-medium transition-[height]"> <a id="mobile-footer-link-about" class="pb-2 font-medium active:text-purple-300" href="/about-us"> About </a><a id="mobile-footer-link-careers" class="pb-2 font-medium active:text-purple-300" href="/careers"> Careers </a><a id="mobile-footer-link-manifesto" class="pb-2 font-medium active:text-purple-300" href="/manifesto"> Manifesto </a><a id="mobile-footer-link-our mission" class="pb-2 font-medium active:text-purple-300" href="https://d30pueezughrda.cloudfront.net/roli.com/five-keys-to-the-next-million-years-of-music.pdf"> Our Mission </a><a id="mobile-footer-link-reviews" class="pb-2 font-medium active:text-purple-300" href="https://roli.com/reviews"> Reviews </a> </p> </div> </div>  <div class="footer_accordion border-on-ebony-dark-ivory border-t border-b-0 text-ebony"> <button class="footer_accordion__button text-ebony text-body-medium flex w-full items-center justify-between py-3 font-semibold" type="button"> Community <div class="ml-3"> <div id="plus-icon" class="size-[16px] stroke-[0.1]"><svg width="100%" height="100%" viewBox="0 0 16 16" stroke="inherit" stroke-width="inherit" fill="inherit" xmlns="http://www.w3.org/2000/svg">
553<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
554<rect x="8.7" width="16" height="1.4" transform="rotate(90 8.7 0)" fill="currentColor"/>
555</svg>
556</div> <div id="minus-icon" class="hidden size-[16px] stroke-[0.1]"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="inherit" xmlns="http://www.w3.org/2000/svg">
557<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
558</svg>
559</div> </div> </button> <div class="footer_accordion__content hidden max-h-0 overflow-hidden duration-300 ease-in-out"> <p class="text-ebony text-body-medium flex max-w-full flex-col pt-1 pb-4 text-left font-medium transition-[height]"> <a id="mobile-footer-link-educational discounts" class="pb-2 font-medium active:text-purple-300" href="/student-discount"> Educational Discounts </a><a id="mobile-footer-link-become an affiliate" class="pb-2 font-medium active:text-purple-300" href="https://app.impact.com/advertiser-advertiser-info/ROLI.brand"> Become an Affiliate </a><a id="mobile-footer-link-roli learn song list" class="pb-2 font-medium active:text-purple-300" href="/songs/essential"> ROLI Learn Song List </a><a id="mobile-footer-link-blog" class="pb-2 font-medium active:text-purple-300" href="/blog"> Blog </a><a id="mobile-footer-link-roli: as seen on tv" class="pb-2 font-medium active:text-purple-300" href="/blog/as-seen-on-tv-and-elsewhere-roli-piano-and-airwave-in-the-wild"> ROLI: As Seen on TV </a><a id="mobile-footer-link-referral program" class="pb-2 font-medium active:text-purple-300" href="/referral"> Referral Program </a> </p> </div> </div>  <div class="footer_accordion border-on-ebony-dark-ivory border-t border-b-0 text-ebony"> <button class="footer_accordion__button text-ebony text-body-medium flex w-full items-center justify-between py-3 font-semibold" type="button"> Help <div class="ml-3">
559 <div id="plus-icon" class="size-[16px] stroke-[0.1]"><svg width="100%" height="100%" viewBox="0 0 16 16" stroke="inherit" stroke-width="inherit" fill="inherit" xmlns="http://www.w3.org/2000/svg">
560<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
561<rect x="8.7" width="16" height="1.4" transform="rotate(90 8.7 0)" fill="currentColor"/>
562</svg>
563</div> <div id="minus-icon" class="hidden size-[16px] stroke-[0.1]"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="inherit" xmlns="http://www.w3.org/2000/svg">
564<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
565</svg>
566</div> </div> </button> <div class="footer_accordion__content hidden max-h-0 overflow-hidden duration-300 ease-in-out"> <p class="text-ebony text-body-medium flex max-w-full flex-col pt-1 pb-4 text-left font-medium transition-[height]"> <a id="mobile-footer-link-support" class="pb-2 font-medium active:text-purple-300" href="/support"> Support </a><a id="mobile-footer-link-manuals" class="pb-2 font-medium active:text-purple-300" href="/manuals"> Manuals </a><a id="mobile-footer-link-faqs" class="pb-2 font-medium active:text-purple-300" href="/faq"> FAQs </a><a id="mobile-footer-link-create account" class="pb-2 font-medium active:text-purple-300" href="/create-account"> Create Account </a><a id="mobile-footer-link-get started" class="pb-2 font-medium active:text-purple-300" href="/start"> Get Started </a><a id="mobile-footer-link-delivery" class="pb-2 font-medium active:text-purple-300" href="/delivery-and-returns/delivery"> Delivery </a><a id="mobile-footer-link-returns" class="pb-2 font-medium active:text-purple-300" href="/order-management/returns-and-replacements"> Returns </a><a id="mobile-footer-link-financing" class="pb-2 font-medium active:text-purple-300" href="/finance"> Financing </a><a id="mobile-footer-link-order management" class="pb-2 font-medium active:text-purple-300" href="/order-management"> Order Management </a><a id="mobile-footer-link-gift card balance" class="pb-2 font-medium active:text-purple-300" href="/gift-card-balance"> Gift Card Balance </a><a id="mobile-footer-link-download roli connect" class="pb-2 font-medium active:text-purple-300" href="/download-roli-connect"> Download ROLI Connect </a> </p> </div> </div>  <div class="footer_accordion border-on-ebony-dark-ivory border-t border-b-0 text-ebony"> <button class="footer_accordion__button text-ebony text-body-medium flex w-full items-center justify-between py-3 font-semibold" type="button"> Technology <div class="ml-3"> <div id="plus-icon" class="size-[16px] stroke-[0.1]"><svg width="100%" height="100%" viewBox="0 0 16 16" stroke="inherit" stroke-width="inherit" fill="inherit" xmlns="http://www.w3.org/2000/svg">
567<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
568<rect x="8.7" width="16" height="1.4" transform="rotate(90 8.7 0)" fill="currentColor"/>
569</svg>
570</div> <div id="minus-icon" class="hidden size-[16px] stroke-[0.1]"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="inherit" xmlns="http://www.w3.org/2000/svg">
571<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
572</svg>
573</div> </div> </button> <div class="footer_accordion__content hidden max-h-0 overflow-hidden duration-300 ease-in-out"> <p class="text-ebony text-body-medium flex max-w-full flex-col pt-1 pb-4 text-left font-medium transition-[height]"> <a id="mobile-footer-link-ai music coach" class="pb-2 font-medium active:text-purple-300" href="https://roli.com/campaign/ai-music-coach"> AI Music Coach </a><a id="mobile-footer-link-spatialmusic ai for learners" class="pb-2 font-medium active:text-purple-300" href="/campaign/spatial-music-ai-for-learners"> SpatialMusic AI for learners </a><a id="mobile-footer-link-spatialmusic ai for creators" class="pb-2 font-medium active:text-purple-300" href="/campaign/spatial-music-ai-for-creators"> SpatialMusic AI for creators </a><a id="mobile-footer-link-mpe" class="pb-2 font-medium active:text-purple-300" href="/mpe"> MPE </a><a id="mobile-footer-link-yamaha montage x airwave" class="pb-2 font-medium active:text-purple-300" href="/campaign/airwave-montage"> Yamaha Montage x Airwave </a><a id="mobile-footer-link-roli learn for casio" class="pb-2 font-medium active:text-purple-300" href="/campaign/casio"> ROLI Learn for CASIO </a> </p> </div> </div>  <div class="footer_accordion border-on-ebony-dark-ivory border-t border-b text-ebony"> <button class="footer_accordion__button text-ebony text-body-medium flex w-full items-center justify-between py-3 font-semibold" type="button"> Instruments <div class="ml-3">
573 <div id="plus-icon" class="size-[16px] stroke-[0.1]"><svg width="100%" height="100%" viewBox="0 0 16 16" stroke="inherit" stroke-width="inherit" fill="inherit" xmlns="http://www.w3.org/2000/svg">
574<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
575<rect x="8.7" width="16" height="1.4" transform="rotate(90 8.7 0)" fill="currentColor"/>
576</svg>
577</div> <div id="minus-icon" class="hidden size-[16px] stroke-[0.1]"><svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="inherit" xmlns="http://www.w3.org/2000/svg">
578<rect y="7.3" width="16" height="1.4" fill="currentColor"/>
579</svg>
580</div> </div> </button> <div class="footer_accordion__content hidden max-h-0 overflow-hidden duration-300 ease-in-out"> <p class="text-ebony text-body-medium flex max-w-full flex-col pt-1 pb-4 text-left font-medium transition-[height]"> <a id="mobile-footer-link-piano learning system" class="pb-2 font-medium active:text-purple-300" href="/experience/roli-piano-system-learn"> Piano Learning System </a><a id="mobile-footer-link-piano for learners" class="pb-2 font-medium active:text-purple-300" href="/experience/piano-learn"> Piano for Learners </a><a id="mobile-footer-link-piano for creators" class="pb-2 font-medium active:text-purple-300" href="/experience/piano-create"> Piano for Creators </a><a id="mobile-footer-link-airwave for learners" class="pb-2 font-medium active:text-purple-300" href="/experience/airwave-learn"> Airwave for Learners </a><a id="mobile-footer-link-airwave for creators" class="pb-2 font-medium active:text-purple-300" href="/experience/airwave-create"> Airwave for Creators </a><a id="mobile-footer-link-seaboard 2" class="pb-2 font-medium active:text-purple-300" href="/experience/seaboard-2"> Seaboard 2 </a><a id="mobile-footer-link-seaboard m" class="pb-2 font-medium active:text-purple-300" href="/experience/seaboard-m"> Seaboard M </a><a id="mobile-footer-link-piano m for learners" class="pb-2 font-medium active:text-purple-300" href="/experience/piano-m-learn"> Piano M for Learners </a><a id="mobile-footer-link-piano m for creators" class="pb-2 font-medium active:text-purple-300" href="/experience/piano-m-create"> Piano M for Creators </a><a id="mobile-footer-link-roli refurbished" class="pb-2 font-medium active:text-purple-300" href="/product/collection/refurbished"> ROLI Refurbished </a> </p> </div> </div>  </div> <astro-island uid="2pvlYu" component-url="/_astro/action-buttons.DiAyiJjt.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;theme&quot;:[0,&quot;blog&quot;],&quot;newsletterModal&quot;:[0,{&quot;_uid&quot;:[0,&quot;4a024bcc-80e6-46de-a09f-f1f71c79f175&quot;],&quot;errorCta&quot;:[0,&quot;Close&quot;],&quot;firstCta&quot;:[0,&quot;Join&quot;],&quot;prevText&quot;:[0,&quot;Back&quot;],&quot;component&quot;:[0,&quot;NewsletterSignup&quot;],&quot;secondCta&quot;:[0,&quot;Send&quot;],&quot;legalTerms&quot;:[0,{&quot;type&quot;:[0,&quot;doc&quot;],&quot;content&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;paragraph&quot;],&quot;content&quot;:[1,[[0,{&quot;text&quot;:[0,&quot;By submitting this form you agree to the &quot;],&quot;type&quot;:[0,&quot;text&quot;],&quot;marks&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;textStyle&quot;],&quot;attrs&quot;:[0,{&quot;color&quot;:[0,&quot;rgb(41, 40, 36)&quot;]}]}]]]}],[0,{&quot;text&quot;:[0,&quot;Terms of Service&quot;],&quot;type&quot;:[0,&quot;text&quot;],&quot;marks&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;link&quot;],&quot;attrs&quot;:[0,{&quot;href&quot;:[0,&quot;https://roli.com/legal/terms-of-service&quot;],&quot;uuid&quot;:[0,null],&quot;anchor&quot;:[0,null],&quot;target&quot;:[0,&quot;_blank&quot;],&quot;linktype&quot;:[0,&quot;url&quot;]}]}],[0,{&quot;type&quot;:[0,&quot;underline&quot;]}]]]}],[0,{&quot;text&quot;:[0,&quot; and&quot;],&quot;type&quot;:[0,&quot;text&quot;],&quot;marks&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;textStyle&quot;],&quot;attrs&quot;:[0,{&quot;color&quot;:[0,&quot;rgb(41, 40, 36)&quot;]}]}]]]}],[0,{&quot;text&quot;:[0,&quot; &quot;],&quot;type&quot;:[0,&quot;text&quot;],&quot;marks&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;link&quot;],&quot;attrs&quot;:[0,{&quot;href&quot;:[0,&quot;https://roli.com/legal/privacy-policy&quot;],&quot;uuid&quot;:[0,null],&quot;anchor&quot;:[0,null],&quot;target&quot;:[0,&quot;_blank&quot;],&quot;linktype&quot;:[0,&quot;url&quot;]}]}]]]}],[0,{&quot;text&quot;:[0,&quot;Privacy Policy&quot;],&quot;type&quot;:[0,&quot;text&quot;],&quot;marks&quot;:[1,[[0,{&quot;type&quot;:[0,&quot;link&quot;],&quot;attrs&quot;:[0,{&quot;href&quot;:[0,&quot;https://roli.com/legal/privacy-policy&quot;],&quot;uuid&quot;:[0,null],&quot;anchor&quot;:[0,null],&quot;target&quot;:[0,&quot;_blank&quot;],&quot;linktype&quot;:[0,&quot;url&quot;]}]}],[0,{&quot;type&quot;:[0,&quot;underline&quot;]}]]]}]]]}]]]}],&quot;successCta&quot;:[0,&quot;
580Thank you&quot;],&quot;errorMessage&quot;:[0,&quot;There has been an error&quot;],&quot;bothOptionText&quot;:[0,&quot;Both&quot;],&quot;successMessage&quot;:[0,&quot;Welcome to the team&quot;],&quot;learnOptionText&quot;:[0,&quot;Learn Piano&quot;],&quot;namePlaceholder&quot;:[0,&quot;Your name&quot;],&quot;createOptionText&quot;:[0,&quot;Create Music&quot;],&quot;emailPlaceholder&quot;:[0,&quot;Enter email address&quot;],&quot;firstPageHeading&quot;:[0,&quot;Join the ROLI community&quot;],&quot;secondPageHeading&quot;:[0,&quot;Discover your musical journey&quot;]}],&quot;newsletterLegalTerms&quot;:[0,&quot;&lt;p&gt;&lt;span style=\&quot;color:rgb(41, 40, 36)\&quot;&gt;By submitting this form you agree to the &lt;/span&gt;&lt;a href=\&quot;https://roli.com/legal/terms-of-service\&quot; target=\&quot;_blank\&quot;&gt;&lt;u&gt;Terms of Service&lt;/u&gt;&lt;/a&gt;&lt;span style=\&quot;color:rgb(41, 40, 36)\&quot;&gt; and&lt;/span&gt;&lt;a href=\&quot;https://roli.com/legal/privacy-policy\&quot; target=\&quot;_blank\&quot;&gt; &lt;/a&gt;&lt;a href=\&quot;https://roli.com/legal/privacy-policy\&quot; target=\&quot;_blank\&quot;&gt;&lt;u&gt;Privacy Policy&lt;/u&gt;&lt;/a&gt;&lt;/p&gt;&quot;],&quot;followUsText&quot;:[0,&quot;Follow us on social&quot;],&quot;joinNewsletterText&quot;:[0,&quot;Join our newsletter&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;ActionButtons&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div> <div class="mt-8"> <astro-island uid="Q7hl7" component-url="/_astro/trustpilot-business-trustscore.Dz5dbhMq.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;link&quot;:[0,true],&quot;theme&quot;:[0,&quot;light&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;MiniTrustpilotTrustScore&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div> </div> </nav> <div class="flex flex-col-reverse px-8 pb-8 font-medium xl:flex-row xl:items-center xl:px-16"> <div class="mt-9 flex flex-col xl:mt-0 xl:flex-row"> <astro-island uid="Z2aUkms" component-url="/_astro/copyright-text.D5FzWSyq.js" component-export="CopyrightText" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;linksColor&quot;:[0,&quot;text-ebony&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;CopyrightText&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <div class="flex flex-wrap xl:mt-0 xl:ml-4" data-cy="footer-links-list"> <a class="mt-5 mr-4 text-xs xl:mt-0 text-ebony active:text-purple-300" href="/legal/general-terms-of-sale"> Legal </a><a class="mt-5 mr-4 text-xs xl:mt-0 text-ebony active:text-purple-300" href="/legal/privacy-policy"> Privacy </a><a class="mt-5 mr-4 text-xs xl:mt-0 text-ebony active:text-purple-300" href="/legal/cookie-policy"> Cookies </a><a class="mt-5 mr-4 text-xs xl:mt-0 text-ebony active:text-purple-300" href="/legal/terms-of-service"> Disclaimer </a> <button class="termly-display-preferences mt-5 mr-4 cursor-pointer text-xs text-ebony active:text-purple-300 xl:mt-0"> Consent Preferences </button> </div> </div> <div class="mt-4 xl:mt-0 xl:ml-auto"> <astro-island uid="ZjiVPT" component-url="/_astro/region-select.CSb61Pzm.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;theme&quot;:[0,&quot;blog&quot;],&quot;regionText&quot;:[0,&quot;Currency&quot;],&quot;chooseYourRegionText&quot;:[0,&quot;Choose your region&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;RegionSelect&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div> </div> </footer> <astro-island uid="16ory2" component-url="/_astro/global-promos.Db23APVb.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;globalPromos&quot;:[1,[[0,{&quot;_uid&quot;:[0,&quot;8230c1ba-1856-46a4-b44c-29f5c0846fe2&quot;],&quot;component&quot;:[0,&quot;GlobalPromo&quot;],&quot;promoName&quot;:[0,&quot;Most popular tag&quot;],&quot;promoText&quot;:[0,&quot;Most popular&quot;],&quot;hideInCart&quot;:[0,true],&quot;promoActive&quot;:[0,true],&quot;promoAmountEU&quot;:[0,&quot;&quot;],&quot;promoAmountUK&quot;:[0,&quot;&quot;],&quot;promoAmountUS&quot;:[0,&quot;&quot;],&quot;promoProducts&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Piano Learn + Airwave Bundle&quot;],&quot;created_at&quot;:[0,&quot;2025-01-20T11:16:50.930Z&quot;],&quot;published_at&quot;:[0,&quot;2026-05-13T16:13:45.072Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-05-13T16:13:45.088Z&quot;],&quot;id&quot;:[0,611544488],&quot;uuid&quot;:[0,&quot;9d0dcb01-1e77-4279-8d7c-7bb06e4558e2&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;piano-49-learn_airwave_create_bundle&quot;],&quot;_uid&quot;:[0,&quot;a4cb2065-68cd-4057-a751-8b7a19dc400a&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Piano Learn + Airwave Bundle&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,161261513806511],&quot;alt&quot;:[0,&quot;A black ROLI Piano with color-illuminated keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides for piano instruction.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_01-1.161261513806511.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2708x1528/cc8a4b6caa/p49-aw-bundle_learn_01-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A black ROLI Piano with color-illuminated keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides for piano instruction.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_01-1.161261513806511.png&quot;]}]}],[0,{&quot;id&quot;:[0,20077906],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_03.20077906.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2708x1528/50d193b8a0/p49-aw-bundle_learn_03.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_03.20077906.png&quot;]}]}],[0,{&quot;id&quot;:[0,20077905],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_04.20077905.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2708x1528/b99a5afdbb/p49-aw-bundle_learn_04.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_04.20077905.png&quot;]}]}],[0,{&quot;id&quot;:[0,20077904],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_02.20077904.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2708x1528/f94565ba5a/p49-aw-bundle_learn_02.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_02.20077904.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;learn&quot;],&quot;imageUrl&quot;:[0,&quot;*not really used, just the shopify image URL&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;bundleSkus&quot;:[1,[[0,{&quot;sku&quot;:[0,&quot;piano-49-learn&quot;],&quot;_uid&quot;:[0,&quot;fdf374ce-aa77-4a24-83b1-3a07991273f3&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}],[0,{&quot;sku&quot;:[0,&quot;airwave_learn&quot;],&quot;_uid&quot;:[0,&quot;e52e357e-53ea-461e-8b84-350294172035&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}]]],&quot;exploreUrl&quot;:[0,&quot;/experience/roli-piano-system-learn&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;bestValueTag&quot;:[0,&quot;&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,161261513806511],&quot;alt&quot;:[0,&quot;A black ROLI Piano with color-illuminated keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides for piano instruction.&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_01-1.161261513806511.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2708x1528/cc8a4b6caa/p49-aw-bundle_learn_01-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;alt&quot;:[0,&quot;A black ROLI Piano with color-illuminated keys sits on a desk, with a tablet displaying the ROLI Learn app showing animated hands and note guides for piano instruction.&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/p49-aw-bundle_learn_01-1.161261513806511.png&quot;]}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Piano Learn + Airwave Bundle&quot;],&quot;activeBatches&quot;:[0,&quot;&quot;],&quot;bundleMessage&quot;:[0,&quot;&quot;],&quot;productHandle&quot;:[0,&quot;piano-49-learn-airwave-bundle&quot;],&quot;trustpilotTag&quot;:[0,&quot;&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/piano-learn-airwave-bundle&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653877742363],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/e3559274c5/piano-l-aw.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;Piano &amp; Airwave&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;savingsYearlyText&quot;:[0,&quot;&quot;],&quot;showCategoryMessage&quot;:[0,true],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;piano-learn-airwave-bundle&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/piano-learn-airwave-bundle&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1970],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;6b02041e-0a68-42d8-b9b2-aa00c4eecc7e&quot;],&quot;first_published_at&quot;:[0,&quot;2025-01-23T11:47:52.076Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}]]],&quot;promoAddOnText&quot;:[0,&quot;&quot;],&quot;promoBadgeText&quot;:[0,&quot;Most popular&quot;],&quot;promoAmountSTAGING&quot;:[0,&quot;&quot;]}],[0,{&quot;_uid&quot;:[0,&quot;7d8464da-1448-4693-86b5-8cc08ce8c8ff&quot;],&quot;component&quot;:[0,&quot;GlobalPromo&quot;],&quot;promoName&quot;:[0,&quot;Refurbished Program&quot;],&quot;promoText&quot;:[0,&quot;&quot;],&quot;hideInCart&quot;:[0,false],&quot;promoActive&quot;:[0,true],&quot;promoAmountEU&quot;:[0,&quot;&quot;],&quot;promoAmountUK&quot;:[0,&quot;&quot;],&quot;promoAmountUS&quot;:[0,&quot;&quot;],&quot;promoProducts&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Piano M Create (Refurbished)&quot;],&quot;created_at&quot;:[0,&quot;2025-02-10T15:33:27.961Z&quot;],&quot;published_at&quot;:[0,&quot;2026-04-13T13:16:41.930Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-04-20T10:37:42.784Z&quot;],&quot;id&quot;:[0,623256579],&quot;uuid&quot;:[0,&quot;7b67f9d2-c0f6-4e70-8da3-0f7e787b5c16&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;piano-m-create_bstock&quot;],&quot;_uid&quot;:[0,&quot;f0636711-3b58-45b3-b57d-978aee1c8dff&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Matte Black&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,21214102],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/try4.21214102.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/53a78d0b43/try4.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/try4.21214102.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710740],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/pianom_create_03.18710740.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/936ccec287/pianom_create_03.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],[0,{&quot;id&quot;:[0,18710738],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/pianom_create_05.18710738.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/501e252b4a/pianom_create_05.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0811/0105/files/1x_LUMI_Create.png?v=1740759418&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;exploreUrl&quot;:[0,&quot;&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,21214102],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/53a78d0b43/try4.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;as
580set&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Piano M (Refurbished)&quot;],&quot;promoMessage&quot;:[0,&quot;&quot;],&quot;activeBatches&quot;:[0,&quot;3df401db-8cd8-404e-a8f8-b81b44c5ca76&quot;],&quot;productHandle&quot;:[0,&quot;piano-m-create-refurbished&quot;],&quot;trustpilotTag&quot;:[0,&quot;&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/piano-m-create-refurbished&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653323422468],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/61ef21d50b/piano-m-c.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;requiresShipping&quot;:[0,true],&quot;showCategoryMessage&quot;:[0,true],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;piano-m-create-refurbished&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/piano-m-create-refurbished&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1220],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;db525cc1-c743-4196-8ab1-f408e1a0017b&quot;],&quot;first_published_at&quot;:[0,&quot;2025-02-26T11:27:23.306Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}],[0,{&quot;name&quot;:[0,&quot;Piano M Learn (Refurbished)&quot;],&quot;created_at&quot;:[0,&quot;2025-02-10T15:32:38.707Z&quot;],&quot;published_at&quot;:[0,&quot;2026-04-13T13:16:41.683Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-04-20T10:37:41.151Z&quot;],&quot;id&quot;:[0,623255221],&quot;uuid&quot;:[0,&quot;4a2cc1b7-08c4-442b-815f-417aabf156f6&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;piano-m-learn_bstock&quot;],&quot;_uid&quot;:[0,&quot;f0636711-3b58-45b3-b57d-978aee1c8dff&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Matte Black&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,21212890],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/lumi-learn.21212890.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2385x1341/ebcb6f9468/lumi-learn.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/lumi-learn.21212890.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710741],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/pianom_learn_03.18710741.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/825b59ecfc/pianom_learn_03.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],[0,{&quot;id&quot;:[0,18710743],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/pianom_learn_05.18710743.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/1541ade452/pianom_learn_05.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;learn&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0811/0105/files/1xLUMI_Learn.png?v=1740759256&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;exploreUrl&quot;:[0,&quot;&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,21212890],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2385x1341/ebcb6f9468/lumi-learn.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Piano M (Refurbished)&quot;],&quot;promoMessage&quot;:[0,&quot;&quot;],&quot;activeBatches&quot;:[0,&quot;f9be8d5b-fd58-4819-ba24-1e3d45141dff&quot;],&quot;productHandle&quot;:[0,&quot;piano-m-learn-refurbished&quot;],&quot;trustpilotTag&quot;:[0,&quot;PIANO-M-LEARN&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/piano-m-learn-refurbished&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653760674585],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;
580https://a.storyblok.com/f/278825/2048x938/20b92f5108/piano-m-l.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;requiresShipping&quot;:[0,true],&quot;showCategoryMessage&quot;:[0,true],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;piano-m-learn-refurbished&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/piano-m-learn-refurbished&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1230],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;c899823e-dccd-4a2a-b176-be2237901741&quot;],&quot;first_published_at&quot;:[0,&quot;2025-02-26T11:27:23.067Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}],[0,{&quot;name&quot;:[0,&quot;Seaboard 2 - Ebony Black (Refurbished)&quot;],&quot;created_at&quot;:[0,&quot;2025-02-10T15:38:49.065Z&quot;],&quot;published_at&quot;:[0,&quot;2026-04-13T13:16:02.840Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-04-20T10:28:23.474Z&quot;],&quot;id&quot;:[0,623275840],&quot;uuid&quot;:[0,&quot;4c04fe52-0163-49d5-8913-9a80064bbb86&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;sbrise2_2022_black_bstock&quot;],&quot;_uid&quot;:[0,&quot;1e5743b5-6a60-40e1-ba83-f1223f130e9e&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Ebony Black&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,18710752],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_01.18710752.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/55a608f501/seaboard2_01.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_01.18710752.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710751],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_02.18710751.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/188fd41ab8/seaboard2_02.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_02.18710751.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710749],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_03.18710749.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/d0a29e9436/seaboard2_03.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_03.18710749.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710750],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_04.18710750.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/5f8986e7b2/seaboard2_04.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_04.18710750.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710753],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_05.18710753.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/3173531786/seaboard2_05.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2_05.18710753.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0811/0105/files/rise2Black_desktop.png?v=1716991796&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;exploreUrl&quot;:[0,&quot;&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,17242624],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/5402fb5cc1/seaboard-2-black.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Seaboard 2 (Refurbished)&quot;],&quot;promoMessage&quot;:[0,&quot;&quot;],&quot;activeBatches&quot;:[0,&quot;66a6f37c-104c-43eb-88de-8848af0d8f72&quot;],&quot;productHandle&quot;:[0,&quot;seaboard-2-refurbished&quot;],&quot;trustpilotTag&quot;:[0,&quot;SEABOARD-2&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/seaboard-2-refurbished&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653580122899],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/ae97e6cc55/seaboard-2-bk.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;qualifyingHardware&quot;:[1,[]],&quot;showCategoryMessage&quot;:[0,false],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;seaboard-2-ebony-black-refurbished&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/seaboard-2-ebony-black-refurbished&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1630],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;c3d9f972-909b-4bc5-b2ef-35df29b52b6b&quot;],&quot;first_published_at&quot;:[0,&quot;2025-02-26T11:27:11.186Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}],[0,{&quot;name&quot;:[0,&quot;Seaboard 2 - Platinum Blue (Refurbished)&quot;],&quot;created_at&quot;:[0,&quot;2025-02-10T15:40:42.228Z&quot;],&quot;published_at&quot;:[0,&quot;2026-04-13T13:16:11.016Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-04-20T10:30:05.740Z&quot;],&quot;id&quot;:[0,623276029],&quot;uuid&quot;:[0,&quot;301c220c-3fe4-4172-9cc2-21dd015d76a8&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;sbrise2_2022_bstock&quot;],&quot;_uid&quot;:[0,&quot;0e484874-4144-4216-a39a-69d52f3994b5&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Platinum Blue&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,17242622],&quot;alt&quot;:[0,&quot;Roli seaboard 2 keyboard in color platinum&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;ROLI Seaboard 2&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard-2-platinum.17242622.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/3dc68990cd/seaboard-2-platinum.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard-2-platinum.17242622.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0811/0105/products/RISE2_ShopifyCartImage.png?v=1648048815&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;exploreUrl&quot;:[0,&quot;&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,17242622],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/3dc68990cd/seaboard-2-platinum.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Seaboard 2 (Refurbished)&quot;],&quot;promoMessage&quot;:[0,&quot;&quot;],&quot;activeBatches&quot;:[0,&quot;66a6f37c-104c-43eb-88de-8848af0d8f72&quot;],&quot;productHandle&quot;:[0,&quot;seaboard-2-refurbished&quot;],&quot;trustpilotTag&quot;:[0,&quot;SEABOARD-2&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/seaboard-2-refurbished&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653471333135],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/325fd23797/seaboard-2-pl.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;requiresShipping&quot;:[0,true],&quot;showCategoryMessage&quot;:[0,false],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;seaboard-2-platinum-blue-refurbished&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/seaboard-2-platinum-blue-refurbished&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1610],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;82f96ed7-f19d-4034-a979-6d528288770c&quot;],&quot;first_published_at&quot;:[0,&quot;2025-02-26T11:27:11.521Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}],[0,{&quot;name&quot;:[0,&quot;Seaboard M (Refurbished)&quot;],&quot;created_at&quot;:[0,&quot;2025-02-10T15:36:21.271Z&quot;],&quot;published_at&quot;:[0,&quot;2026-04-13T13:16:00.331Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-04-20T10:27:42.316Z&quot;],&quot;id&quot;:[0,623270922],&quot;uuid&quot;:[0,&quot;16be693f-c22e-4a16-8c05-00ab4f85bba9&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;blksseaboardm_bstock&quot;],&quot;_uid&quot;:[0,&quot;a0dc7335-476f-48d7-9dcc-4f15882fe394&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,18713492],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_01.18713492.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/567183d472/seaboardm_create_01.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_01.18713492.png&quot;]}]}],[0,{&quot;id&quot;:[0,18713491],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_02.18713491.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/f3d92d234f/seaboardm_create_02.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_02.18713491.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710757],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_03.18710757.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/475334273f/seaboardm_create_03.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_03.18710757.png&quot;]}]}],[0,{&quot;id&quot;:[0,18710759],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_04.18710759.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/6e0d202165/seaboardm_create_04.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_04.18710759.png&quot;]}]}
580],[0,{&quot;id&quot;:[0,18710758],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_05.18710758.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/8c06c9d303/seaboardm_create_05.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboardm_create_05.18710758.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0811/0105/files/sbb_cart_c9ea1972-9f0c-4160-8906-98b9d66ee5ec.png?v=1697629500&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;exploreUrl&quot;:[0,&quot;&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,17242623],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1354x764/7d256cf28c/seaboard-m.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Seaboard M&quot;],&quot;promoMessage&quot;:[0,&quot;&quot;],&quot;activeBatches&quot;:[0,&quot;dbed77d0-01ce-491f-a2cd-1ed52181c0e2&quot;],&quot;productHandle&quot;:[0,&quot;seaboard-m-refurbished&quot;],&quot;trustpilotTag&quot;:[0,&quot;BLOCK-M&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/seaboard-m-refurbished&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84653656181527],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/2f3b15ff83/seaboard-m.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;showCategoryMessage&quot;:[0,false],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;seaboard-m-refurbished&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/seaboard-m-refurbished&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1750],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;fdc1db1f-e56b-4766-b6fe-ed60f36b505b&quot;],&quot;first_published_at&quot;:[0,&quot;2025-02-26T11:27:11.015Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}]]],&quot;promoAddOnText&quot;:[0,&quot;&quot;],&quot;promoBadgeText&quot;:[0,&quot;Save 30%&quot;],&quot;promoAmountSTAGING&quot;:[0,&quot;&quot;]}],[0,{&quot;_uid&quot;:[0,&quot;da1ec26a-818a-4096-8828-4d3f4a21b2ed&quot;],&quot;component&quot;:[0,&quot;GlobalPromo&quot;],&quot;promoName&quot;:[0,&quot;Seaboard 2 + AW 15% OFF&quot;],&quot;promoText&quot;:[0,&quot;&quot;],&quot;hideInCart&quot;:[0,false],&quot;promoActive&quot;:[0,true],&quot;promoAmountEU&quot;:[0,&quot;&quot;],&quot;promoAmountUK&quot;:[0,&quot;&quot;],&quot;promoAmountUS&quot;:[0,&quot;&quot;],&quot;promoProducts&quot;:[1,[[0,{&quot;name&quot;:[0,&quot;Seaboard Blue Airwave Bundle&quot;],&quot;created_at&quot;:[0,&quot;2024-08-28T11:44:36.020Z&quot;],&quot;published_at&quot;:[0,&quot;2026-06-17T09:09:16.895Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-06-17T09:09:16.908Z&quot;],&quot;id&quot;:[0,541001500],&quot;uuid&quot;:[0,&quot;e2fd827f-eafc-4bac-aba4-aa35749c4a99&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;sbrise2_2022_blue_airwave_create_bundle&quot;],&quot;_uid&quot;:[0,&quot;2ea68eb3-4806-43e5-b5c4-ccbb97d4269d&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Seaboard Blue Airwave Bundle&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,17566530],&quot;alt&quot;:[0,&quot;Roli Seaboard Rise 2 keyboard in platinum blue and Airwave&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;ROLI Seaboard Rise 2 - Airwave&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2-platblue.17566530.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1359x783/896e09786f/seaboard2-platblue.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2-platblue.17566530.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0841/1601/files/seaboard-blue-airwave-bundle.png?v=1724845401&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;bundleSkus&quot;:[1,[[0,{&quot;sku&quot;:[0,&quot;sbrise2_2022&quot;],&quot;_uid&quot;:[0,&quot;bfd84057-fec0-4785-b101-478e8265852b&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}],[0,{&quot;sku&quot;:[0,&quot;airwave_create&quot;],&quot;_uid&quot;:[0,&quot;92af530b-b3b3-462b-b27a-171d4b9a499e&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}]]],&quot;exploreUrl&quot;:[0,&quot;/product/seaboard-2-airwave-bundle&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;bestValueTag&quot;:[0,&quot;&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,17566530],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1359x783/896e09786f/seaboard2-platblue.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Seaboard Blue Airwave Bundle&quot;],&quot;promoMessage&quot;:[0,&quot;Save {{amountSaved}}&quot;],&quot;activeBatches&quot;:[0,&quot;&quot;],&quot;bundleMessage&quot;:[0,&quot;&quot;],&quot;productHandle&quot;:[0,&quot;rise2-airwave-create-bundle&quot;],&quot;trustpilotTag&quot;:[0,&quot;SEABOARD-2&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/seaboard-2-airwave-bundle&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84656272579385],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;
580https://a.storyblok.com/f/278825/2048x938/25f9a2ca87/seaboard-2-pl-aw.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;Seaboard 2 &amp; Airwave&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;savingsYearlyText&quot;:[0,&quot;&quot;],&quot;qualifyingHardware&quot;:[1,[]],&quot;showCategoryMessage&quot;:[0,false],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;seaboard-blue-airwave-bundle&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/seaboard-blue-airwave-bundle&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1830],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;c4156cc5-df0e-4d28-8078-09fd0465aa66&quot;],&quot;first_published_at&quot;:[0,&quot;2024-08-28T11:15:30.341Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}],[0,{&quot;name&quot;:[0,&quot;Seaboard Black Airwave Bundle&quot;],&quot;created_at&quot;:[0,&quot;2024-08-28T10:59:05.420Z&quot;],&quot;published_at&quot;:[0,&quot;2026-06-17T09:10:51.909Z&quot;],&quot;updated_at&quot;:[0,&quot;2026-06-17T09:11:23.359Z&quot;],&quot;id&quot;:[0,540988162],&quot;uuid&quot;:[0,&quot;32dfc3d8-881e-436d-b803-79cca78ca86c&quot;],&quot;content&quot;:[0,{&quot;mpn&quot;:[0,&quot;&quot;],&quot;sku&quot;:[0,&quot;sbrise2_2022_black_airwave_create_bundle&quot;],&quot;_uid&quot;:[0,&quot;2ea68eb3-4806-43e5-b5c4-ccbb97d4269d&quot;],&quot;Color&quot;:[0,&quot;&quot;],&quot;Model&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;Seaboard Black Airwave Bundle&quot;],&quot;gallery&quot;:[1,[[0,{&quot;id&quot;:[0,18588368],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2-airwave-configurator-gallery-1.18588368.png&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1359x783/ce9e044452/seaboard2-airwave-configurator-gallery-1.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{&quot;source&quot;:[0,&quot;https://d30pueezughrda.cloudfront.net/roli.com/storyblok/seaboard2-airwave-configurator-gallery-1.18588368.png&quot;]}]}]]],&quot;subCopy&quot;:[0,&quot;&quot;],&quot;Material&quot;:[0,&quot;&quot;],&quot;category&quot;:[0,&quot;create&quot;],&quot;imageUrl&quot;:[0,&quot;https://cdn.shopify.com/s/files/1/0841/1601/files/seaboard-black-airwave-bundle_3b20e623-8229-4a2a-96ff-21ecde1847e7.png?v=1724846369&quot;],&quot;component&quot;:[0,&quot;shopify-variant&quot;],&quot;bundleSkus&quot;:[1,[[0,{&quot;sku&quot;:[0,&quot;sbrise2_2022_black&quot;],&quot;_uid&quot;:[0,&quot;a19152f7-9cda-4718-8a47-3ab5bd3d0e3c&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}],[0,{&quot;sku&quot;:[0,&quot;airwave_create&quot;],&quot;_uid&quot;:[0,&quot;6897aa09-1553-4800-8291-d517514b012c&quot;],&quot;component&quot;:[0,&quot;sku&quot;]}]]],&quot;exploreUrl&quot;:[0,&quot;/product/seaboard-2-airwave-bundle&quot;],&quot;Refurbished&quot;:[0,false],&quot;mobileImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;productType&quot;:[0,&quot;instrument&quot;],&quot;bestValueTag&quot;:[0,&quot;&quot;],&quot;desktopImage&quot;:[0,{&quot;id&quot;:[0,17544029],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/1359x783/a7258920ff/seaboard2.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;productTitle&quot;:[0,&quot;Seaboard Black Airwave Bundle&quot;],&quot;promoMessage&quot;:[0,&quot;Save {{amountSaved}}&quot;],&quot;activeBatches&quot;:[0,&quot;&quot;],&quot;bundleMessage&quot;:[0,&quot;&quot;],&quot;productHandle&quot;:[0,&quot;rise2-airwave-create-bundle&quot;],&quot;trustpilotTag&quot;:[0,&quot;SEABOARD-2&quot;],&quot;thumbnailImage&quot;:[0,{&quot;id&quot;:[0,null],&quot;alt&quot;:[0,null],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,null],&quot;title&quot;:[0,null],&quot;source&quot;:[0,null],&quot;filename&quot;:[0,&quot;&quot;],&quot;copyright&quot;:[0,null],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}]}],&quot;configuratorUrl&quot;:[0,&quot;/product/seaboard-2-airwave-bundle&quot;],&quot;onboardingImage&quot;:[0,{&quot;id&quot;:[0,84656718138178],&quot;alt&quot;:[0,&quot;&quot;],&quot;name&quot;:[0,&quot;&quot;],&quot;focus&quot;:[0,&quot;&quot;],&quot;title&quot;:[0,&quot;&quot;],&quot;source&quot;:[0,&quot;&quot;],&quot;filename&quot;:[0,&quot;https://a.storyblok.com/f/278825/2048x938/3da499ed6a/seaboard-2-bk-aw.png&quot;],&quot;copyright&quot;:[0,&quot;&quot;],&quot;fieldtype&quot;:[0,&quot;asset&quot;],&quot;meta_data&quot;:[0,{}],&quot;is_external_url&quot;:[0,false]}],&quot;onboardingTitle&quot;:[0,&quot;Seaboard 2 &amp; Airwave&quot;],&quot;productCategory&quot;:[0,&quot;&quot;],&quot;savingsYearlyText&quot;:[0,&quot;&quot;],&quot;showCategoryMessage&quot;:[0,false],&quot;additionalProperties&quot;:[1,[]]}],&quot;slug&quot;:[0,&quot;seaboard-black-airwave-bundle&quot;],&quot;full_slug&quot;:[0,&quot;shopify-variants/seaboard-black-airwave-bundle&quot;],&quot;sort_by_date&quot;:[0,null],&quot;position&quot;:[0,-1830],&quot;tag_list&quot;:[1,[]],&quot;is_startpage&quot;:[0,false],&quot;parent_id&quot;:[0,511129985],&quot;meta_data&quot;:[0,null],&quot;group_id&quot;:[0,&quot;2c21789e-a85f-401d-bfd4-b4530fffe59f&quot;],&quot;first_published_at&quot;:[0,&quot;2024-08-28T11:15:30.341Z&quot;],&quot;release_id&quot;:[0,null],&quot;lang&quot;:[0,&quot;default&quot;],&quot;path&quot;:[0,null],&quot;alternates&quot;:[1,[]],&quot;default_full_slug&quot;:[0,null],&quot;translated_slugs&quot;:[0,null]}]]],&quot;promoAddOnText&quot;:[0,&quot;&quot;],&quot;promoBadgeText&quot;:[0,&quot;Save 15%&quot;],&quot;promoAmountSTAGING&quot;:[0,&quot;&quot;]}]]]}" ssr client="only" opts="{&quot;name&quot;:&quot;GlobalPromos&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island>
580 <astro-island uid="2adIFt" component-url="/_astro/global-strings-provider.BS6jY8Eq.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;content&quot;:[0,{&quot;errors&quot;:[1,[[0,{&quot;id&quot;:[0,&quot;enterValidEmail&quot;],&quot;text&quot;:[0,&quot;Please enter a valid email address&quot;]}],[0,{&quot;id&quot;:[0,&quot;fieldRequired&quot;],&quot;text&quot;:[0,&quot;This field is required&quot;]}]]],&quot;saveTitle&quot;:[0,&quot;Save&quot;],&quot;buyNowText&quot;:[0,&quot;Buy now&quot;],&quot;buyNowLabel&quot;:[0,&quot;Buy now&quot;],&quot;perMonthText&quot;:[0,&quot;/month&quot;],&quot;addToCartLabel&quot;:[0,&quot;Add to cart&quot;],&quot;addedToCartLabel&quot;:[0,&quot;Added to cart&quot;],&quot;billedAnnuallyText&quot;:[0,&quot;billed annually&quot;],&quot;casioMonthlyMembershipNotice&quot;:[0,&quot;※月額プランについて:現在、アカウント登録ページ上では一部に通常料金が表示されております。ご迷惑をおかけし誠に申し訳ございません。実際の月額料金は特別価格の1,912円(税込)となり、ご請求時には正しい価格が適用されます。&quot;]}],&quot;language&quot;:[0,&quot;default&quot;]}" ssr client="only" opts="{&quot;name&quot;:&quot;GlobalStringsProvider&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> <astro-island uid="Z2iTSGx" component-url="/_astro/preview-banner.Cl_X7CVE.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{}" ssr client="only" opts="{&quot;name&quot;:&quot;PreviewBanner&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> </div>
580 <astro-island uid="1o3srL" component-url="/_astro/region-mismatch-modal.DTpSFxWH.js" component-export="default" renderer-url="/_astro/client.B5GPn6v5.js" props="{&quot;content&quot;:[0,{&quot;_uid&quot;:[0,&quot;04cf97c3-d335-4520-91c1-3a7768727e2f&quot;],&quot;title&quot;:[0,&quot;Choose your region&quot;],&quot;component&quot;:[0,&quot;Region Mismatch Modal&quot;],&quot;regionMismatchText&quot;:[0,&quot;Your shipping region does not match your current location, please confirm your preferred shipping region below.&quot;]}]}" ssr client="only" opts="{&quot;name&quot;:&quot;RegionMismatchModal&quot;,&quot;value&quot;:&quot;solid-js&quot;}"></astro-island> 
580<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a44055fbacce5f00',t:'MTc5MDkwODc1OA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
580</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.