All Projects → CwbhX → Jamais-Vu

CwbhX / Jamais-Vu

Licence: MIT license
Audio Fingerprinting and Recognition in Python using NVidia's CUDA

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Jamais-Vu

Gsyrecordwave
MP3音频录制,支持类似IOS原生的单边或者双边波形显示,低版本音频权限兼容,本地或者在线音频播放的波形显示,录制波形和播放波形会根据声音频率变色的功能,边播边缓存功能,简书入口http://www.jianshu.com/p/2448e2903b07
Stars: ✭ 810 (+3275%)
Mutual labels:  mp3, wave
audiophile
Audio fingerprinting and recognition
Stars: ✭ 17 (-29.17%)
Mutual labels:  scipy, audio-fingerprinting
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (+37.5%)
Mutual labels:  radio, scipy
audio-metadata
A library for reading and, in the future, writing audio metadata. https://audio-metadata.readthedocs.io/
Stars: ✭ 41 (+70.83%)
Mutual labels:  mp3, wave
Aplay
A Better(Maybe) iOS Audio Stream、Cache、Play Framework
Stars: ✭ 44 (+83.33%)
Mutual labels:  mp3, wave
fridgefm-radio-core
Simple lightweight package for creating your own radio station via NodeJS heavily inspired by Shoutcast and Icecast.
Stars: ✭ 32 (+33.33%)
Mutual labels:  radio, mp3
Apriori-and-Eclat-Frequent-Itemset-Mining
Implementation of the Apriori and Eclat algorithms, two of the best-known basic algorithms for mining frequent item sets in a set of transactions, implementation in Python.
Stars: ✭ 36 (+50%)
Mutual labels:  gpu-acceleration, pycuda
Scientific-Programming-in-Julia
Repository for B0M36SPJ
Stars: ✭ 32 (+33.33%)
Mutual labels:  gpu-acceleration
Best
Gifts for Programmers
Stars: ✭ 22 (-8.33%)
Mutual labels:  mp3
runtime
AnyDSL Runtime Library
Stars: ✭ 17 (-29.17%)
Mutual labels:  gpu-acceleration
SwiftyWave
Siri Waves View in Swift
Stars: ✭ 66 (+175%)
Mutual labels:  wave
MusicDownloader
It is a tool to download the music files such as .mp3 from netease cloud
Stars: ✭ 63 (+162.5%)
Mutual labels:  mp3
sx126x driver
Driver for SX126x radio
Stars: ✭ 41 (+70.83%)
Mutual labels:  radio
RFFHEM
Counterpart of SIGNALDuino, it's the code for FHEM to work with the data received from the uC
Stars: ✭ 44 (+83.33%)
Mutual labels:  radio
react-native-art-wave
A concise water wave animation process view write by React Native Art.
Stars: ✭ 45 (+87.5%)
Mutual labels:  wave
flare
nRF905 single-chip radio transceiver demodulator + FLARM protocol decoder
Stars: ✭ 51 (+112.5%)
Mutual labels:  radio
setigen
Python library for generating and injecting artificial narrow-band signals into radio frequency data
Stars: ✭ 19 (-20.83%)
Mutual labels:  radio
PyCHAM
PyCHAM: CHemistry with Aerosol Microphysics in Python box model for Windows, Linux and Mac
Stars: ✭ 38 (+58.33%)
Mutual labels:  scipy
Mp3Info
The fastest PHP library to extract mp3 meta information (duration, bitrate, samplerate and so on) and tags (id3v1, id3v2).
Stars: ✭ 114 (+375%)
Mutual labels:  mp3
Azuri
No longer maintained; see community fork in README.
Stars: ✭ 15 (-37.5%)
Mutual labels:  radio

Jamaisvu

A work-in-progress improvement upon Will Drevo's Dejavu project for audio fingering printing in Python. The aim of Jamaisvu is to be optimised and effective enough to be used as a sound identifier for DJs at Lafayette College's WJRH Radio.

I occasionally write about the progress of Jamaisvu on my website, and features and bugs I am currently working on can be viewed on my Trello board

The main goals for Jamaisvu over Dejavu is:

  • Provide more features
    • Detailed Information about songs (e.g. Artist, Album, Explicit, etc...)
    • Support API calls to be able to run in the background
    • Provide support for user entry and modification for mislabelled data
  • Provide much faster fingerprinting times via optimisations and GPU acceleration
  • Be integrated with Renan Dincer's Teal, which is a nice package for organising and storing radio shows

Eventually this will be used as the backend for WJRH Assistant

Getting Started

Tested only on MacOS and Ubuntu 16.04

Prerequisites

What dependencies you will need to run Jamaisvu:

  • Numpy
  • Scipy
  • Pycuda
  • AcoustID
  • Mysql
  • Mysql-config
  • Spotipy (You will need to set this up with your own Spotify account and keys in your PATH!)
  • Pymsgbox
  • Pydub
  • Pyaudio (also portaudio19-dev)
  • Reikna
  • Scikit-cuda

Installing

Ensure that you have a MySQL Database instance setup and running on your local machine and then setup a database for Jamaisvu with:

$ mysql -u root -p
Enter password: **********
mysql> CREATE DATABASE IF NOT EXISTS jamaisvu;

Hello World

You can use the JMV_Test.py to test to make sure your installation is working correctly

$ python JMV_Test.py [path to config.yaml] [path to music file]

The programme should fingerprint your file, store it in the database, read the file again, and identify it using the database. It should return something like:

Result:
song_genre : canadian pop
confidence : 181436
offset_seconds : 0.0
match_time : 6.18130493164
offset : 0
song_artist : The Weeknd
song_id : 1
song_name : Often - Kygo Remix
file_sha1 : 4EC99324791D7AF5A497FB693FF1DD3DBD3420A1
song_album : Often (Kygo Remix)
song_length : 234400
song_explicit : 1

Acknowledgments

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].