All Projects → sfluor → Musig

sfluor / Musig

Licence: mit
A shazam like tool to store songs fingerprints and retrieve them

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Musig

Instacam
Instant canvas video
Stars: ✭ 106 (-72.68%)
Mutual labels:  microphone, audio
Spectro
🎶 Real-time audio spectrogram generator for the web
Stars: ✭ 383 (-1.29%)
Mutual labels:  microphone, audio
Wad
Web Audio DAW. Use the Web Audio API for dynamic sound synthesis. It's like jQuery for your ears.
Stars: ✭ 1,540 (+296.91%)
Mutual labels:  microphone, audio
Videojs Record
video.js plugin for recording audio/video/image files
Stars: ✭ 1,074 (+176.8%)
Mutual labels:  microphone, audio
Videojs Wavesurfer
video.js plugin that adds a navigable waveform for audio and video files
Stars: ✭ 242 (-37.63%)
Mutual labels:  microphone, audio
App Media
Elements for accessing data from media input devices and visualizing that data for users
Stars: ✭ 60 (-84.54%)
Mutual labels:  microphone, audio
Ubicoustics
Accompanying repository for Ubicoustics: Plug-and-Play Acoustic Activity Recognition
Stars: ✭ 134 (-65.46%)
Mutual labels:  microphone, audio
Emotion Classification From Audio Files
Understanding emotions from audio files using neural networks and multiple datasets.
Stars: ✭ 189 (-51.29%)
Mutual labels:  audio, audio-processing
Ledfx
LedFx is a network based LED effect controller with support for advanced real-time audio effects! LedFx can control multiple devices and works great with cheap ESP8266 nodes allowing for cost effectvice syncronized effects across your entire house!
Stars: ✭ 153 (-60.57%)
Mutual labels:  microphone, audio-processing
Plugin.audiorecorder
Audio Recorder plugin for Xamarin and Windows
Stars: ✭ 140 (-63.92%)
Mutual labels:  microphone, audio
Mems mic breakout Admp401
SparkFun MEMS Microphone Breakout - INMP401 (ADMP401)
Stars: ✭ 10 (-97.42%)
Mutual labels:  microphone, audio
Nara wpe
Different implementations of "Weighted Prediction Error" for speech dereverberation
Stars: ✭ 265 (-31.7%)
Mutual labels:  audio, audio-processing
Otto
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
Stars: ✭ 2,390 (+515.98%)
Mutual labels:  audio, audio-processing
Figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 80 (-79.38%)
Mutual labels:  microphone, audio
Mwengine
Audio engine and DSP for Android, written in C++ providing low latency performance in a musical context, supporting both OpenSL and AAudio.
Stars: ✭ 190 (-51.03%)
Mutual labels:  audio, audio-processing
Alexa Voice Service.js
Library for interacting with Alexa Voice Service (AVS) in the browser.
Stars: ✭ 123 (-68.3%)
Mutual labels:  microphone, audio
Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+465.72%)
Mutual labels:  audio, audio-processing
Scaper
A library for soundscape synthesis and augmentation
Stars: ✭ 186 (-52.06%)
Mutual labels:  audio, audio-processing
Cordova Plugin Audioinput
This iOS/Android Cordova/PhoneGap plugin enables audio capture from the device microphone, by in near real-time forwarding audio to the web layer of your application. A typical usage scenario for this plugin would be to use the captured audio as source for a web audio node chain, where it then can be analyzed, manipulated and/or played.
Stars: ✭ 137 (-64.69%)
Mutual labels:  microphone, audio
web-voice-processor
A library for real-time voice processing in web browsers
Stars: ✭ 69 (-82.22%)
Mutual labels:  microphone, audio-processing

musig 🔈

GoDoc CircleCI

A shazam-like tool that allows you to compute song's fingerprints and reverse lookup song names.

It's more or less an implementation of the shazam paper as described in this awesome article

Installation

You will need to have go on your computer (version > 1.11 to be able to use go modules).

You will also need to have portaudio installed (brew install portaudio on macOS, apt install portaudio19-dev on Ubuntu / Debian, for other distributions you can search for the portaudio package), it is required for the listen command that listens on your microphone to match the recording against the database.

To build the binary:

git clone [email protected]:sfluor/musig.git
cd musig
make

You will then be able to run the binary with:

./bin/musig help

Usage

musig usage

To do some testing you can download wav songs by doing make download.

Load them with ./bin/musig load "./assets/dataset/wav/*.wav"

And try to find one of your song name with:

./bin/musig read "$(ls ./assets/dataset/wav/*.wav | head -n 1)"

You can also try to use it with your microphone using the listen command:

./bin/musig listen

If you want to record a sample and reuse it multiple times after you can also use the record command:

./bin/musig record

For more details on the usage see the help command:

A shazam like CLI tool

Usage:
  musig [command]

Available Commands:
  help        Help about any command
  listen      listen will record the microphone input and try to find a matching song from the database (Ctrl-C will stop the recording)
  load        Load loads all the audio files matching the provided glob into the database (TODO: only .wav are supported for now)
  read        Read reads the given audio file trying to find it's song name
  record      record will record the microphone input and save the signal to the given file
  spectrogram spectrogram generate a spectrogram image for the given audio file in png (TODO: only .wav are supported for now)

Flags:
      --database string   database file to use (default "/tmp/musig.bolt")
  -h, --help              help for musig

Use "musig [command] --help" for more information about a command.

Testing

To run the tests you can use make test in the root directory.

TODOs

  • [ ] improve the documentation
  • [ ] support for mp3 files
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].