deep-jammer | Deep Jammer is a deep neural network

 by   justinsvegliato Python Version: Current License: No License

kandi X-RAY | deep-jammer Summary

kandi X-RAY | deep-jammer Summary

deep-jammer is a Python library typically used in Telecommunications, Media, Advertising, Marketing applications. deep-jammer has no bugs, it has no vulnerabilities and it has low support. However deep-jammer build file is not available. You can download it from GitHub.

Deep Jammer is a deep neural network that can endlessly compose classical piano music by learning from a ton of music from Bach, Beethoven, Mozart, and other famous composers. If you want to read a blog post about this, check it out here. And, if you're feeling really nerdy, check out the report and the the poster. By the way, I wouldn't use the Keras version for now. The Theano version was the last project that Sam and I ran.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              deep-jammer has a low active ecosystem.
              It has 14 star(s) with 7 fork(s). There are 3 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 1 open issues and 16 have been closed. On average issues are closed in 9 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of deep-jammer is current.

            kandi-Quality Quality

              deep-jammer has no bugs reported.

            kandi-Security Security

              deep-jammer has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              deep-jammer does not have a standard license declared.
              Check the repository for any license declaration and review the terms closely.
              OutlinedDot
              Without a license, all rights are reserved, and you cannot use the library in your applications.

            kandi-Reuse Reuse

              deep-jammer releases are not available. You will need to build from source code and install.
              deep-jammer has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi has reviewed deep-jammer and discovered the below as its top functions. This is intended to give you an instant insight into deep-jammer implemented functionality, and help decide if they suit your requirements.
            • Generate a single piece from a piece of pieces
            • Get the input form
            • Get a random segment from a piece of pieces
            • Calculate the context of a piece
            • Return the value at index
            • Get multiple input forms
            • Return a list of input forms
            • Get the beat from a time
            • Get the pieces of the file at path
            • Get a piece from a MIDI file
            • Performs the computation
            Get all kandi verified functions for this library.

            deep-jammer Key Features

            No Key Features are available at this moment for deep-jammer.

            deep-jammer Examples and Code Snippets

            No Code Snippets are available at this moment for deep-jammer.

            Community Discussions

            No Community Discussions are available at this moment for deep-jammer.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install deep-jammer

            To set up Deep Jamer, we just need to do a few steps:.
            First, make sure that you're using Python2.7 or else you'll get a lot of errors. Deep Jammer doesn't work with Python3 since we don't use print as a function (and probably other stuff). Yup, we totally regret that decision.
            Since the Keras version trains very slowly for some reason, let's stick to the Theano version. I'm honestly not even sure if the Keras version is in a working state. We haven't touched it in a while. From the root directory of the project, run the following command:
            Before we can run Deep Jammer, we need to install a few Python packages, some of which you may already have. To get every package, we just run the command below. While we're pretty sure that we've included everything, let us know what we missed.
            Next, we need to create a repository. A repository is a collection of music in the representation understood by Deep Jammer. To do this, we need to run the command below. This could take a while just as a heads up. Note that repository_handler.py uses all of the MIDI files stored in the pieces directory and saves the repository in the repositories directory. By default, w've included a lot of MIDI files in the pieces directory. This means all you have to do is generate a repository. If you run into any permission issues, just add sudo to the front of the command. This should solve any problems. This happens because it needs to read MIDI files and write a repository file to your file system.
            If that command ran successfully, you should see the following output:
            Now that we've built a repository, we can train Deep Jammer. All we need to do is run the command below. Again, add sudo to the front of the command if you run into any permission issues. Theano needs to access a few files in the ~/.theano directory.
            If Deep Jammer runs properly, you should see the output below. At every 5 epochs, we print out a summary of the current loss. We also save the current configuration (i.e., the current weights) and compose a sample. If you want, you can adjust how often we save the current configuration or compose a sample piece by modifying the variables SUMMARY_THRESHOLD and CHECKPOINT_THRESHOLD in the deep_jammer.py file. More importantly, we store every loss in a file called loss-history.txt.
            Now that we've trained Deep Jammer, let's adjust some of the parameters of our neural network just so you know how. At the top of deep_jammer.py, you'll see two variables: TIME_MODEL_LAYERS and NOTE_MODEL_LAYERS. Basically, these arrays represents the number of nodes in each time layer and each note layer. You can adjust them to whatever you want. We found that the current configuration is the sweet spot though. While there are other variables that you can adjust, they aren't as important. Feel free to play around with them if you want.
            In addition to adjusting the parameters of our neural network, we can change the the number of epochs and the batch size. By default, the number of epochs is 200 and the batch size is 5. You'll probably need more epochs to generate good music. We used 5000 epochs in our experiments. That said, all we have to do is add two optional flags to the command we ran before. Check it out below:

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/justinsvegliato/deep-jammer.git

          • CLI

            gh repo clone justinsvegliato/deep-jammer

          • sshUrl

            git@github.com:justinsvegliato/deep-jammer.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link