Musicbrainz fingerprinting - audio

I've been busy with understanding the MusicBrainz database in the past few hours and as I noticed there's no command line application to tag or fingerprint audio files. Are there any CLI implementations on Musicbrainz's fingerprinting? And how can I create those fingerprints?
I found some development tools on their website (python-musicbrainz2, libdiscid and the XML webs service) but I couldn't find a simple tool or app which creates those fingerprints (the developments tools only seem to be useful for retrieving track/artist information using a fingerprint). Am I understanding something wrong?
Kind regards

PUIDs are now considered "dead" at MusicBrainz [1].
They are still attached to files, but finding and creating PUIDs for files can't be expected to work anymore.
There is a new fingerprint mechanism called AcoustID.
There is open-source software available for creating and finding these IDs.
AcoustID is not a direct MusicBrainz project, but is created by a MusicBrainz dev and the IDs are mainly being attached to MusicBrainz Recordings and listed on the MusicBrainz website.
EDIT:
Both fpcalc and chromaprint are all part of the AcoustID tools.

A third party CLI exists: albumidentify.
Also to complete Debilski's reply, you only need a license if you're using the LiveDataFeed that allow you to update your database each hour or if you're using the WebService in a commercial product.

The fingerprinting is done with the external libofa library. (Also see MusicDNS.) So, in fact it is not ‘Musicbrainz’s fingerprinting’ but Amplifind’s.
I don’t know if any command line tool currently exists but the code being shown in the documentation does not look very complicated to me (but you will need a license to get access to the database); so if needed, you might be able to write your own.
Also, you could have a look at the musicdns directory from the Musicbrainz Picard sourcecode; they are using the Python interface there.
I think it not easy for Musicbrainz to give a CLI implementation since the MusicIP is not always reliable and there are cases when user input is needed; which is why they might be concentrating on their GUI Picard.

I'm not sure, if you are still interested. Actually, the fingerprinting part is done with a commandline tool called fpcalc.exe. This tool calculates a fingerprint and the duration for the audio part of the given file.
You can download the fpcalc source code and binaries for windows, linux and Mac OSX from the AcoustID Website: http://acoustid.org/chromaprint

Related

PProPanel JSX - Basic guide to get started?

I know you can extend Adobe Premiere Pro with some simple JavaScript. The problem with that link (which I got to through the official Adobe website), is that all of sample code links are outdated (they point to the wrong location of the file, to lines that aren't correct anymore).
The second paragraph instructs you to install a bunch of things, none of which seem like things you "install", and they mention ExtendScript, which I don't understand whether is already installed with my Premiere or not (it's not available on Creative Cloud, and also the links I found on Adobe's website for it are, again, dead). I keep searching online and finding dead links to tutorials that no longer exist. Really, dead links everywhere.
I'm an experienced developer with good JS background, I just want know what I need, some simple examples of basic usage to get me started and maybe working links to some cheat-sheet I can use when I'm looking for available functions.
Extendscript is the name of the old API for automating Premiere and other Adobe apps. It's built-in and can basically do anything that you can do with the GUI, and it's javascript-based.
There is an IDE for Extendscript, the Extendscript Toolkit (ESTK) which has a debugger and allows you to inspect data etc. It's perplexingly hard to find on the Adobe website; I found it by a duckduckgo search here, I installed it through the creative cloud desktop manager, though I'm not sure how you do that with the current version.
As far as documentation goes, you're right, it's dead link city. There is a Javascript Tools Guide included with the Extendscript Toolkit, on windows it's in C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\SDK\. That covers creating UI elements, but doesn't explain Premiere's object model. AFAIK there is no official documentation for this, you have to use the ESTK data browser to look for yourself.
The CEP extensions are a new development and allow for easier integration with the host. I think you already have all the documentation there is for it. I'd advise that you pester Adobe to make it easier for developers like yourself to create tools for their users.
Here is for anyone else who gets here from a Google search: You can also go to this link to download the ESTK: https://helpx.adobe.com/download-install/kb/creative-cloud-apps-download.html

Can I use Yandex Maps in a Nokiax app?

I need to use Yandex Maps in an app instead of Here Maps. Could this be possible? Any hints or tricks to help me?
Thanks
Basically the rules of using APIs is very simple. If the API is not requiring any parts that are not available in the platform, then it works.
Thus if the API is using parts that are supported in AOSP 4.1.2 API level 16, and using any Google services, then it is likely to work just fine.
And you can always check the compatibility with free online tools very easily. First go to Online Analyser drag and drop the APK there, and let the tool check the compatibility issues.
Then you can also use a real device for testing, just visit Remote Device Access, and reserve a device for testing your app.
Both steps should onlky take you couple of minutes to complete.
For Yandex maps, you would need to visit their developer site to see how the maps API can be used, and what restrictions they would pose on utilizing the API.

javax.microedition package documentation

I have to design a mobile application as my mini project. I cannot find the documentation of javax.microedition in my java folder. I tried searching it online, but all the websites have vague information. I need proper details of this package. Where can I find it?
tried searching it online, but all the websites have vague information
Did you try different search engines? I always switch to alternative engine when I feel that one I usually prefer doesn't do the trick.
Don't know if your case but to me results of search for "javax.microedition package" were totally different depending on engine. While one engine ("good") gave me a needed link at the top of the very first page, another had it buried at 7th page ("bad", really bad).
Anyway, there's pretty detailed and accurate answer at SDN Mobility Reference FAQ - J2ME Package Listing:
Question
What package names are defined in the J2ME environment?
Answer
The J2ME environment introduces a number of Java packages. These are almost exclusively placed into the package javax.microedition. The few exceptions are technologies that could be used in one or more other editions of the Java platform as well. For example, because you might use Bluetooth technology in either J2ME or J2SE, the Java APIs for Bluetooth specification (JSR 82) uses the package names javax.bluetooth and javax.obex.
The table shows the package names specified by the J2ME JSRs, as defined by the Java Community Process (JCP). It includes...
...continue reading at above link if you're interested in more details

How to access Wikipedia using Node.js

I am looking into the simplest way to integrate Wikipedia into a node.js app.
The requirements are to be able to search for entries and find entities in each entry.
Any known existing libs/methods for that?
Thanks
There's a newly available open source parser for wiki text (http://sweble.org/) that might be useful to you if you roll your own solution. Of course that would require you downloading the wikipedia data dump, parsing, and storing entities in a db.
You could also look at dbpedia (http://dbpedia.org/About), though that would require integrating the rdf stack into your app (either running a local rdf repository or communicating with the often flaky online version via sparql).
One easy approach is to use a search engine api and restrict to site:wikipedia.org - e.g:
http://www.google.com/search?q=node.js+site%3Awikipedia.org
I've found that can work really well.
Spider for scraping using jquery is fantastic:
https://github.com/mikeal/spider
Mikeal is the man
Presumably you'd be using this for a side (personal) project though. Not sure how kosher it is to run wild on wikipedia with a scraper.

How to extract data from Google Calendar and show in plain text

I would like to extract the data and event name from a google calendar then show it as plain text. When ever the calendar is updated I would like the text to reflect this. It will be a part of a web site that I am working on.
What would be a good way to go about this?
The GData apis are what you're looking for. There are APIs for .NET, PHP, and Java at least (having used all, they are all fine)[1]. I have used the Zend Framework's implementation [2] to great success making a timeclock application totaling the hours the members in our organization recorded on their Google calendars, and the .NET framework is just as good. For a website, this is the way to go.
There is also a nifty command line tool, though I have not has as much success with it (Both *nix and Windows command line, though of course you'll have much more processing power in *nix ;))
[1] http://code.google.com/apis/gdata/docs/client-libraries.html
[2] http://framework.zend.com/manual/en/zend.gdata.html
[3] http://code.google.com/p/googlecl/
[Edit]
The project I mentioned for building a timeclock is available at http://code.google.com/p/gcaltimeclock/
The files you are probably most interested in are http://code.google.com/p/gcaltimeclock/source/browse/application/controllers/calendars.php and http://code.google.com/p/gcaltimeclock/source/browse/application/views/calendars/timesheets.php

Resources