Sound Generator ================ This tool will generate midi or ogg "songs". Examples --------- * This will make midi song with a genome of type 0 (no hidden neurons) with 5 tracks 50 notes, saving the genome file. .. code-block:: bash SoundGenerator -G 0 -m -f gmidi1.mid -res 5 50 -sg gmidi1.json * This will reproduce gmidi1.json and gmidi2.json to make a "song" and a new genome gmidi12.json(this is the offspring of gmidi1 and gmidi2). .. code-block:: bash SoundGenerator -g r gmidi1.json gmidi2.json -m -f gmidi12.mid -sg gmidi12.json -res 5 50 * This will make a raw audio "song" using the outputs as variables to mathematical formula. .. code-block:: bash SoundGenerator -G 1 1 50 -c -C -f gsong.ogg -res 5 5000 -sg gsong.json * This will make a raw audio "song" with a Elman Neural Network with 2 hidden layers of 50 and 25 neurons. .. code-block:: bash SoundGenerator -N 2 2 50 25 -C -f gsong.ogg -res 5 5000 -s nsong.json Tool Help ------------- .. code-block:: bash SoundGenerator [options] -g, --genome [m|r] [ with r] load a genome json file With m will mutate the genome. With r will combine two genomes, without m or r will load the genome. -G, --genome-type will generate a genome of the type specified types: 0. Without hidden neurons 1. With hidden neurons. -n, --neuralnetwork [g] load a neural network json file. if g is specified will make a genome from this network. -N, --neuralnetwork-type will generate a random neural network of the type specified types: 0. CPPN 1. FeedForward 2. Elman Network -c, --color will use color as input for the neural network (can be used with -C) -C, --coords will use coordinates as input for the neural network (can be used with -c) -m, --midifile will use the three random notes and feed it to the NN and then move it along the ones generated by the neural network. -res will be -s, --save will save the neural network generated. -sg, --save-genome will save the genome generated. -f, --file-output sound that will output. -res, --resolution It will create a sound using the coordinates(ignored if --image is specified). --image load a image and generate a sound fromt it. -r, --repeat It will generate the sound again.(use it for recurrent nn) -licenses shows licenses used by SoundGenerator -h, --help help menu (This) License ---------- midifile ^^^^^^^^^^ .. code-block:: license Copyright (c) 1999-2023, Craig Stuart Sapp All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.