All Projects → georgid → Alignmentduration

georgid / Alignmentduration

Licence: agpl-3.0
Lyrics-to-audio-alignement system. Based on Machine Learning Algorithms: Hidden Markov Models with Viterbi forced alignment. The alignment is explicitly aware of durations of musical notes. The phonetic model are classified with MLP Deep Neural Network.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Alignmentduration

Awesome Deep Learning Music
List of articles related to deep learning applied to music
Stars: ✭ 2,195 (+5997.22%)
Mutual labels:  research, neural-networks, music-information-retrieval, music
Cplayer
A beautiful and clean WEB Music Player by HTML5.
Stars: ✭ 556 (+1444.44%)
Mutual labels:  music, lyrics
Ffsubsync
Automagically synchronize subtitles with video.
Stars: ✭ 5,167 (+14252.78%)
Mutual labels:  alignment, synchronization
Deepaudioclassification
Finding the genre of a song with Deep Learning
Stars: ✭ 969 (+2591.67%)
Mutual labels:  neural-networks, music
React Music Player
🎵 Maybe the best beautiful HTML5 responsive player component for react :)
Stars: ✭ 321 (+791.67%)
Mutual labels:  music, lyrics
Warezz
It's illegal cuz they can't tax you!
Stars: ✭ 386 (+972.22%)
Mutual labels:  research, music
Warez
All your base are belong to us!
Stars: ✭ 584 (+1522.22%)
Mutual labels:  research, music
spafe
🔉 spafe: Simplified Python Audio Features Extraction
Stars: ✭ 310 (+761.11%)
Mutual labels:  signal-processing, music-information-retrieval
Sincnet
SincNet is a neural architecture for efficiently processing raw audio samples.
Stars: ✭ 764 (+2022.22%)
Mutual labels:  neural-networks, signal-processing
Pyo
Python DSP module
Stars: ✭ 904 (+2411.11%)
Mutual labels:  music, signal-processing
Alltomp3 App
Download and Convert YouTube, SoundCloud & Spotify in MP3 with full tags (title, artist, genre, cover, lyrics 🔥)
Stars: ✭ 920 (+2455.56%)
Mutual labels:  music, lyrics
Lyrics-to-Audio-Alignment
Aligns text (lyrics) with monophonic singing voice (audio). The algorithm uses structural segmentation to segment the audio into structures and then uses hidden markov models to obtain alignment within segments. The final alignment is concatenation of time stamps of lyrics within the segments for each song.
Stars: ✭ 57 (+58.33%)
Mutual labels:  lyrics, alignment
Music-Genre-Classification
Automatic Music Genre Classification with Machine Learning Techniques
Stars: ✭ 49 (+36.11%)
Mutual labels:  signal-processing, music-information-retrieval
Soundsync
Virtual cables between any audio source and any speaker in your home
Stars: ✭ 453 (+1158.33%)
Mutual labels:  synchronization, music
QuakeMigrate
A Python package for automatic earthquake detection and location using waveform migration and stacking.
Stars: ✭ 101 (+180.56%)
Mutual labels:  research, signal-processing
Musicrepair
Fixes music metadata and adds album art.
Stars: ✭ 566 (+1472.22%)
Mutual labels:  music, lyrics
Lyrics Corpora
An unofficial Python API that allows users to create a corpus of lyrical text from their favorite artists and billboard charts
Stars: ✭ 13 (-63.89%)
Mutual labels:  music, lyrics
Sota Cv
A repository of state-of-the-art deep learning methods in computer vision
Stars: ✭ 176 (+388.89%)
Mutual labels:  research, neural-networks
gr-eventstream
gr-eventstream is a set of GNU Radio blocks for creating precisely timed events and either inserting them into, or extracting them from normal data-streams precisely. It allows for the definition of high speed time-synchronous c++ burst event handlers, as well as bridging to standard GNU Radio Async PDU messages with precise timing easily.
Stars: ✭ 38 (+5.56%)
Mutual labels:  synchronization, signal-processing
Madmom
Python audio and music signal processing library
Stars: ✭ 728 (+1922.22%)
Mutual labels:  music-information-retrieval, signal-processing

Build Status

AlignmentDuration

Tool for Aligning lyrics to audio automatically using a phonetic recognizer with Hidden Markov Models. The Viterbi Decoding with explicit durations of reference syllables can be toggled on with the parameter WITH_DURATIONS

Built from scratch. Alternatively one can use this tool as a wrapper around htk (may be faster) by setting the parameter DECODE_WITH_HTK

If you are using this work please cite http://mtg.upf.edu/node/3751

NOTE: A version building upon this research is built by Voice Magix. It features

  • latest deep-learning enabled acoustic model
  • English language lyrics parser and normalizer
  • runtime speed optimization
  • option to run on recordings with diverse types of background instruments
  • reduced external package dependencies

If interested in using it write to info at voicemagix dot com

Folder Structure

  • example: example/test sound and annotation files
  • scripts: help scripts for running the code (including on hpc cluster )
  • src: main source code
    • align: main alignment logic
    • hmm: hidden Markov model alignment
    • for_makam: Makam-specific logic (see music traditions below)
    • models_makam: acoustic model for Turkish
    • models_jingju: acoustic model for Jingju Mandarin
    • for_jingju: jingju-specific logic (see music traditions below)
    • onsets: logic for note-onset-aware alignment (ISMIR 2016)
    • parse: logic for parsing lyrics files
    • smstools: modifications to the https://github.com/MTG/sms-tools
    • utilsLyrics: any utility scripts
  • test: test scripts (scould be used in CI)
  • thrash: code that has to be reviewed and deleted, left for the sake of completeness

LICENSE

Copyright 2014-2017 Music Technology Group - Universitat Pompeu Fabra

AlignmentDuration is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation (FSF), either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

For more details see COPYING.txt

BUILD INSTRUCTIONS

NOTE: python3 is not supported and tested

git clone https://github.com/georgid/AlignmentDuration.git; sudo apt-get install python-dev python-setuptools python-numpy

pip install -r requirements; python setup.py install

cd ..; git clone https://github.com/yajiemiao/pdnn

install also Theano

git clone https://github.com/georgid/htkModelParser.git; cd htkModelParser; sudo pip install -r requirements; python setup.py install

git clone https://github.com/georgid/scikit-learn; sudo apt-get install python-scipy; python setup.py install

cd ..; git clone https://github.com/georgid/AlignmentEvaluation.git

Citation

Georgi Dzhambazov, Knowledge-based Probabilistic Modeling for Tracking Lyrics in Music Audio Signals, PhD thesis thesis materials companion page

USAGE on different music traditions

jingju (Beijing Opera) : Chinese

python AlignmentDuration/jingju/runWithParamsAll.py 2 0 /JingjuSingingAnnotation-master/lyrics2audio/results/3folds/ 3 0

to test: python AlignmentDuration/test/testLyricsAlign.py

with method testLyricsAlign_mandarin_pop

Turkish Makam music: Turkish

You need to provide the musicbrainz ID (MBID) of the recording. This requirement could be removed on demand...

call as a method from an aggregator API:

install https://github.com/MTG/pycompmusic; python pycompmusic/compmusic/extractors/makam/lyricsalign.py

or locally:

python https://github.com/georgid/AlignmentDuration/blob/noteOnsets/src/for_makam/lyricalign_local.py

to test: python AlignmentDuration/test/testLyricsAlign.py

with method testLyricsAlignMakam

English

Write to georgi.dzhambazov at upf dot edu or info at voicemagix dot com if you would like to use the English language model. It is not included here for licensing issues.

Evaluation

Use evalAccuracy script. 100 means perfect alignment. Usually values above 80% are acceptably well for human listeners.

The default evaluation level is set at word boundaries

BUILD INSTRUCTIONS ON server kora.s.upf.edu

git clone https://github.com/georgid/AlignmentDuration.git git checkout for_pycompmusic

cd /homedtic/georgid/test2/AlignmentDuration source /homedtic/georgid/env/bin/activate python setup.py install

to test: python /homedtic/georgid/test2/AlignmentDuration/test/testLyricsAlign.py

on server: git pull https://github.com/MTG/pycompmusic /srv/dunya/env/src/pycompmusic/compmusic/extractors/makam/lyricsalign.py with recording MB-ID: 727cff89-392f-4d15-926d-63b2697d7f3f

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