Coder Social home page Coder Social logo

novey-eric / audio-predictor Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 13 KB

This program aims to use a machine learning algorithm to predict notes being played in an audio file. This project was just an introduction to machine learning and TensorFlow for myself. It is in no way a perfect program, but I think it gets the job done.

Python 100.00%

audio-predictor's Introduction

Audio-Predictor

This program aims to use a machine learning algorithm to predict notes being played in an audio file. This project was just an introduction to machine learning and TensorFlow for myself. It is in no way a perfect program, but I think it gets the job done.

How to use

First download the zip file and extract the "amalgum" and "env" folders into the same folder as this project. https://www.mediafire.com/file/i8v94n7xjxqyjt4/Archive.zip/file Run the AudioGraphics.py file using the "env" python environment Use the "open file" button to chose whichever file you want to learn the notes of. The bpm does not need to be exact, you can think of it as more of a field that indicates the length of each prediction. For example a 1 bpm field will have a much longer prediction than a 100 bpm field. The "epochs" field is the number of traning epochs that the neural network will go through. A higher number for bpm will likely require a higher number of training epochs because of the small size of the prediction. After the audio file starts playing, you can exit the program. It creates graphs of the predicted notes with timestamps as the name. This will be far more accurate than the real-time display.

Problems

This project was a great way of learning more about fourier transforms and machine learning. Unfortunately, it seems this will likely not work very well for complex rhythms or really anything practical. I believe this comes down to the power of the fourier transform and the timeframe on which the operation occurs. I tried somewhat solving this problem using a bpm field but there probably needs to be a much more complex algorithm for when the transform occurs. Secondly, the visual display of the graph does not synch with the music, so instead I would recommend quitting the program after it starts playing and using the image files it creates with timestamps. Either way, I hope this helps someone :)

audio-predictor's People

Contributors

novey-eric avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.