8 ms·
Aubio, a C library for analyzing songs
- WillHarl 5y agoThis is quite useful for sound engineers and those who want to have side projects that have to do with audios.
- rkagerer 5y agoAnyone here used it? How well does it work?
- kyrofa 5y agoI've used its python bindings. I've been quite pleased with how well it works, honestly. I wrote some software for a client with multiple radio stations. It's a service that listens to one web stream per station and shoots the client an email/text if it detects problematic audio (e.g. static, silence, etc.). Some of the stations are talk and others are music, so it needed to be robust. Aubio made it really easy to test different detection algorithms, and its documentation was tremendously helpful. IRC room was active as well when I had questions.
- deleted 5y ago[deleted]
- sam2426679 5y agoaubio is the one python library I found that provided a ready-to-use pitch model, which I used for a simple script to listen for my doorbell. This worked much better than the more common approaches I saw elsewhere on the internet that did simple frequency detection.
- glouwbug 5y agoIf anyone is interested, Sonic Visualizer with it's vamp plugins is pretty state of the art when it comes to analyzing music. The Chordino NNLS Chroma plugin, for instance, can extract even jazz chords fairly accurately
- gavinray 5y agoI've also heard this about Sonic Visualizer + vamp plugins Could anyone familiar with this area recommend more tools like the original post and these? Would really appreciate it.
- glouwbug 5y agoAll I can say is that I don't really look for sheet music anymore, or guitar tabs / chords. When I find interesting music on youtube I just use youtube-dl and Sonic Visualizer / NLS-chroma and jam along. It's upped my song writing abilities and general understanding and feel for music tremendously
- chris_st 5y agoInteresting! I just signed up for Chordify [0], which does extraction of chords from YouTube videos, and then plays them while you play along to either a grid of chords, or an animation showing the current chord and the next ones coming up. Has chord diagrams for Guitar, Ukulele, and Piano. Really nice, frequently accurate (it's not perfect :-). [0] https://chordify.net/ https://chordify.net/
- hummo56 5y agoFunny, I stumbled upon this just today when I was looking for good realtime beat detection code. Does anybody have experience, using some of this code for realtime detection?
- kyrofa 5y agoNot beat detection, but other real-time patterns. See my other reply here: https://news.ycombinator.com/item?id=28607374 https://news.ycombinator.com/item?id=28607374 .
- gavinray 5y agoYou might try "librosa" for tempo/beat detection: https://github.com/librosa/librosa/blob/main/librosa/beat.py https://github.com/librosa/librosa/blob/main/librosa/beat.py Track beats using time series input >>> y, sr = librosa.load(librosa.ex('choice'), duration=10) >>> tempo, beats = librosa.beat.beat_track(y=y, sr=sr) >>> tempo 135.99917763157896 Also see Essentia: https://essentia.upf.edu/ https://essentia.upf.edu/
- sydthrowaway 5y agoOT: Does anyone know the state of the art is music visualization?
- jihadjihad 5y ago> MFCC (mel-frequency cepstrum coefficients) For anyone else who had never heard of "cepstrum" before, this is what I found on Wikipedia: "The cepstrum is the result of computing the inverse Fourier transform of the logarithm of the estimated signal spectrum. The method is a tool for investigating periodic structures in frequency spectra. The power cepstrum has applications in the analysis of human speech. The term cepstrum was derived by reversing the first four letters of spectrum. Operations on cepstra are labelled quefrency analysis (or quefrency alanysis), liftering, or cepstral analysis."
- a-dub 5y agowikipedia's sections on signal processing and data compression have jumped to near textbook quality in the past few years. the cepstrum is awesome, it comes from the source-filter model of human speech. by looking at the periodicities in the frequencies, it attempts to capture the resonance of the filter that models the vocal tract.
- spyremeown 5y ago>wikipedia's sections on signal processing and data compression have jumped to near textbook quality in the past few years. I pretty much used Wikipedia as my main resource when I was learing dsp at college. I get like 80% of my EE information from Wikipedia nowaydays, for a ton of different areas. A couple days ago I was reading Meindl's paper on boron implantation in MOSFETs and I don't recall exactly what it was, but it was such an obscure topic in the paper my colleages had quite the trouble and ultimately did not find more resources on it. There was literally a whole Wikipedia section dedicated to the concept and it saved my goddamn ass in the presentation I had the next day. I absolutely love Wikipedia and I owe a lot of my education to the contributors.
- duped 5y agoCepstral analysis has a pretty good statistical basis (no pun intended) away from the source/filter model. There's a bit of magic in the MFCC computation where you apply the discrete cosine transform (DCT). That's all about reducing correlation between components in the cepstrum and makes no sense unless you "get" the way the change of basis has high energy compaction (more information in fewer values). However this has nothing to do with a physiological understanding of human speech.
- ChickeNES 5y agoYet another library that uses GPL 3 and not LGPL 3. Why?
- zebproj 5y agoFrom the website: > Note: aubio is not MIT or BSD licensed. Contact the author if you need it in your commercial product.
- dTal 5y agoNo doubt because the author doesn't want it to be used in proprietary software that doesn't respect the user's freedoms. At least, not without taking a cut.
- cogburnd02 5y agoThe LGPL was never meant for all libraries, only certain specific ones (which the FSF thought were better to more permissively license because of practical reasons.) That's one reason they renamed it from "Library GPL" to "Lesser GPL"
- mvanga 5y agoThese are a nice set of tools. I used this long ago for extracting onset times from audio files: https://sighack.com/post/extract-onset-beat-times-from-audio-files https://sighack.com/post/extract-onset-beat-times-from-audio...