{"id":704,"date":"2016-02-04T16:35:27","date_gmt":"2016-02-04T16:35:27","guid":{"rendered":"http:\/\/michael-edwards.org\/wp\/?p=704"},"modified":"2016-02-06T17:30:04","modified_gmt":"2016-02-06T17:30:04","slug":"the-user-of-reaper-and-mira-in-jitterbug","status":"publish","type":"post","link":"https:\/\/michael-edwards.org\/wp\/?p=704","title":{"rendered":"The use of Reaper and MIRA in jitterbug"},"content":{"rendered":"<p class=\"p1\"><i>jitterbug<\/i> is a four-movement four-channel work\/album for computer, with or without improvising musicians. It is documented more generally but in detail in <a href=\"https:\/\/michael-edwards.org\/wp\/?p=697\" target=\"_blank\">another blog post<\/a>. Here I\u2019m going to concentrate on some aspects of the use of <a href=\"http:\/\/reaper.fm\" target=\"_blank\"><i>Reaper<\/i><\/a><i> <\/i>in both the production and performance of this 40-minute work.<\/p>\n<p class=\"p1\">I\u2019m turning to <i>Reaper<\/i> more and more for mixing applications these days. Composing <i>jitterbug<\/i> meant creating the first extensive multichannel mix I\u2019ve done with it<i> <\/i>(all previous projects were stereo)<i>.<\/i> I have to say that I continue to be impressed with the flexibility and stability of routing and other operations <i>Reaper<\/i> offers. It doesn\u2019t have a surround panner built into the mixer channel strips by default, like my previous DAW of choice, <i>Nuendo<\/i>, but the the surround plugin that comes with <i>Reaper <\/i>by default is very capable of doing pretty much all of what <i>Nuendo\u2019s <\/i>does, and of course <i>Reaper <\/i>comes at a fraction of <i>Nuendo\u2019s<\/i> price. (On a related note, it was the lack of in-built surround capability that led me to move from <i>ProTools<\/i> to <i>Nuendo <\/i>back in about 2002, but I no longer think I can justify the cost of <i>Nuendo<\/i> in my non-commercially focussed projects, and I certainly can\u2019t recommend it to my hard-up students.)<\/p>\n<h2 class=\"p1\"><b>Markers<\/b><\/h2>\n<p class=\"p1\">As mentioned in the <i>Markers<\/i> section of a <a href=\"https:\/\/michael-edwards.org\/wp\/?p=461\" target=\"_blank\">previous blog post<\/a> related to my <a href=\"https:\/\/sites.eca.ed.ac.uk\/mnap\" target=\"_blank\">Delhi sound pollution project<\/a>, <i>Reaper<\/i> files are plain text so we can easily edit them to add or change markers. The experimental code I included in that previous blog post has now been tidied up, integrated into, and <a href=\"http:\/\/michael-edwards.org\/sc\/robodoc\/utilities_lsp.html#utilities2fpexpand2dreaper2dmarkers\" target=\"_blank\">documented<\/a> in the <i>slippery-chicken<\/i> 1.06 release.<\/p>\n<p class=\"p1\">One thing I often talk about in my lectures and seminars is not being led down someone else\u2019s path when it comes to making your own music. The grid layouts turned on by default in most DAW software\u2014and enforced when \u201csnap to grid\u201d is turned on\u2014lead some composers to inadvertently align with a tempo and\/or meter grid that was not an intentional part of their original design. Of course we can easily hide a grid, thus leading to more free-form temporal arrangements of materials, but even better of course is to create your own grid from the rhythmic-proportional data that forms the backbone to your composition, if you have one. This is what the <a href=\"http:\/\/michael-edwards.org\/sc\/robodoc\/utilities_lsp.html#utilities2fpexpand2dreaper2dmarkers\" target=\"_blank\">pexpand-reaper-markers<\/a> function does: it will create Reaper marker data at all the section, subsection, and sub-subsection boundaries in your piece, with different colours for the different levels of your major and minor sections.<\/p>\n<figure id=\"attachment_706\" aria-describedby=\"caption-attachment-706\" style=\"width: 620px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-706 size-large\" src=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers-1024x645.jpg\" alt=\"reaper-markers\" width=\"620\" height=\"391\" srcset=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers-1024x645.jpg 1024w, https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers-300x189.jpg 300w, https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers-768x484.jpg 768w, https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/reaper-markers.jpg 1239w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><figcaption id=\"caption-attachment-706\" class=\"wp-caption-text\">automatically generated markers in Reaper<\/figcaption><\/figure>\n<h2 class=\"p1\"><b>iPAD &amp; MIRA<\/b><\/h2>\n<p class=\"p1\">As with my <a href=\"https:\/\/michael-edwards.org\/wp\/?p=89\" target=\"_blank\"><i>hyperboles<\/i><\/a><i> <\/i>project, the performance of <i>jitterbug<\/i> is controlled with the iPAD via MaxMSP\u2019s <a href=\"https:\/\/cycling74.com\/products\/mira\/\" target=\"_blank\"><i>Mira<\/i><\/a><i> <\/i>object. Whereas in <i>hyperboles,<\/i> audio processing and mixing was done in MaxMSP itself, <i>jitterbug<\/i> is performed directly from <i>Reaper<\/i>. Grouping broadly related tracks\u2014according to spectrum, sonic character, or source, perhaps\u2014from the main mix I bounced down five 96KHz\/32-bit floating point quadrophonic stems for each movement; these are then mixed in real-time during the performance. The overall reverberation effects for the mix of these stems was also separately bounced down so that I can boost or attenuate reverb levels according to the liveliness of the performance space.<\/p>\n<p class=\"p1\">I added FX plugins such as EQ and dynamic range processors to <i>Reaper\u2019s<\/i> master bus in order to tame potential issues with the performance space. Using <i>Reaper<\/i> I was able to do a rough-and-ready pink noise calibration of the exhibition space at Museum Siam. This involved playing pink noise into the space at about 85dB SPL and looking at the spectrum coming back into <i>Reaper<\/i> via a Neumann U87 in omnidirectional pattern mode (the exhibition space used eight speakers surrounding the audience, after all). Using my favourite all-purpose EQ plugin, Voxengo\u2019s <a href=\"http:\/\/www.voxengo.com\/product\/glisseq\/\" target=\"_blank\"><i>GlissEQ<\/i><\/a>,<i> <\/i>I was able to quickly and dynamically tame the broad 915Hz accentuation of the room and compensate for its 200Hz hole.<\/p>\n<p class=\"p1\"><i>Reaper<\/i> allows very flexible control of its interface via <a href=\"https:\/\/en.wikipedia.org\/wiki\/Open_Sound_Control\" target=\"_blank\">OSC<\/a> so I made a <i>mira<\/i> interface in MaxMSP that would allow me to change levels from a central point within the audience, and an OSC pattern configuration file for <i>Reaper <\/i>that would give me the required number of tracks and messages without flooding the network (a message frequency of 20ms was sufficient). This approach meant that I could put the computer and other hardware out of the way and out of view of the audience and take up a minimal mixing footprint: no more than any other audience member in fact. As well as levels for the five stem tracks plus reverb I could control overall bass and treble boosts, high and low-pass filters (for spaces or situations where the shelf filters alone would not suffice, perhaps), as well as the two live input levels for keyboard and <i>saw duang<\/i>. I could also jump to specific markers in the piece and play, pause, stop, and record the performance all from the iPAD. As <i>Reaper<\/i> sends OSC messages as well as receiving them, I was able to see the current play position, update a textual description of the five stems so I knew at any given time what kind of sound was under the faders, and, most importantly, even see the audio level meters. (These were overlaid onto the sliders used to change levels, thus saving interface space. MaxMSP recognises that the meter is not an object you interact with directly whereas the slider is, so there is no conflict of interface created by overlapping the two objects.)<\/p>\n<figure id=\"attachment_707\" aria-describedby=\"caption-attachment-707\" style=\"width: 517px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/jitterbug-mira.jpg\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-707 size-full\" src=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/jitterbug-mira.jpg\" alt=\"jitterbug-mira\" width=\"517\" height=\"380\" srcset=\"https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/jitterbug-mira.jpg 517w, https:\/\/michael-edwards.org\/wp\/wp-content\/uploads\/jitterbug-mira-300x221.jpg 300w\" sizes=\"auto, (max-width: 517px) 100vw, 517px\" \/><\/a><figcaption id=\"caption-attachment-707\" class=\"wp-caption-text\">Mira interface to control Reaper in jitterbug<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>jitterbug is a four-movement four-channel work\/album for computer, with or without improvising musicians. It is documented more generally but in detail in another blog post. Here I\u2019m going to concentrate on some aspects of the use of Reaper in both the production and performance of this 40-minute work. I\u2019m turning to Reaper more and more [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":709,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,27,11,108],"tags":[3,125,4,124,129,6],"class_list":["post-704","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorithmic-composition","category-composition","category-composition-documentation","category-slippery-chicken","tag-algorithms","tag-bangkok","tag-common-lisp","tag-jitterbug","tag-proportions","tag-slippery-chicken"],"_links":{"self":[{"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/704","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=704"}],"version-history":[{"count":18,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/704\/revisions"}],"predecessor-version":[{"id":843,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/posts\/704\/revisions\/843"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=\/wp\/v2\/media\/709"}],"wp:attachment":[{"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michael-edwards.org\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}