{"id":4926,"date":"2024-02-10T15:12:07","date_gmt":"2024-02-10T06:12:07","guid":{"rendered":"https:\/\/blog.criware.com\/?p=4926"},"modified":"2024-02-10T15:12:07","modified_gmt":"2024-02-10T06:12:07","slug":"mapping-pitch-to-a-musical-scale","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/","title":{"rendered":"Mapping Pitch to a Musical Scale"},"content":{"rendered":"<p>When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game.<\/p>\n<p>To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to cover all the notes and articulations necessary. Such a large memory footprint may not be available, especially on mobile games.<\/p>\n<p>In this post, we will see how to create lightweight instruments from a single sample by mapping its pitch to a musical scale.<\/p>\n<div style=\"max-width: 700px; margin: 0 auto; margin-bottom: 20px; border: 1px solid #aaa;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4926-1\" width=\"800\" height=\"423\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-01-Pitch-Map.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-01-Pitch-Map.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-01-Pitch-Map.mp4<\/a><\/video><\/div>\n<\/div>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Creating a Pitch Map<\/h1>\n<p>We will start by recording the instrument.<\/p>\n<ul>\n<li>Record any tonal instrument you have access to: piano, guitar, glockenspiel, synthesizer, etc.<\/li>\n<li>Keep only the note that will be your root key. In our example, we recorded two instruments: one at C4 and the other at C6.<\/li>\n<\/ul>\n<p>Import these recordings in Atom Craft.<\/p>\n<ul>\n<li>Create a <strong>Polyphonic Cue.<\/strong><\/li>\n<li>Drag and drop one of the notes on the Cue to create a Track and a Waveform Region.<\/li>\n<\/ul>\n<p>If you play the Cue at that point, it will obviously always play the same note. Adjusting the <em>Pitch Random Range<\/em> property of the Cue would not help, as it would produce out-of-tune sounds, the pitch values being truly random.<\/p>\n<p>So we need another method in order to play notes tuned to a certain scale. For this, we will use an AISAC:<\/p>\n<ul>\n<li>Create an <strong>AISAC-Control<\/strong> called \u201cPitchScale\u201d.<\/li>\n<li>Select your Cue and create a new <strong>AISAC<\/strong>.<\/li>\n<li>Add a <strong>Pitch<\/strong> <strong>graph<\/strong> to the AISAC.<\/li>\n<\/ul>\n<p>Next, we need to map the pitch so that it corresponds to a musical scale.<\/p>\n<p>We have to create a step graph, where each step corresponds to a note in the target scale above and below the root key. The destination values for a pitch graph are expressed in cents. Since 1 semitone is equal to 100 cents, we must add steps in multiples of 100 to create the desired scale. To minimize pitch-shift artifacts, it is recommended to stay within +\/- 1 octave or +\/- 1200 cents of the root key.<\/p>\n<p>For example, if you want to create a pentatonic major scale over two octaves, you will need to create eleven steps with the following values -1200, -1000, -800, -500, -300, 0, 200, 400, 700, 900, 1200. Here is how it should look:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/01-Pitch-graph-scale.png\" alt=\"01 Pitch graph scale\" width=\"1175\" height=\"488\" class=\"alignnone size-full wp-image-4936\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/01-Pitch-graph-scale.png 1175w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/01-Pitch-graph-scale-300x125.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/01-Pitch-graph-scale-768x319.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/01-Pitch-graph-scale-1024x425.png 1024w\" sizes=\"auto, (max-width: 1175px) 100vw, 1175px\" \/><\/p>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Randomizing<\/h1>\n<p>Moving the AISAC will allow to play notes in the desired scale. In case a more generative approach is needed, it is also possible to use the AISAC&#8217;s random function to pick up each note.<\/p>\n<ul>\n<li>Select the AISAC.<\/li>\n<li>Change the <em>Control Type<\/em> to <em>Random<\/em>.<\/li>\n<li>New properties will appear: set the <em>Random Range<\/em> to 2 and <em>Default Control Value<\/em> to 0.5.<\/li>\n<\/ul>\n<p>The bar above the AISAC Control Values should turn green, showing the random range.<\/p>\n<p>From now on, each time we play the Cue the pitch will be randomized but will stay in tune.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/02-Random-AISAC.png\" alt=\"02 Random AISAC\" width=\"1645\" height=\"700\" class=\"alignnone size-full wp-image-4927\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/02-Random-AISAC.png 1645w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/02-Random-AISAC-300x128.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/02-Random-AISAC-768x327.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/02-Random-AISAC-1024x436.png 1024w\" sizes=\"auto, (max-width: 1645px) 100vw, 1645px\" \/><\/p>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Automating pitch mapping with CRI Robot<\/h1>\n<p>As you have probably noticed, these graphs can have a lot of points. It can be extremely cumbersome and error-prone to adjust them manually, especially for more complex scales.<\/p>\n<p>Thankfully, using the Robot API, we can write a script that will automatically generate the desired graph. In a <a href=\"https:\/\/blog.criware.com\/index.php\/2023\/12\/08\/aisac-crossfades-script-with-robot-api\/\">previous post<\/a>, we saw how to manipulate AISAC graphs, and we will use the same API function in this case too.<\/p>\n<p>Here is a summary of how the script works:<\/p>\n<ul>\n<li>We start by providing a list of different scales and their intervals.<\/li>\n<li>Once the user has selected a scale, we generate the pitch values for each step (in cents).<\/li>\n<li>Finally, we generate the Control Values required to create our step graph, based on how many intervals the scale has.<\/li>\n<\/ul>\n<p>This script can generate pitch graphs for 8 popular scales, but it is easy to edit the list to add your favorite.<\/p>\n<div style=\"max-width: 700px; margin: 0 auto; margin-bottom: 20px; border: 1px solid #aaa;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4926-2\" width=\"800\" height=\"423\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-02-Script.mp4?_=2\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-02-Script.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Video-02-Script.mp4<\/a><\/video><\/div>\n<\/div>\n<p>You will find both the demo project and the script below, so you can try with your own sounds and scales!<\/p>\n<div style=\"max-width: 800px; margin: 0 auto; margin-bottom: 20px; text-align: center;\">\n<a style=\"display: block; border: 1px solid #ccc; padding: 20px; max-width: 100%; margin: 0 auto;\" href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/AtomCraft_Project_RandomMusicalScale.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1813\" style=\"display: block; margin: 0 auto;\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2018\/06\/zip.png\" alt=\"zip\" width=\"80\" height=\"78\">AtomCraft_Project_RandomMusicalScale.zip<\/a><\/p>\n<p><a style=\"display: block; border: 1px solid #ccc; padding: 20px; max-width: 100%; margin: 0 auto;\" href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/Scripts_RobotAPI_AISACPitchMap.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1813\" style=\"display: block; margin: 0 auto;\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2018\/06\/zip.png\" alt=\"zip\" width=\"80\" height=\"78\">Scripts_RobotAPI_AISACPitchMap.zip<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation<\/p>\n","protected":false},"author":2,"featured_media":4939,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-4926","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adx","category-tutorials"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"criware\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\n\t\t<!-- Google tag (gtag.js) --> <script async src=\"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-3KHVJQ0K75\"><\/script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-3KHVJQ0K75'); <\/script>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"CRI Middleware Blog - Unleash creativity, boost productivity.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Mapping Pitch to a Musical Scale - CRI Middleware Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-02-10T06:12:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-02-10T06:12:07+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Mapping Pitch to a Musical Scale - CRI Middleware Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#blogposting\",\"name\":\"Mapping Pitch to a Musical Scale - CRI Middleware Blog\",\"headline\":\"Mapping Pitch to a Musical Scale\",\"author\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/author\\\/crich2_admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/BlogPicture_20240210_Mapping-Pitch-to-a-Musical-Scale.png\",\"width\":800,\"height\":445},\"datePublished\":\"2024-02-10T15:12:07+09:00\",\"dateModified\":\"2024-02-10T15:12:07+09:00\",\"inLanguage\":\"en-GB\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#webpage\"},\"articleSection\":\"ADX, Tutorials\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.criware.com\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/category\\\/adx\\\/#listItem\",\"name\":\"ADX\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/category\\\/adx\\\/#listItem\",\"position\":2,\"name\":\"ADX\",\"item\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/category\\\/adx\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#listItem\",\"name\":\"Mapping Pitch to a Musical Scale\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#listItem\",\"position\":3,\"name\":\"Mapping Pitch to a Musical Scale\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/category\\\/adx\\\/#listItem\",\"name\":\"ADX\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/#organization\",\"name\":\"CRI Middleware Blog\",\"description\":\"Unleash creativity, boost productivity.\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/CRI-Blog_Title-banner_03.png\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#organizationLogo\",\"width\":262,\"height\":81},\"image\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/author\\\/crich2_admin\\\/#author\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/author\\\/crich2_admin\\\/\",\"name\":\"criware\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#webpage\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/\",\"name\":\"Mapping Pitch to a Musical Scale - CRI Middleware Blog\",\"description\":\"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/author\\\/crich2_admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/author\\\/crich2_admin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/wp-content\\\/uploads\\\/2024\\\/02\\\/BlogPicture_20240210_Mapping-Pitch-to-a-Musical-Scale.png\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#mainImage\",\"width\":800,\"height\":445},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/index.php\\\/2024\\\/02\\\/10\\\/mapping-pitch-to-a-musical-scale\\\/#mainImage\"},\"datePublished\":\"2024-02-10T15:12:07+09:00\",\"dateModified\":\"2024-02-10T15:12:07+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.criware.com\\\/#website\",\"url\":\"https:\\\/\\\/blog.criware.com\\\/\",\"name\":\"CRI Middleware Blog\",\"description\":\"Unleash creativity, boost productivity.\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.criware.com\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Mapping Pitch to a Musical Scale - CRI Middleware Blog","description":"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to","canonical_url":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":"&lt;!-- Google tag (gtag.js) --&gt; &lt;script async src=\"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-3KHVJQ0K75\"&gt;&lt;\/script&gt; &lt;script&gt; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-3KHVJQ0K75'); &lt;\/script&gt;"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#blogposting","name":"Mapping Pitch to a Musical Scale - CRI Middleware Blog","headline":"Mapping Pitch to a Musical Scale","author":{"@id":"https:\/\/blog.criware.com\/index.php\/author\/crich2_admin\/#author"},"publisher":{"@id":"https:\/\/blog.criware.com\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/BlogPicture_20240210_Mapping-Pitch-to-a-Musical-Scale.png","width":800,"height":445},"datePublished":"2024-02-10T15:12:07+09:00","dateModified":"2024-02-10T15:12:07+09:00","inLanguage":"en-GB","mainEntityOfPage":{"@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#webpage"},"isPartOf":{"@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#webpage"},"articleSection":"ADX, Tutorials"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/blog.criware.com#listItem","position":1,"name":"Home","item":"https:\/\/blog.criware.com","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.criware.com\/index.php\/category\/adx\/#listItem","name":"ADX"}},{"@type":"ListItem","@id":"https:\/\/blog.criware.com\/index.php\/category\/adx\/#listItem","position":2,"name":"ADX","item":"https:\/\/blog.criware.com\/index.php\/category\/adx\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#listItem","name":"Mapping Pitch to a Musical Scale"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.criware.com#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#listItem","position":3,"name":"Mapping Pitch to a Musical Scale","previousItem":{"@type":"ListItem","@id":"https:\/\/blog.criware.com\/index.php\/category\/adx\/#listItem","name":"ADX"}}]},{"@type":"Organization","@id":"https:\/\/blog.criware.com\/#organization","name":"CRI Middleware Blog","description":"Unleash creativity, boost productivity.","url":"https:\/\/blog.criware.com\/","logo":{"@type":"ImageObject","url":"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#organizationLogo","width":262,"height":81},"image":{"@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/blog.criware.com\/index.php\/author\/crich2_admin\/#author","url":"https:\/\/blog.criware.com\/index.php\/author\/crich2_admin\/","name":"criware"},{"@type":"WebPage","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#webpage","url":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/","name":"Mapping Pitch to a Musical Scale - CRI Middleware Blog","description":"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/blog.criware.com\/#website"},"breadcrumb":{"@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#breadcrumblist"},"author":{"@id":"https:\/\/blog.criware.com\/index.php\/author\/crich2_admin\/#author"},"creator":{"@id":"https:\/\/blog.criware.com\/index.php\/author\/crich2_admin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/02\/BlogPicture_20240210_Mapping-Pitch-to-a-Musical-Scale.png","@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#mainImage","width":800,"height":445},"primaryImageOfPage":{"@id":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/#mainImage"},"datePublished":"2024-02-10T15:12:07+09:00","dateModified":"2024-02-10T15:12:07+09:00"},{"@type":"WebSite","@id":"https:\/\/blog.criware.com\/#website","url":"https:\/\/blog.criware.com\/","name":"CRI Middleware Blog","description":"Unleash creativity, boost productivity.","inLanguage":"en-GB","publisher":{"@id":"https:\/\/blog.criware.com\/#organization"}}]},"og:locale":"en_GB","og:site_name":"CRI Middleware Blog - Unleash creativity, boost productivity.","og:type":"article","og:title":"Mapping Pitch to a Musical Scale - CRI Middleware Blog","og:description":"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to","og:url":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/","og:image":"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png","og:image:secure_url":"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png","article:published_time":"2024-02-10T06:12:07+00:00","article:modified_time":"2024-02-10T06:12:07+00:00","twitter:card":"summary_large_image","twitter:title":"Mapping Pitch to a Musical Scale - CRI Middleware Blog","twitter:description":"When playing game music, you may sometimes want to generate some of the notes in real-time, either to add variation to a looping song, or for the music to better reflect what is happening in the game. To achieve this, instruments must be sampled and implemented in Atom Craft. Many files may be required to","twitter:image":"https:\/\/blog.criware.com\/wp-content\/uploads\/2021\/08\/CRI-Blog_Title-banner_03.png"},"aioseo_meta_data":{"post_id":"4926","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2024-12-03 07:25:57","updated":"2025-06-04 05:06:02","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.criware.com\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.criware.com\/index.php\/category\/adx\/\" title=\"ADX\">ADX<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tMapping Pitch to a Musical Scale\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/blog.criware.com"},{"label":"ADX","link":"https:\/\/blog.criware.com\/index.php\/category\/adx\/"},{"label":"Mapping Pitch to a Musical Scale","link":"https:\/\/blog.criware.com\/index.php\/2024\/02\/10\/mapping-pitch-to-a-musical-scale\/"}],"_links":{"self":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/4926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/comments?post=4926"}],"version-history":[{"count":8,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/4926\/revisions"}],"predecessor-version":[{"id":4942,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/4926\/revisions\/4942"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/4939"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=4926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=4926"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=4926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}