{"id":2069,"date":"2013-02-15T17:27:07","date_gmt":"2013-02-16T00:27:07","guid":{"rendered":"https:\/\/hybridsoundworks.com\/?p=2069"},"modified":"2015-03-25T14:56:58","modified_gmt":"2015-03-25T21:56:58","slug":"fmod-grain-player","status":"publish","type":"post","link":"https:\/\/hybridsoundworks.com\/?p=2069","title":{"rendered":"Fmod &#8211; Grain Player"},"content":{"rendered":"<p>I typically use grain players with short snippets of audio for looping sounds where I do not want an audible loop point. Imagine a rolling sound, scraping concrete, water running, wind, fire&#8230; you get the idea.<br \/>\nMy initial approach yielded a gap in the audio playback of fmod. After contacting Brett from Firelight and trying a few things, I found the solution. It&#8217;s not the most intuitive solution, so it was worth noting it down for future use. As a matter of fact I came across the same issue a few months after the fact, and I could not remember how to do it !<\/p>\n<p>In a Complex \/ Multitrack event, create 1 sound definition with all your grains.<br \/>\nThen set it to random\/sequential etc playback mode, with <strong>max spawn time of [0,1]<\/strong> and a <strong>Maximum Polyphony of 2<\/strong>,<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2082\" alt=\"Sound Def\" src=\"https:\/\/hybridsoundworks.com\/wp-content\/uploads\/2013\/02\/Sound-Def.gif\" width=\"1059\" height=\"631\" \/><br \/>\n&#8230; then in the event editor right click on the sound def instance, and bring up sound instance properties (right click on the sound def in the layer. Change mode to &#8216;wait for previous&#8217;.<\/p>\n<p>Wait for previous is set up for gapless joining so you can do granular synthesis this way.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2083\" alt=\"Sound Properties\" src=\"https:\/\/hybridsoundworks.com\/wp-content\/uploads\/2013\/02\/Sound-Properties.gif\" width=\"1360\" height=\"722\" \/><\/p>\n<p style=\"text-align: left;\">That&#8217;s all there is to it ! I&#8217;ve added a few real time parameters for scraping to modulate the event for fun.<\/p>\n<p style=\"text-align: left;\">The project files also contains an event called Tones. This contains 3 different pure tones stitched together the same way. This is to ensure there is zero overlap between grains when using this technique.<\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2086\" alt=\"Tones\" src=\"https:\/\/hybridsoundworks.com\/wp-content\/uploads\/2013\/02\/Tones.gif\" width=\"1103\" height=\"595\" \/><\/p>\n<p style=\"text-align: left;\">Check it out by downloading the fmod test project below.<\/p>\n<p style=\"text-align: left;\">Happy Graining !<\/p>\n<p style=\"text-align: left;\"><a href=\"https:\/\/dl.dropbox.com\/u\/26072321\/fmod%20-%20Grain%20Tests\/Grain%20Tests.rar\" target=\"_blank\">DOWNLOAD: mod &#8211; Grains Test Project<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I typically use grain players with short snippets of audio for looping sounds where I do not want an audible loop point. Imagine a rolling sound, scraping concrete, water running, wind, fire&#8230; you get the idea. My initial approach yielded a gap in the audio playback of fmod. After contacting Brett from Firelight and trying [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2089,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[47,3,43,5,41],"tags":[],"class_list":["post-2069","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-design","category-fmod","category-tools","category-workshops-tutorials"],"_links":{"self":[{"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/posts\/2069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2069"}],"version-history":[{"count":10,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/posts\/2069\/revisions"}],"predecessor-version":[{"id":2243,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/posts\/2069\/revisions\/2243"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=\/wp\/v2\/media\/2089"}],"wp:attachment":[{"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hybridsoundworks.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}