Comments (19)
+1, exactly what i'm looking for right now. i thought i might write one, but right now i can't figure out how to even build the lib on ubuntu :(
from libkeyfinder.
I've just tested the following procedure and it built the library under Linux Mint 17:
- download and install Qt Online Installer for Linux : http://www.qt.io/download-open-source/
- from Software Manager install : libboost-system1.55dev, libboost-thread1.55dev, libfftw3-dev
- open Qt project, run Qmake and build project
Now for the CLI application itself you can probably find some inspiration from the Windows version I've made out of the library :
Functions I needed to 'export' from the library:
https://github.com/aybe/libKeyFinder/blob/master/c_api.cpp
Skeleton of how to call the library:
https://github.com/aybe/LibKeyFinderDotNet.BASS/blob/master/LibKeyFinderDotNet.BASS/KeyFinderBass.cs
Basically, my fork of the library changes nothing to the original lib., it only adds c_api. and c_api.h.
Note that I use BASS library for reading PCM from any file type, it is also available for Linux : http://www.un4seen.com/
Unfortunately I can't help you out regarding Linux development since I lack programming knowledge under this platform. A rough guess though would be to create a new QT console application and reference the original project, then re-implement the skeleton above.
Note: you will find all relevant info. + code about my version at https://github.com/aybe/libKeyFinder
Good luck :D
from libkeyfinder.
Hi again 💃
I've just wrote a quick and dirty CLI app for Linux, it's not as mature as my C# project but it does its job.
Obviously you'll need to setup the environment as I said on previous post first plus:
- create a folder
- checkout original library in it
- checkout the CLI app in it
- unzip the BASS SDK in it
- load the PRO file in Qt
Feel free to improve it and contribute back !
Get it here: https://github.com/aybe/libKeyFinderCli
from libkeyfinder.
great, thanks :)
from libkeyfinder.
Superb Job! I will try it out today!
from libkeyfinder.
Sorry I mistakenly inserted a syntax error :
https://github.com/aybe/libKeyFinderCli/blob/master/main.cpp#L57
Replace QStrProcessinging
by QString
:D
from libkeyfinder.
Hi,
Here is a built version of the CLI app. :
- it's a 64-bit executable
- libbass.so should go to /usr/local/lib (well not sure it's the usual place but for me it works)
- call
keyfinder -s "song.wav"
- currently it supports WAV / MP3, looking to support FLAC later
Let me know if it works on your side !
from libkeyfinder.
Wow you're fast :)
It works great with .WAV files but MP3s are not beeing processed (at least for me). Do you know how to make it analyse mp3s, too? I checked the libbass.so version you provided and it seems to be supporting mp3. strange... hmmm
from libkeyfinder.
i'm baffled - i didn't even find time to give it a try, and you're already finished. will try the executable right now :)
from libkeyfinder.
@ritschwumm do mp3s work for you?
from libkeyfinder.
wav works like a charm (which is everything i need right now), but mp3 does not.
no console output, and the return code is 0.
from libkeyfinder.
I'll take a look tonight, not sure why since 0 means that it worked.
Regarding the quality of mp3 analysis I would be careful since with other APIs such as SonicApi the results are biased regardless the mp3 bitrate. I was dubious when told that but it went to be the truth, in case ask the author.
from libkeyfinder.
Hi !
New version : http://1drv.ms/1DHSJeu
- MP3 fixed
- FLAC support
Currently libbassflac.so
(in zip) must be located next to the application unless I harness the lib mechanism in Linux.
And this is the release build, it is much faster !
Let me know how it works for you 💃
from libkeyfinder.
Nice! Just tested it and it works superb :) great work man! Exactly what I needed!!
from libkeyfinder.
@aybe Is your CLI tool still available anywhere? Would love to check it out!
from libkeyfinder.
Sorry, I've removed the repos ...
from libkeyfinder.
I'm almost entirely finished with a JUCE-based app that wraps this lib (amongst some other things), so I can strip it and dump a cross-platform JUCE CLI tool specifically for keyfinder sometime this weekend if there's actual interest. It'll be a bit bloated size-wise since I don't really want to tediously strip a bunch of boilerplate code out of what I have now, but it won't effect running speed.
from libkeyfinder.
That sounds like it would be quite useful Dylan! thank you
On Jun 2, 2016, at 5:44 PM, Dylan Bailey [email protected] wrote:
I'm almost entirely finished with a JUCE-based app that wraps this lib (amongst some other things), so I can strip it and dump a cross-platform JUCE CLI tool specifically for keyfinder sometime this weekend if there's actual interest. It'll be a bit bloated size-wise since I don't really want to tediously strip a bunch of boilerplate code out of what I have now, but it won't effect running speed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub #2 (comment), or mute the thread https://github.com/notifications/unsubscribe/ABzC2SEu2OoBOJr0IM5CCl18OnzM3gJIks5qH3kGgaJpZM4BFY33.
from libkeyfinder.
All done: https://github.com/SonicZentropy/ZenTermKeyFind
Works the same way the old one apparently did. I put an already-built Windows binary under releases. You can build for OSX/Linux if needed, instructions in my Readme. The libKeyFinder code may not be current...I pulled it straight out of my app, which means it's the version that was current as of whenever I submitted my most recent bugfix pull req here!
It's super quick and dirty, but should work fine. Let me know if you have problems and I'll fix em!
from libkeyfinder.
Related Issues (16)
- Run tests for every commit/pull request with Travis CI HOT 2
- TMI in the build output HOT 1
- Is libKeyFinder Release 2.1 OK to use? HOT 1
- 2.1 vs 0.11: Advantages HOT 1
- iterator boundary issue in AudioData::downsample HOT 2
- Release 2.2? HOT 1
- Failed tests on Alpine/Centos HOT 7
- Tag v2.2.1
- Built DLL is way slower than 'is_KeyFinder' application HOT 1
- v2.2.1: fftadapter.cpp:43:5: error: `memset` was not declared in this scope HOT 3
- LGPL license change HOT 2
- 2.2.2 release HOT 2
- Fork with C-style exports for use in other languages HOT 1
- libKeyFinder for .NET, NuGet and command-line HOT 3
- What are the new '...profile' parameters for, in `KeyFinder::keyOfChromaVector` ? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libkeyfinder.