dataset | meta data | contents | with audio |
---|---|---|---|
200DrumMachines | 7371 one-shots | yes | |
AAM | onsets, pitches, instruments, melody instrument, keys, chords, tempo, beats | 3000 (artificial) tracks | yes |
ACM_MIRUM | tempo | 1410 excerpts (60s) | yes |
ACPAS | aligned audio and scores | 2189 performances of 497 scores | downloadable |
AcousticBrainz-Genre | 15-31 genres with 265-745 subgenres | audio features for over 2000000 songs | no |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from os import walk | |
from os.path import join, basename | |
from pydub import AudioSegment | |
from json import dump, dumps | |
import pydub.scipy_effects | |
import numpy | |
import csv | |
import time | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
import spatial as sp | |
import sounddevice as sd | |
def play(sound, sample_rate=sp.SAMPLE_RATE): | |
"""Helper to play serially""" | |
sd.play(sound) | |
time.sleep(len(sound) / sample_rate) | |
space = sp.space(3) |
Make some noise and record your voice! Deep Learning models will analyze and build a drum kit, then start generating drum patterns infinitely with your sound.
Convolutional Neural Network is used to analyze and classify audio segments based on spectrograms (demo codepen) and Recurrent Neural Network(LSTM) for generating drum sequences. Shout-out to Tero Parviainen! Rhythm generation part of this codepen is based on his amazing Neural Drum Machine
Built with magenta.js, tensorflow.js and p5.js by @naotokui_en
- download and unzip stable RealtimePi distro
- write the extracted .img to sdcard with Etcher
These are instructions for building a stand alone, headless, music computer based on the Pisound audio card and a RaspberryPi 3.
I use this set up in my live performance rig where it does all of the following without breaking a sweat:
- Audio effects
- stutter gate (beat sync'd)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
INSTRUMENTS = [ | |
'Acoustic Grand Piano', | |
'Bright Acoustic Piano', | |
'Electric Grand Piano', | |
'Honky-tonk Piano', | |
'Electric Piano 1', | |
'Electric Piano 2', | |
'Harpsichord', | |
'Clavi', | |
'Celesta', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
audioread==2.1.5 | |
cryptography==1.7.1 | |
decorator==4.0.11 | |
idna==2.2 | |
joblib==0.11 | |
keyring==10.1 | |
keyrings.alt==1.3 | |
librosa==0.5.1 | |
llvmlite==0.15.0 | |
numba==0.30.1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from pydub import AudioSegment | |
from pydub.utils import db_to_float | |
# note: see usage example at the bottom of the gist :) | |
class Mixer(object): | |
def __init__(self): | |
self.parts = [] | |
def overlay(self, sound, position=0): |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import subprocess | |
import datetime | |
import numpy as np | |
THREAD_NUM=4 | |
def get_video_info(fileloc) : | |
command = ['ffprobe', | |
'-v', 'fatal', | |
'-show_entries', 'stream=width,height,r_frame_rate,duration', |