{"id":6380,"date":"2020-10-07T14:32:47","date_gmt":"2020-10-07T18:32:47","guid":{"rendered":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/?p=6380"},"modified":"2020-10-07T15:26:47","modified_gmt":"2020-10-07T19:26:47","slug":"sweetcorn-soli-checkin","status":"publish","type":"post","link":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/bkrummenandrew-cmu-edu\/10\/07\/sweetcorn-soli-checkin\/","title":{"rendered":"sweetcorn-soli-checkin"},"content":{"rendered":"<h3 style=\"text-align: center\"><a href=\"https:\/\/dog-lullaby.glitch.me\/\">Dog Lullaby<\/a><\/h3>\n<div id='gallery-1' class='gallery galleryid-6380 gallery-columns-3 gallery-size-medium'><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/bkrummenandrew-cmu-edu\/10\/07\/sweetcorn-soli-checkin\/screen-shot-2020-10-07-at-2-07-27-pm\/'><img width=\"270\" height=\"480\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.07.27-PM-270x480.png\" class=\"attachment-medium size-medium\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.07.27-PM-270x480.png 270w, https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.07.27-PM.png 388w\" sizes=\"(max-width: 270px) 85vw, 270px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/bkrummenandrew-cmu-edu\/10\/07\/sweetcorn-soli-checkin\/screen-shot-2020-10-07-at-1-56-44-pm\/'><img width=\"270\" height=\"480\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-1.56.44-PM-270x480.png\" class=\"attachment-medium size-medium\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-1.56.44-PM-270x480.png 270w, https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-1.56.44-PM.png 388w\" sizes=\"(max-width: 270px) 85vw, 270px\" \/><\/a>\n\t\t\t<\/div><\/figure><figure class='gallery-item'>\n\t\t\t<div class='gallery-icon portrait'>\n\t\t\t\t<a href='https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/bkrummenandrew-cmu-edu\/10\/07\/sweetcorn-soli-checkin\/screen-shot-2020-10-07-at-2-06-03-pm\/'><img width=\"270\" height=\"480\" src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.06.03-PM-270x480.png\" class=\"attachment-medium size-medium\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.06.03-PM-270x480.png 270w, https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/Screen-Shot-2020-10-07-at-2.06.03-PM.png 387w\" sizes=\"(max-width: 270px) 85vw, 270px\" \/><\/a>\n\t\t\t<\/div><\/figure>\n\t\t<\/div>\n\n<div id=\"kgvid_kgvid_0_wrapper\" class=\"kgvid_wrapper\">\n\t\t\t<div id=\"video_kgvid_0_div\" class=\"fitvidsignore kgvid_videodiv\" data-id=\"kgvid_0\" data-kgvid_video_vars=\"{&quot;id&quot;:&quot;kgvid_0&quot;,&quot;attachment_id&quot;:6386,&quot;player_type&quot;:&quot;Video.js&quot;,&quot;width&quot;:&quot;640&quot;,&quot;height&quot;:&quot;480&quot;,&quot;fullwidth&quot;:&quot;true&quot;,&quot;countable&quot;:true,&quot;count_views&quot;:&quot;start_complete&quot;,&quot;start&quot;:&quot;&quot;,&quot;autoplay&quot;:&quot;false&quot;,&quot;pauseothervideos&quot;:&quot;true&quot;,&quot;set_volume&quot;:1,&quot;muted&quot;:&quot;false&quot;,&quot;meta&quot;:true,&quot;endofvideooverlay&quot;:false,&quot;resize&quot;:&quot;true&quot;,&quot;auto_res&quot;:&quot;automatic&quot;,&quot;pixel_ratio&quot;:&quot;true&quot;,&quot;right_click&quot;:&quot;on&quot;,&quot;playback_rate&quot;:&quot;false&quot;,&quot;title&quot;:&quot;demo vidsmall&quot;,&quot;nativecontrolsfortouch&quot;:&quot;false&quot;,&quot;locale&quot;:&quot;en&quot;,&quot;enable_resolutions_plugin&quot;:false}\" itemprop=\"video\" itemscope itemtype=\"https:\/\/schema.org\/VideoObject\"><meta itemprop=\"embedUrl\" content=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/?attachment_id=6386&amp;kgvid_video_embed[enable]=true\" \/><meta itemprop=\"contentUrl\" content=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/demo-vidsmall.mov\" \/><meta itemprop=\"name\" content=\"demo vidsmall\" \/><meta itemprop=\"description\" content=\"Video\" \/><meta itemprop=\"uploadDate\" content=\"2020-10-07T14:29:52-04:00\" \/>\n\t\t\t\t<video id=\"video_kgvid_0\" playsinline controls preload=\"metadata\" width=\"640\" height=\"480\" class=\"fitvidsignore video-js kg-video-js-skin\">\n\t\t\t\t\t<source src=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-content\/uploads\/2020\/10\/demo-vidsmall.mov?id=0\" type=\"video\/mp4\" data-res=\"480p\">\n\t\t\t\t<\/video>\n\t\t\t<\/div>\n\t\t\t<div style=\"display:none;\" id=\"video_kgvid_0_meta\" class=\"kgvid_video_meta kgvid_video_meta_hover \">\n\t\t\t\t<span class='kgvid_meta_icons'><\/span>\n\t\t\t\t<span id='video_kgvid_0_title' class='kgvid_title'>demo vidsmall<\/span>\n<\/div>\n\t\t<\/div>\n<p>On desktop, use the arrow keys. Otherwise, use Soli swipe gestures to change the three notes used to generate the melody and a Soli tap gesture to mute and unmute the lullaby.<\/p>\n<p>I&#8217;m using<em> RiTa.js<\/em> for lyric generation (markov-generated from a text file (<em>lyrics.txt<\/em> on glitch) I&#8217;ve filled with lullabies, love notes, children&#8217;s songs, bedtime prayers, and nursery rhymes). I hope to improve the rhyming, which currently simply replaces the last word of a line with a random word that rhymes with the last word of the line before. This results in nonsense that isn&#8217;t thematically consistent with the markov-generated nonsense. More complex rhyme schemes than <em>AABB<\/em> could draw attention away from this fact.<\/p>\n<p>I&#8217;m using<em> Tone.js<\/em> for the song aspects. I was initially using <em>p5.Sound<\/em> but the quality was terrible in general but especially terrible on the device I am designing for, so last night I switched everything over to <em>Tone.js<\/em>. Due to that late change, I still have to refine the oscillators\/synthesizers I&#8217;m using and explore other <em>Tone.js<\/em> functionalities. I&#8217;m very pleased with the<em> Tone.js<\/em> quality in comparison to <em>p5.Sound<\/em> and wish I had used it from the beginning.<\/p>\n<p>I also have to refine the animation, as it was based around the previous drum pattern I was using, which ran on <em>p5.Sound. <\/em>I specifically mean the dog (Joe &lt;3), as there are plenty of opportunities to animate him beyond what I currently have. I might ease the stars in and out beyond the simple fade introduced by having a background set to a low alpha value, but this would require creating and storing stars in an array of stars, drawn in <em>draw() <\/em>instead of in <em>playBass(), <\/em>where it currently is. This is a relatively straightforward change, the most complicated aspect being disposing of the elements in the array that do not need to be drawn. This will be based around a timer, which hopefully will be simpler to work with using <em>Tone.js,<\/em> possibly relating to <em>ticks.value <\/em>instead of counting the number of beats manually, as I am doing now.<\/p>\n<p>I also have to implement functions for the beginning and end of the song. It runs for a random number of lyrics between 15 and 35 lines, but the program ends on a scope error from there.<\/p>\n<p style=\"text-align: right\"><em>~xoxo<\/em><\/p>\n<p style=\"text-align: right\"><em>sweetcorn<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dog Lullaby On desktop, use the arrow keys. Otherwise, use Soli swipe gestures to change the three notes used to generate the melody and a Soli tap gesture to mute and unmute the lullaby. I&#8217;m using RiTa.js for lyric generation (markov-generated from a text file (lyrics.txt on glitch) I&#8217;ve filled with lullabies, love notes, children&#8217;s &hellip; <a href=\"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/bkrummenandrew-cmu-edu\/10\/07\/sweetcorn-soli-checkin\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;sweetcorn-soli-checkin&#8221;<\/span><\/a><\/p>\n","protected":false},"author":46,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[57],"tags":[],"_links":{"self":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/6380"}],"collection":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/comments?post=6380"}],"version-history":[{"count":4,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/6380\/revisions"}],"predecessor-version":[{"id":6422,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/posts\/6380\/revisions\/6422"}],"wp:attachment":[{"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/media?parent=6380"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/categories?post=6380"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/courses.ideate.cmu.edu\/60-212\/f2020\/wp-json\/wp\/v2\/tags?post=6380"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}