This project aims to make a Python web application that generates computer-designed music that evolves over time, using Genetic Programming (for the evolution, check out DarwinTunes, a university project).
Machine learning, perhaps using Google's TensorFlow is going to be used for automatic deduction of user's likeability; music element and song quality.
Moderate music theory will be employed to generate the chords, so that it will not be a "random" noisy chord to begin with. Different species, and a taxonomy of "species", will also be explored, rather than just having one "linear" output organism. To my knowledge, computer music generation has already been made, however, user's input are still needed. There exists no A.I. that "knows" whether a person would like a music or not.
This has applications in biophysics and psychology of musical perception too.
Please do not hesitate to contact me for any queries. I will appreciate input or constructive critisms and coaching too. I also have a LinkedIn profile, where you can find out about all the sector's and involvements that I have partaken in before.
#1.make fade out fade in in evaluate to remove discontinuities (Clicks) Using Sin^2(x) + cos^2(x) = 1 for constant power #2. Investivate ramp and ramp times sine #3. Investigate ADSR (attack decay sustain release) #4. Investigate modulation (A. Ring and B. amplitude)
-
- Soundform generator
-
- Sample .wav output file (white noise)
-
- Sine and cosine waves
-
- Triangle and square waves
-
- Superposition
-
- Removing aliasing and discontinuities (clicks) Using Sin^2(x) + cos^2(x) = 1 for constant power
-
- Testing out RAMP functions
-
-
- RAMP (Addition)
-
-
-
- RAMP times SINE (Multiplication)
-
-
- Investigate ADSR (attack decay sustain release)
-
- Incorporate modulation (A. Ring and B. amplitude)
-
- Harmonics generator (Scales, etc.)
-
- Generate multiple notes
-
- Workflow and format setup
-
- File directory of exportation of sound files
-
- .txt format of input or output data of sound files
-
- Instruments
-
- Notes
-
- Random (preparing for evolutionary mutatation phase) generator
-
- Instruments
-
- Beats
-
- Notes
-
- Study DarwinTunes and music generation elements
-
- CURRENT: Read up Discrete Fourier Transform for frequency analysis and manipulation
-
- CURRENT: Borrow and read DFT application in Music book from the library of Republic Polytechnic, Singapore
-
- CURRENT: Analyse DarwinTunes Ruby code
-
- Analyse musical elements and generation methodology
-
- Change the syntax to python
-
- Study genetics and genetic programming
-
- Borrow and read Biology for Dummies book from the library of Republic Polytechnic, Singapore
-
- Study Sexual Reproduction on Genetic Variation
-
- Mutations
-
- Crossing-over
-
- Independent Assortment
-
- Fertilisation
-
- Nondisjunction
-
- etc.
-
- Study Mendelian Genetics on F1, F2, etc.
-
- Create first bar of music
-
- Attempt hundred of repetitions
-
- Nice instruments (baseline + mid + high)
-
- Nice tune (Notes + rhythm)
-
- Great random generator
- MOST IMPORTANT THING THAT MAKES PROJECT UNIQUE
- Google TensorFlow: Machine Learning and Artificial intelligience
-
- Automatically calculate the "probability" of a user liking the music, base on desired genre.
-
- Automatically make the musicality base on music theory.
-
- Google TensorFlow: Machine Learning and Artificial intelligience
-
- Web-app interface for continued A.I. training and user-interaction
-
- Linkages with other platforms and services to make a full-electronic or pop song