{"id":974,"date":"2018-04-26T06:14:18","date_gmt":"2018-04-26T06:14:18","guid":{"rendered":"http:\/\/procedural-audio.com\/blog\/?p=974"},"modified":"2022-01-06T10:50:11","modified_gmt":"2022-01-06T10:50:11","slug":"create-1000s-of-new-sfx-in-one-click","status":"publish","type":"post","link":"http:\/\/procedural-audio.com\/blog\/2018\/04\/26\/create-1000s-of-new-sfx-in-one-click\/","title":{"rendered":"1000&#8217;s of new SFX in one click!"},"content":{"rendered":"<p>Need some inspiration? How about creating thousands of new sounds in one click? The command line version of GameSynth will let you do just that! The GameSynthC executable is located in the same folder than the GameSynth tool, and in this post we will see how it can be used to render patches automatically from scripts or to create random sound effects.<\/p>\n<p>&nbsp;<\/p>\n<h3>Rendering patches from a script or a tool<\/h3>\n<p>GameSynthC currently provides two commands. The first one, <em>render<\/em>, allows you to automate the rendering of patches into wave files from your build pipeline or from a tool.<\/p>\n<p>The syntax is as follows:<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -render -input [-number] [-variation] [-folder]\n<\/div>\n<p>The input argument represents the path to the patch (or folder of patches) to render.<\/p>\n<p>The arguments inside the brackets are optional:<\/p>\n<ul>\n<li>the first one is the number of variations to generate for each patch (one by default).<\/li>\n<li>the second one is the percentage of variation to apply (the default is 0%).<\/li>\n<li>the third one is the output folder (by default, it is the folder where the patches are located).<\/li>\n<\/ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a01.png\" alt=\"a01\" width=\"965\" height=\"488\" class=\"alignnone size-full wp-image-977\" srcset=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a01.png 965w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a01-150x76.png 150w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a01-300x152.png 300w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a01-768x388.png 768w\" sizes=\"(max-width: 965px) 100vw, 965px\" \/><\/p>\n<p>Therefore, if you don\u2019t use any of the optional arguments, you will generate a single wave file, based on the exact values of the parameters in your patch, and it will be saved in the same folder than that patch. For example:<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -render -input=\u201cC:\\GSPatches\\SwordHit.gspatch\u201d\n<\/div>\n<p>However, the following command will generate 100 sounds based on that same patch, each with 25% of variation, and then it will save them in the \u201cWaves\u201d folder:<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -render -input=\u201cC:\\GSPatches\\SwordHit.gspatch\u201d -number=100 <br \/>\u2013variation=25 \u2013output=\u201cD:\\Game\\Assets\\Waves\u201d\n<\/div>\n<p>This means that you can now automatically generate the number of variations you need directly from a script or from another tool. Note that what the percentage of variation actually means will depend on the random ranges you assigned to the various parameters of your patch.<\/p>\n<p>&nbsp;<\/p>\n<h3>Generating random sounds<\/h3>\n<p>The second command of GameSynthC, <em>random<\/em>, creates a number of totally random sounds. In order to do this, GameSynthC calls the random patch creation function of the Modular model for each sound to generate, and then renders the corresponding wave file.<\/p>\n<p>If you are not familiar with this awesome function yet, you can try it by selecting the Modular model, and choosing the \u201cCreate random patch\u201d command of the context menu (or press Ctrl + P). Each time, a new procedural audio patch will be created!<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" style=\"max-width: 450px;\" src=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a02.png\" alt=\"a02\" width=\"606\" height=\"498\" class=\"alignnone size-full wp-image-980\" srcset=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a02.png 606w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a02-150x123.png 150w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a02-300x247.png 300w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><\/p>\n<p>Of course, these patches are always structurally correct and always generate sound&#8230; so it is a great way to spark your creativity!<br \/>\n<br \/>\nThe syntax for this second command is described below:<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -random -output [-name] [-number] [-patch]\n<\/div>\n<p>Only the output folder is mandatory. This is how we indicate where the generated sounds will be saved.<\/p>\n<p>The following arguments are optional:<\/p>\n<ul>\n<li>the base name of the sounds (\u2018random\u2019 by default).<\/li>\n<li>the number of random sounds to generate (the default is 1).<\/li>\n<li>a \u2018patch\u2019 value that is set to \u2018true\u2019 to save the patch along the wave file, or \u2018false\u2019 otherwise (this is the default).<\/li>\n<ul>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a03.png\" alt=\"a03\" width=\"964\" height=\"488\" class=\"alignnone size-full wp-image-1011\" srcset=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a03.png 964w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a03-150x76.png 150w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a03-300x152.png 300w, http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2018\/04\/a03-768x389.png 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/><\/p>\n<p>For example, the following command will create exactly one sound effect named \u201crandom.wav\u201d and save it in the c:\\sfx folder:<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -random \u2013output=\u201dC:\\sfx\u201d\n<\/div>\n<p>This next command, however, will create 15 random sound effects, named newSFX1.wav to newSFX15.wav, and save them in the C:\\sfx folder along with the patches that were used to generate them.<\/p>\n<div class=\"gamesynth-command\">\nGameSynthC -random \u2013output=\u201dC:\\sfx\u201d \u2013name=\u201dnewSFX\u201d \u2013number=15 <br \/>\u2013patch=TRUE\n<\/div>\n<p>This brings us back to the title of this post: by integrating this function to a script, a tool, or simply by writing a one-line batch file for it, you can indeed create a thousand new sounds in a single click every time you run it!<\/p>\n<p>If you generate the patch files at the same time, you can browse the audio files and whenever you find something interesting, open the corresponding patch. This is a great way to learn how to patch in the Modular model of GameSynth and to get new ideas for your audio projects!<\/p>\n<p><a class=\"gs-learn-more\" href=\"http:\/\/procedural-audio.com\/web\/en\/products-gamesynth.html\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/procedural-audio.com\/blog\/wp-content\/uploads\/2020\/06\/2020_06_Introducing-Modular-Weapons-Modules-banner-1.png\" alt=\"GameSynth\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Need some inspiration? How about creating thousands of new sounds in one click? The command line version of GameSynth will let you do just<\/p>\n","protected":false},"author":1,"featured_media":1008,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,15,12],"tags":[],"_links":{"self":[{"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/posts\/974"}],"collection":[{"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/comments?post=974"}],"version-history":[{"count":23,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/posts\/974\/revisions"}],"predecessor-version":[{"id":4967,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/posts\/974\/revisions\/4967"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/media\/1008"}],"wp:attachment":[{"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/media?parent=974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/categories?post=974"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/procedural-audio.com\/blog\/wp-json\/wp\/v2\/tags?post=974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}