{"id":2224,"date":"2020-12-06T08:35:33","date_gmt":"2020-12-06T03:05:33","guid":{"rendered":"https:\/\/www.rangakrish.com\/?p=2224"},"modified":"2020-12-06T08:35:33","modified_gmt":"2020-12-06T03:05:33","slug":"using-falcon-2-with-opusmodus","status":"publish","type":"post","link":"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/","title":{"rendered":"Using Falcon 2 with Opusmodus"},"content":{"rendered":"<p>The recently concluded <em><strong>Black Friday<\/strong><\/em> sale by <a href=\"https:\/\/www.uvi.net\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>UVI<\/strong><\/em><\/a>\u00a0was an irresistible temptation for me and I ended up investing in <a href=\"https:\/\/www.uvi.net\/falcon.html\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Falcon 2<\/strong><\/em><\/a> and a few other instruments. Although I have the latest versions of <em><strong><a href=\"https:\/\/www.ableton.com\/en\/live\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ableton Live<\/a><\/strong><\/em>, <a href=\"https:\/\/www.reasonstudios.com\/en\/reason\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Propellerheads Reason<\/strong><\/em><\/a>, <a href=\"https:\/\/www.renoise.com\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Renoise<\/strong><\/em><\/a>, and <a href=\"https:\/\/www.reaper.fm\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Reaper<\/strong><\/em><\/a>, I felt <em><strong>Falcon 2<\/strong><\/em> would be a good addition to my existing collection, mainly because of its support for <a href=\"https:\/\/www.lua.org\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Lua<\/strong><\/em><\/a> scripting.<\/p>\n<p>Over the past few days, I have been experimenting with <em><strong>Falcon<\/strong><\/em> and the different instruments that I purchased along with it. It was fairly straightforward to set it up to receive MIDI inputs from <em><strong>Opusmodus<\/strong><\/em> and this gave me an opportunity to try out the features of my algorithmic composition <a href=\"https:\/\/www.rangakrish.com\/index.php\/2020\/11\/22\/a-library-for-algorithmic-music-composition\/\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>library<\/strong><\/em><\/a>. In this article, let me will go over what I did.<\/p>\n<p>Here is the code that I wrote. I created 4 tracks:<\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #0000ff;\">track1 =&gt; Chord progression<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #0000ff;\">track2 =&gt; Melody (automatically generated to go with the harmony)<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #0000ff;\">track3 =&gt; Bass (same as melody but shifted down by 1 octave)<\/span><\/p>\n<p style=\"padding-left: 40px;\"><span style=\"color: #0000ff;\">track4 =&gt; Percussion<\/span><\/p>\n<figure id=\"attachment_2225\" aria-describedby=\"caption-attachment-2225\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png?ssl=1\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"2225\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/code-12\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png\" data-orig-size=\"635,769\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Sample Code in Opusmodus\" data-image-description=\"&lt;p&gt;Sample Code in Opusmodus&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Sample Code in Opusmodus&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png\" class=\"wp-image-2225\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png?resize=500%2C606&#038;ssl=1\" alt=\"Sample Code in Opusmodus\" width=\"500\" height=\"606\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png?resize=248%2C300&amp;ssl=1 248w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code.png?w=635&amp;ssl=1 635w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2225\" class=\"wp-caption-text\"><strong>Sample Code in Opusmodus<\/strong><\/figcaption><\/figure>\n<p><em><strong>\u201cdefrack\u201d<\/strong><\/em> is a convenient macro that allows multiple sections (if any) to be merged. In my case, of course, there is just one section. The code is trivial:<\/p>\n<figure id=\"attachment_2226\" aria-describedby=\"caption-attachment-2226\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2226\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/code2-4\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png\" data-orig-size=\"575,168\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Macro: deftrack\" data-image-description=\"&lt;p&gt;Macro: deftrack&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Macro: deftrack&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png\" class=\"wp-image-2226\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png?resize=500%2C146&#038;ssl=1\" alt=\"Macro: deftrack\" width=\"500\" height=\"146\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png?resize=300%2C88&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code2.png?w=575&amp;ssl=1 575w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2226\" class=\"wp-caption-text\"><strong>Macro: deftrack<\/strong><\/figcaption><\/figure>\n<p>Likewise, \u201cplay-score-external\u201d is a simplification of \u201cdefscore\u201d that <em><strong>Opusmodus<\/strong><\/em> uses to generate the score. Here is the code:<\/p>\n<figure id=\"attachment_2227\" aria-describedby=\"caption-attachment-2227\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"2227\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/code3-3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png\" data-orig-size=\"846,165\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Macro: play-score-external\" data-image-description=\"&lt;p&gt;Macro: play-score-external&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Macro: play-score-external&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png\" class=\"wp-image-2227\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png?resize=500%2C98&#038;ssl=1\" alt=\"Macro: play-score-external\" width=\"500\" height=\"98\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png?resize=300%2C59&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png?resize=768%2C150&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/code3.png?w=846&amp;ssl=1 846w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2227\" class=\"wp-caption-text\"><strong>Macro: play-score-external<\/strong><\/figcaption><\/figure>\n<p>The <em><strong>chord progression<\/strong><\/em> is generated automatically (randomly, from a pre-defined list of popular chord progressions) based on the supplied rhythm. The <em><strong>melody<\/strong><\/em> is created to match the harmony (I have chosen the simplest algorithm here). Just to make things interesting, the <em><strong>b<\/strong><strong>ass<\/strong><\/em> track follows the melody track, but shifted down by one octave.<\/p>\n<p>I launched <em><strong>Falcon 2<\/strong><\/em> and configured it with 4 tracks, with instruments to match the tracks in my code.<\/p>\n<figure id=\"attachment_2228\" aria-describedby=\"caption-attachment-2228\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2228\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/falcon\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png\" data-orig-size=\"1363,884\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Setting Up Falcon 2\" data-image-description=\"&lt;p&gt;Setting Up Falcon 2&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Setting Up Falcon 2&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon-1024x664.png\" class=\"wp-image-2228\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?resize=500%2C324&#038;ssl=1\" alt=\"Setting Up Falcon 2\" width=\"500\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?resize=300%2C195&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?resize=1024%2C664&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?resize=768%2C498&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?resize=140%2C90&amp;ssl=1 140w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon.png?w=1363&amp;ssl=1 1363w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2228\" class=\"wp-caption-text\"><strong>Setting Up Falcon 2<\/strong><\/figcaption><\/figure>\n<p>One thing I noticed was the mismatch between the octave of the pitches I generated and the octave as <em><strong>\u201creceived\u201d<\/strong><\/em> by <em><strong>Falcon<\/strong><\/em>. This could be because <em><strong>Opusmodus<\/strong><\/em> uses <em><strong>\u201cC4\u201d<\/strong><\/em> as the <em><strong>Middle C<\/strong><\/em>, whereas <em><strong>Falcon 2<\/strong><\/em> (probably) uses <em><strong>\u201cC3\u201d<\/strong><\/em>. To address this, I initialised the <em><strong>octave settings<\/strong><\/em> of all 4 tracks in <em><strong>Falcon<\/strong><\/em> as <em><strong>\u201c1\u201d<\/strong><\/em> (the default is 0). It took me a while to figure this out.<\/p>\n<p>I then ran my program, triggering the instruments in <em><strong>Falcon 2<\/strong><\/em>. <a href=\"https:\/\/soundcloud.com\/rangarajan-964790889\/falcon-music1\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Here<\/strong><\/em><\/a>\u00a0is the generated 8-bar phrase.<\/p>\n<p>The corresponding <em><strong>MusicXML<\/strong><\/em> is this:<\/p>\n<figure id=\"attachment_2231\" aria-describedby=\"caption-attachment-2231\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2231\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/xml1-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png\" data-orig-size=\"790,205\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"MusicXML of the Phrase\" data-image-description=\"&lt;p&gt;MusicXML of the Phrase&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;MusicXML of the Phrase&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png\" class=\"wp-image-2231\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png?resize=500%2C130&#038;ssl=1\" alt=\"MusicXML of the Phrase\" width=\"500\" height=\"130\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png?resize=300%2C78&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png?resize=768%2C199&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml1.png?w=790&amp;ssl=1 790w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2231\" class=\"wp-caption-text\"><strong>MusicXML of the Phrase<\/strong><\/figcaption><\/figure>\n<p>I then changed the instruments slightly.<\/p>\n<figure id=\"attachment_2232\" aria-describedby=\"caption-attachment-2232\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2232\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/falcon2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png\" data-orig-size=\"1363,884\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Changed Setup\" data-image-description=\"&lt;p&gt;Changed Setup&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Changed Setup&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2-1024x664.png\" class=\"wp-image-2232\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?resize=500%2C324&#038;ssl=1\" alt=\"Changed Setup\" width=\"500\" height=\"324\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?resize=300%2C195&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?resize=1024%2C664&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?resize=768%2C498&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?resize=140%2C90&amp;ssl=1 140w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/falcon2.png?w=1363&amp;ssl=1 1363w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2232\" class=\"wp-caption-text\"><strong>Changed Setup<\/strong><\/figcaption><\/figure>\n<p>This time, I re-ran my program with changed scales:<\/p>\n<figure id=\"attachment_2233\" aria-describedby=\"caption-attachment-2233\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2233\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/scale3\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png\" data-orig-size=\"554,52\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Changed Scales\" data-image-description=\"&lt;p&gt;Changed Scales&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;Changed Scales&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png\" class=\"wp-image-2233\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png?resize=500%2C47&#038;ssl=1\" alt=\"Changed Scales\" width=\"500\" height=\"47\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png?resize=300%2C28&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/scale3.png?w=554&amp;ssl=1 554w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2233\" class=\"wp-caption-text\"><strong>Changed Scales<\/strong><\/figcaption><\/figure>\n<p><a href=\"https:\/\/soundcloud.com\/rangarajan-964790889\/falcon-music2\" target=\"_blank\" rel=\"noopener noreferrer\"><em><strong>Here<\/strong><\/em><\/a> is the output audio.<\/p>\n<p>Here is the <em><strong>MusicXML<\/strong><\/em>:<\/p>\n<figure id=\"attachment_2234\" aria-describedby=\"caption-attachment-2234\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2234\" data-permalink=\"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/06\/using-falcon-2-with-opusmodus\/xml4-2\/\" data-orig-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png\" data-orig-size=\"754,213\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"MusicXML of the Phrase\" data-image-description=\"&lt;p&gt;MusicXML of the Phrase&lt;\/p&gt;\n\" data-image-caption=\"&lt;p&gt;MusicXML of the Phrase&lt;\/p&gt;\n\" data-large-file=\"https:\/\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png\" class=\"wp-image-2234\" src=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png?resize=500%2C141&#038;ssl=1\" alt=\"MusicXML of the Phrase\" width=\"500\" height=\"141\" srcset=\"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png?resize=300%2C85&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/xml4-2.png?w=754&amp;ssl=1 754w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-2234\" class=\"wp-caption-text\"><strong>MusicXML of the Phrase<\/strong><\/figcaption><\/figure>\n<p>As you can sense, the generated chords, melody and bass tracks are different each time. However, the <em><strong>\u201cDrums\u201d<\/strong><\/em> track remains the same.<\/p>\n<p>Hope you like what you hear! My algorithmic library is work-in-progress and I will be sharing other interesting experiments in future articles. Stay tuned.<\/p>\n<p>Have a nice weekend!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The recently concluded Black Friday sale by UVI\u00a0was an irresistible temptation for me and I ended up investing in Falcon 2 and a few other instruments. Although I have the latest versions of Ableton Live, Propellerheads Reason, Renoise, and Reaper, I felt Falcon 2 would be a good addition to my existing collection, mainly because [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[18,5,17],"tags":[255,257,37],"class_list":["post-2224","post","type-post","status-publish","format-standard","hentry","category-lisp","category-music","category-programming","tag-algorithmic-composition","tag-falcon","tag-opusmodus"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9OLnF-zS","jetpack-related-posts":[{"id":2256,"url":"https:\/\/www.rangakrish.com\/index.php\/2021\/01\/02\/using-jfugue-with-external-daw\/","url_meta":{"origin":2224,"position":0},"title":"Using JFugue with External DAW","author":"admin","date":"January 2, 2021","format":false,"excerpt":"Let this New Year 2021 bring health and happiness to us all! In the last article, I talked briefly about JFugue and showed how to access it from LispWorks Lisp\u00a0on a PC running Windows 10. In that example, the music was rendered by the built-in synthesizer. Although this is fine,\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Checking Available MIDI Devices","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/01\/Code-to-check-devices-300x39.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/01\/Code-to-check-devices-300x39.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2021\/01\/Code-to-check-devices-300x39.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":2242,"url":"https:\/\/www.rangakrish.com\/index.php\/2020\/12\/20\/jfugue-a-java-library-for-music-synthesis\/","url_meta":{"origin":2224,"position":1},"title":"JFugue: A Java Library for Music Synthesis","author":"admin","date":"December 20, 2020","format":false,"excerpt":"JFugue\u00a0is an open-source Java library that can be used for algorithmic music composition. Developed by David Koelle, currently it is in its fifth major version. You can get the library from here. I had downloaded the library some time ago, but could not spend much time since my primary focus\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Simple Java Program","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/java-2-300x142.jpg?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/java-2-300x142.jpg?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2020\/12\/java-2-300x142.jpg?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":169,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/03\/04\/a-gui-front-end-for-cellular-automata-generator\/","url_meta":{"origin":2224,"position":2},"title":"A GUI Front-end for Cellular Automata Generator","author":"admin","date":"March 4, 2016","format":false,"excerpt":"In my last post, I explained how we can use Cellular Automata (CA) in Opusmodus\u00a0to create music. For today\u2019s post, I wanted to build a simple UI to control the parameters used in the CA example. This posed a practical difficulty. Opusmodus does not yet provide a GUI library. Even\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Opusmodus GUI Driver","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/03\/Opusmodus-Driver.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/03\/Opusmodus-Driver.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/03\/Opusmodus-Driver.png?resize=525%2C300 1.5x"},"classes":[]},{"id":245,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/05\/26\/constraint-propagation-in-picat\/","url_meta":{"origin":2224,"position":3},"title":"Constraint Programming in Picat","author":"admin","date":"May 26, 2016","format":false,"excerpt":"In my last post\u00a0I briefly described how we can use the Screamer Lisp library for constraint programming in music. Another language I have been hearing a lot about, in the context of constraint programming, is Picat, a Prolog-derived language. Although I am familiar with Prolog and have been a user\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Picat Program","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/05\/Picat-Program.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1501,"url":"https:\/\/www.rangakrish.com\/index.php\/2019\/03\/20\/controlling-reaktor-from-opusmodus-using-osc\/","url_meta":{"origin":2224,"position":4},"title":"Controlling Reaktor from Opusmodus Using OSC","author":"admin","date":"March 20, 2019","format":false,"excerpt":"I am a great fan of Opusmodus\u00a0software. I have written many articles about it in the past. Owing to my several other commitments, I am not able to spend much time on it these days, but I keep checking the features in new releases regularly. The software has evolved substantially\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"A Simple Sine Oscillator","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2019\/03\/Reaktor-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2019\/03\/Reaktor-1-1.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2019\/03\/Reaktor-1-1.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2019\/03\/Reaktor-1-1.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":140,"url":"https:\/\/www.rangakrish.com\/index.php\/2016\/02\/06\/organum-in-music\/","url_meta":{"origin":2224,"position":5},"title":"Organum in Music","author":"admin","date":"February 6, 2016","format":false,"excerpt":"When two or more voices in a song follow the same rhythm and move by the same interval, thus causing a parallel motion of the voices, it is referred to as Organum. Depending on the intervals between the voices, this can give rise to a rich and interesting effect. For\u2026","rel":"","context":"In &quot;LISP&quot;","block_context":{"text":"LISP","link":"https:\/\/www.rangakrish.com\/index.php\/category\/lisp\/"},"img":{"alt_text":"Single voice","src":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.rangakrish.com\/wp-content\/uploads\/2016\/02\/Single-voice.png?resize=525%2C300 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/2224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/comments?post=2224"}],"version-history":[{"count":0,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/posts\/2224\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/media?parent=2224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/categories?post=2224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rangakrish.com\/index.php\/wp-json\/wp\/v2\/tags?post=2224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}