In this project we can see how we can generate automatic music using character RNN.

Overview

Automatic Music Genaration

Table of Contents

  1. Project Description
  2. Approach towards the problem
  3. Limitations
  4. Libraries Used
  5. Summary
  6. Applications
  7. References


1. Project Description

  • Natural Language Processing in Artificial Intelligence is the application of computational techniques to the analysis and synthesis of natural language and speech.

  • For a hypothetical scenario it was assumed that ABC music prod. pvt.ltd is a reknowned audio-video production house based out of Mumbai, India

  • As COVID-19 cases are increasing day by day it is almost impossible for the musicians to coop up with real time studio work.

  • Hence, the company wants you to make an AI based music genaration system.

  • The goal of this project is to make an AI based music genaration system.

  • The key contraint to the problem is accruracy.

  • You have been hired as a freelance data scientist for ABC music prod. pvt.ltd

  • The model should read a text file in abc format.

  • The model should genarate the corresponding music framed out of that note sequence.


2. Approach towards the problem

  • The approach to this project was to make a chat bot from scratch.

  • Initially all the necessary libraries were imported and installed.

  • Then, the data corpus was formed.

  • A data corpus is a collection of linguistic data.

  • Then while performing preprocessing we used lemitization technique in order to process the data into desirable format.

  • Then after preprocessing, we genarated various batches to fit into the model.

  • After that we build a charecter RNN model and trained the model for 100 epochs with a batch size of 16 and a sequence length of 64

  • For every 10 epochs the model would save the updated weights in the main directory

  • We recieved a validation accuracy of 92%

  • Now we genarated the music code which is nothing but the predicted vocabulary

  • After that we went here and we were successfully able to genarate music.

3. Limitation(s)

  • The only limitation of this model is that it is being trained with very less data.

  • However, while getting trained on various intrument data this model can be further enhanced for different instruments as well.

  • We have trained this model for only 100 epochs. As the number of epochs increase it is expected that the accuracy of the model will increase.

4. Libraries Used

Following are the list of libraries that were used for making this project.

  • Python was used as the general purposae programming language

  • Keras was used to perform all Deep Learning operation(s) such as model bulding, compliation and training.

  • numpy was used in order to calcucate numercal operations.

5. Summary

  • In this project an Automatic music genaration system was made from scratch.

  • Here, we recieved a validation accuracy of 92%

  • This project can be widely used for music production systems

  • The only limitation of this model is that it is being trained with very less data.

  • However, while getting trained on various intrument data this model can be further enhanced for different instruments as well.

  • This model can be used for in house music production systems.

  • This can be widely used to automate manual instruments.

  • This can be also used to make automatic VST(virtual studio toolkit) plugins

6. Applications

  • This model can be used for in house music production systems.

  • This can be widely used to automate manual instruments.

  • This can be also used to make automatic VST(virtual studio toolkit) plugins

7. References

Owner
Pronay Ghosh
A data-driven professional who grows day by day. Currently working as a Data Science Researcher at The International School of AI and Data Science.
Pronay Ghosh
Make an audio file (really) long-winded

longwind Make an audio file (really) long-winded Daily repetitions are an illusion anyway.

Vincent Lostanlen 2 Sep 12, 2022
Minimal command-line music player written in Python

pyms Minimal command-line music player written in Python. Designed with elegance and minimalism. Resizes dynamically with your terminal. Dependencies

12 Sep 23, 2022
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
A tool for retrieving audio in the past

Rewinder A tool for retrieving audio in the past. Ever felt like, I need to remember that discussion which happened 10 min back. Now you can! Rewind a

Bharat 1 Jan 24, 2022
PatrikZero's CS:GO Hearing protection

Program that lowers volume when you die and get flashed in CS:GO. It aims to lower the chance of hearing damage by reducing overall sound exposure. Uses game state integration. Anti-cheat safe.

Patrik Žúdel 224 Dec 04, 2022
🎵 A music bot for discord servers!

music bot A music bot for Discord Servers Features Play songs in your discord server Get the lyrics without going on a web explorer Commands Command P

1 Jul 25, 2022
Convert complex chord names to midi notes

ezchord Simple python script that can convert complex chord names to midi notes Prerequisites pip install midiutil Usage ./ezchord.py Dmin7 G7 C timi

Alex Zhang 2 Dec 20, 2022
Music player - endlessly plays your music

Music player First, if you wonder about what is supposed to be a music player or what makes a music player different from a simple media player, read

Albert Zeyer 482 Dec 19, 2022
Synthesia but open source, made in python and free

PyPiano Synthesia but open source, made in python and free Requirements are in requirements.txt If you struggle with installation of pyaudio, run : pi

DaCapo 11 Nov 06, 2022
LibXtract is a simple, portable, lightweight library of audio feature extraction functions.

LibXtract LibXtract is a simple, portable, lightweight library of audio feature extraction functions. The purpose of the library is to provide a relat

Jamie Bullock 215 Nov 16, 2022
Python CD-DA ripper preferring accuracy over speed

Whipper Whipper is a Python 3 (3.6+) CD-DA ripper based on the morituri project (CDDA ripper for *nix systems aiming for accuracy over speed). It star

671 Jan 04, 2023
Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs.

vog_oracles Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs. Huge thanks to mzucker on GitHub for the note detection cod

19 Sep 29, 2022
pyo is a Python module written in C to help digital signal processing script creation.

pyo is a Python module written in C to help digital signal processing script creation.

Olivier Bélanger 1.1k Jan 01, 2023
Any-to-any voice conversion using synthetic specific-speaker speeches as intermedium features

MediumVC MediumVC is an utterance-level method towards any-to-any VC. Before that, we propose SingleVC to perform A2O tasks(Xi → Ŷi) , Xi means utter

谷下雨 47 Dec 25, 2022
:notes: Cross-platform music player

Exaile Exaile is a music player with a simple interface and powerful music management capabilities. Features include automatic fetching of album art,

Exaile 327 Dec 19, 2022
Audio pitch-shifting & re-sampling utility, based on the EMU SP-1200

Pitcher.py Free & OS emulation of the SP-12 & SP-1200 signal chain (now with GUI) Pitch shift / bitcrush / resample audio files Written and tested in

morgan 13 Oct 03, 2022
GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

Bytedance Inc. 1.3k Jan 04, 2023
FPGA based USB 2.0 high speed audio interface featuring multiple optical ADAT inputs and outputs

ADAT USB Audio Interface FPGA based USB 2.0 High Speed audio interface featuring multiple optical ADAT inputs and outputs Status / current limitations

Hans Baier 78 Dec 31, 2022
:sound: Play and Record Sound with Python :snake:

Play and Record Sound with Python This Python module provides bindings for the PortAudio library and a few convenience functions to play and record Nu

spatialaudio.net 750 Dec 31, 2022
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.3k Jan 03, 2023