Concertmaster – Classical music front-end for Spotify
getconcertmaster.com
getconcertmaster.com
Thanks for trying the app. Very surprised by the repercussion!
Well, the current version of Concertmaster has a known bug which freezes the app in its first run. (This issue will be solved in a major update January, but I’m seriously thinking of releasing a fix today or tomorrow.)
Please try closing the app and running it again. It may work
I really look forward to trying this out when that's fixed, or if you can suggest a workaround. It's a subject I'm very interested in both as a listener and a developer. I spent a while thinking about this problem a few years ago, in the hope of making a music player that could tell you things like "what other recordings of this work are there?", "what else can I listen to that is arranged for cello, violin, and piano?", "suggest one recording of each of Carl Nielsen's symphonies", etc. Or even apparently very simple things like "play the symphony from this album, but stop when you reach the end of the work, don't play the overture they stuck on the end to fill up the CD". At the time I was still imagining something based on a mixture of local CD rips, things available on download services (which could be suggested but not necessarily played), etc.
Anyway, I didn't really do anything -- I got only as far as throwing together this messy RDF dataset http://dbtune.org/classical/ -- and I haven't returned seriously to the problem since. It's remained on my mind though, not least because I would still love to be able to use such a thing, and I'll be very interested to see how you're approaching it.
Classical music has a very complex taxonomy and the so-called “metadata problem” hasn’t been solved by any streaming provider so far. There are some guys in Berlin that are creating a completely new streamer called Idagio, and it seems promising. But they are struggling to sign deals with labels, the process of adding recordings to their database is understandably slow, and subscribing a new streamer implies an additional cost to listeners.
I tried to solve the “metadata problem” using existing infrastructure: Spotify and All Music Guide. (Scraping AMG website sits in a legal gray area, I know.)
DBTune looks very nice; I recall a similar app in early 2000s called ClassiCat. Anyway, if you have the UPC of an album, it’s fairly easy to play it in Spotify.
Cheers!
PS: I’m a Nielsen fan too :)
I'm very sorry for the bug, it'll be fixed shortly.
Further — the data is licensed freely, and there is an API to get at it all; no scraping needed.
Thanks for the reminder, as a matter of fact I think I'll put on his 3rd for lunch.
sudo pacman -S asar
cd Concertmaster/resources
asar e app.asar app
rm app.asar
printf "1018a1019\n> var listul = '';\n" | patch app/js/lib.js
I was able to start playing something, but then it freezes. Currently looking into that...Only complaints so far: the horizontal scrollbar is a bit thin and hard to grab; and, er, when I click the yellow button at top right (of the three Mac-style blobs) the window disappears entirely without leaving any way I can find (under Gnome) to get it back again.
Terrific work though.
Concertmaster is built over Electron and, as such, it is 100% JavaScript. In fact, it's not a more convenient website only because of Spotify's limitations.
It would be possible to make Concertmaster open source, but it's far from professional - it's more like a hobby I'm keeping for 3, 4 years.
(Concertmaster is more than the client. It has several server-side functions as well.)
After a few seconds, it still freezes for me, so that's one thing I could try to fix :)
https://i.imgur.com/WJZKiUA.png
After that, the GUI elements just don't respond at all. There is no CPU usage, so it's probably not an infinite loop.
I enabled logging, but don't see anything significant.
I have the loading screen problem running the linux version aswell. Running the app with logging enabled gives the following output. Hopefully this helps you with debugging.
λ ~/ export ELECTRON_ENABLE_LOGGING=1 && /opt/Concertmaster/concertmaster --remote-debugging-port=8315
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: /opt/Concertmaster/resources/app.asar/js/jquery.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: /opt/Concertmaster/resources/app.asar/js/jquery.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected string", source: file:///opt/Concertmaster/resources/app.asar/js/jquery.mousewheel.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token =", source: file:///opt/Concertmaster/resources/app.asar/js/jquery.leanModal.min.js (1)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Invalid or unexpected token", source: file:///opt/Concertmaster/resources/app.asar/js/html.sortable.0.1.3.js (1)
[20025:1213/104849:INFO:CONSOLE(2)] "Uncaught SyntaxError: Unexpected token }", source: file:///opt/Concertmaster/resources/app.asar/js/toggles.min.js (2)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Illegal return statement", source: file:///opt/Concertmaster/resources/app.asar/js/select2/js/select2.js (1)
[20025:1213/104849:INFO:CONSOLE(96)] "Uncaught SyntaxError: Error parsing /opt/Concertmaster/resources/app.asar/node_modules/@exponent/electron-cookies/package.json: Unexpected token e in JSON at position 2", source: module.js (96)
[20025:1213/104849:INFO:CONSOLE(1)] "Uncaught SyntaxError: Unexpected token )", source: file:///opt/Concertmaster/resources/app.asar/js/lib.js (1)
[20025:1213/104849:INFO:CONSOLE(41)] "Uncaught ReferenceError: request is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (41)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/PetitaMedium.ttf", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/Sanchezregular.otf", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/loader.html (0)
[20025:1213/104849:INFO:CONSOLE(153)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (153)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/PetitaMedium.ttf", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "Failed to decode downloaded font: file:///opt/Concertmaster/resources/app.asar/css/Sanchezregular.otf", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(0)] "OTS parsing error: invalid version tag", source: file:///opt/Concertmaster/resources/app.asar/index.html (0)
[20025:1213/104849:INFO:CONSOLE(284)] "Uncaught ReferenceError: spotinit is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (284)
[20025:1213/104849:INFO:CONSOLE(347)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (347)
[20025:1213/104849:INFO:CONSOLE(360)] "Uncaught ReferenceError: $ is not defined", source: file:///opt/Concertmaster/resources/app.asar/index.html (360)
System info: λ ~/ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
λ ~/ uname -a
Linux thom-laptop 4.4.0-101-generic #124-Ubuntu SMP Fri Nov 10 18:29:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
λ ~/So far, it's amazing...great job!
Win: http://getconcertmaster.com/latest/?os=win Mac: http://getconcertmaster.com/latest/?os=mac Linux: http://getconcertmaster.com/latest/?os=linux
Pieces are sorted strictly alphabetically, which means that lists of "String Quartet number X" are sorted like:
String Quartet no. 1 String Quartet no. 10 String Quartet no. 12 String Quartet no. 13 String Quartet no. 2
Not sure how complicated that is to change, but it would make browsing a little easier if they were listed numerically.
I find the horizontal listing of composers a bit unintuitive, and would prefer a vertical list (probably to do with ubiquity of vertical scrolling in apps and browsers), perhaps between favourites and list of works. Really like the fact that it includes images and isn't just a dry list of names though.
Seems like there are a number of not-so-esoteric composers missing, such as John Luther Adams (a different person from John Adams), Gavin Bryars, Jacques Duphly and Gérard Grisey, despite the presence of composers that I'd never heard of like Orlande de Lassus. I guess this is a limitation of the data sources, but would love to see some more of those included too.
Searching for "Jana" doesn't return Janáček - presumably because of the accents. Would be great to ignore accents for easy typing on British English / American English keyboards.
The small application icon on Mac - for example the installer disk image icon, and the icon in Mac notifications, is a frazzled multicoloured square rather than a proper icon.
Sometimes a message comes up saying "This isn't available on Spotify - bummer!" but doesn't explain why. I didn't think to check when it happened, but I guess it might be that it's not available in my territory (the UK), and I have Spotify set to show tracks that aren't available. If there was a way to have a bit more explanation in that error message somehow that would be helpful - for example, if it's to do with my setting to show tracks that aren't available, a sentence to say that toggling that setting would make that not happen.
A tiny, tiny thing - clicking Apple + A when in the search box doesn't select all text although double-clicking does.
I’ll carefully analyze your suggestions for our next releases.
The Spotify message is not related to territorial restrictions. Putting it shortly, Concertmaster database wasn’t pre-checked; it checks the availability of each recording in real-time, after user’s request. That's why Concertmaster keeps showing recordings that don’t exist at all on Spotify.
This is brilliantly implemented so hats off for that. It's something I always had on my backlog of personal projects but never got round to doing, but you've managed it far better than I could ever have hoped to.
One thing that would noticeably improve the experience for me: Being able to sort a given series of works by opus/[equivalent catalogue number] or date. It seems at the moment the only sorting method is alphabetical, which is often not particularly helpful (for example, as someone else noted, when 10 appears before 1).
I'm studying the sorting thing. Opus/catalogue number: not so easy because the data comes from sources that treat this information as strings. But I can think of a text parser, for example. Year of composition: doable.
I was intrigued by the metadata handling for works; would it be possible to support searching via that data? For instance, I'd be interested in seeing works conducted by Bernstein, or performances by a specific orchestra.
I think this is the most common request. Now, Concertmaster is heavily composer/work-oriented. But I see your point and sometimes I find myself willing some sort of musician search.
Maybe we would switch to a more flexible UX in the future.
I found the issue that caused concertmaster to freeze for me: I wasn't running a notification server. It's working perfectly now that I've installed xfce4-notifyd.
I have written a simple PKGBUILD file for installing this on Arch, and I am happy to share that (or upload it to Arch AUR) when I get it to work.
I’ve tried 1.17.1214 on Ubuntu and it worked flawlessly.
A colleague here said that Concertmaster was freezing on his Linux machine because it was lacking a notification server. I wonder if it’s not the same issue you are experiencing.
About Arch: thanks so much for the help! Please confirm the notification issue and I’ll sent you a plain zip version, non-DEB, of Concertmaster.
You (and everybody here) may contact me at:
concertmasterteam @ gmail.com
I'll send you an email to follow up on this issue.
Language is also something that is missed in mainstream music players.
Try clicking the Concertmaster icon in the menu bar, and click "Open Concertmaster". That solved it for me
It’s also a pity it’s not open source, it would be great to be able to contribute composers.
I'd be interested to see if there is any feature difference between the two in case anyone has used / does use both.