Hacker News new | past | comments | ask | show | jobs | submit login
Concertmaster – Classical music front-end for Spotify (getconcertmaster.com)
90 points by msvan on Dec 13, 2017 | hide | past | favorite | 54 comments



Hi, Concertmaster developer here.

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


Tried this with the Linux version, no luck. (I'm using Arch Linux but unpacking the .deb reveals an executable that appears to run, it just gets stuck on Loading as you describe.)

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.


I fixed the loading screen bug like this:

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


Ooh! That works for me (so far). Thank you. This is a very nice UI, I'll have to explore it more. I especially like the play timeline for the whole piece with movements as subdivisions.

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.


Fun to see other people looking into my code. Great job :)

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


Don't worry about code quality, it's perfectly readable. Although I only have very limited javascript knowledge, I would love to contribute if you make this open source. It's really a great project!

After a few seconds, it still freezes for me, so that's one thing I could try to fix :)


I use Concertmaster all the time on my Mac, with no problems at all. Which OS are you running?


I'm running Arch Linux with spotify version 1.0.67.582.g19436fa3. It gets stuck at this screen as soon as I start playing something:

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.


Hi! Nice to hear from you.

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 :)


Check out MusicBrainz for metadata. E.g., https://musicbrainz.org/artist/1be1367d-119f-4b08-bdfe-50b95... (Nielsen's artist page) or e.g., https://musicbrainz.org/release/d757ff3a-5502-4e86-952e-dc1e... (an album page) — note all the classical metadata.

Further — the data is licensed freely, and there is an API to get at it all; no scraping needed.


Thanks! If I can recall correctly, MBz API doesn’t inform UPC numbers - something essential to the Spotify integration. But it seems nice and I’ll study it further.


Hi! MusicBrainz team member here. We do have UPC numbers (well, barcodes), although if it was me doing this I would depend on those as a second source, and first check if there's an actual Spotify album ID (which we already store, but we don't have that many of right now). In fact, this seems like the kind of app that might make people actually go and add more Spotify album IDs in MusicBrainz just to get more/better content in Concertmaster.


Concertmaster seems to be simpler and more focused, in terms of metadata, than anything I might have made would have been. Which is a good thing -- having used it a bit now (by applying the fix provided elsewhere in this thread) I have to say I'm delighted with it. The UI-first design, in which the complexities of the metadata are very well hidden, is a joy.


Thanks so much!

I'm very sorry for the bug, it'll be fixed shortly.


As for Nielsen recordings, you presumably have the (Excellent!!!) set of all six symphonies released on BIS a couple of years ago? (Sakari Oramo/Stockholm Symphonic Orchestra)

Thanks for the reminder, as a matter of fact I think I'll put on his 3rd for lunch.


Great recordings indeed! I'm specially fond of the classic Blomstedt renditions in San Francisco. Schoenwandt and Alan Gilbert are also very good. I had the pleasure to attend the Gilbert/NYPO rehearsals of 5th and 6th symphonies for these recordings - amazing experience!


Looks neat, but I have the bug. As a "workaround" (as someone mentioned later in the thread), if I click on the tray icon I can open the app, and then close the splash screen manually. However, I can't get it to play anything, and when I go to the Options screen, the Spotify Status is always "Spotify is not running or unresponsive".


Which Spotify version do you have? They keep changing things and these changes often break Concertmaster. I'll release a new version tonight and it will, hopefully, fix most bugs. So far, it's running flawlessly on my own computer.


The new version of Concertmaster fixed it for me...the splash screen goes away, the main window comes up, it detects Spotify, and actually plays music.

So far, it's amazing...great job!


Spotify version 1.0.69.336.g7edcc575, installed this morning when I read about Concertmaster.


Please do. Closing the app didn't work, killing all its processes it didn't work (Win10).


Ubuntu 17.04. the process is hanging even when quitting from the UI, and killing the process through CLI just bring back to the initial state. I would love to try it and I even reinstalled spotify for it.


Cool app idea! I listen to a lot less classical music than I would like exactly due to the problem you are trying to solve.

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
  λ ~/



Thanks for making this, it's wonderful and will make a _huge_ difference to my listening on Spotify. For example, I've got a thing about Ravel's Piano Concerto in G and I've found a whole load of new recordings I knew nothing about. A few comments and suggestions:

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.


Amazing feedback, thank you so much :)

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.


Just jumping on here to give my own feedback.

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


Thanks so much for the feedback :)

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.


The new release is working on my Mac whereas yesterday's didn't. Thank you!

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.


Thanks for the suggestion!

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've tried to install this on Arch Linux with the latest version, but I get stuck at the loading screen as others have reported. I would have sent you an email, but I was not able to find your email address. I would be happy to help figure out why it does not work.

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.


Hi. Which version have you installed? 1.17.1214?

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


Yes, 1.17.1214. I'm using dunst [0] for notifications. Perhaps dunst is too minimalistic to support the necessary features?

I'll send you an email to follow up on this issue.

[0]: https://github.com/dunst-project/dunst


I was able to install on Ubuntu with Software Center after downloading the deb. The UI is a big improvement for classical music.


Thank you! I can confirm that this works for me on Arch Linux after unpacking the .deb and running the executable from there. (This is with Spotify v1.0.67.582-1 from AUR - but I never saw the other freezing problem that mafrasi2 mentioned, so I can't comment on that)


Thank you for the fix and this awesome program in general!

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.


This is great! I wished something like this existed for Indian classical music, since in it also a composition can be performed by multiple artists differently and multiple performances can be created with with different permutations of the rhythm and melody. This player, as is, doesn't account for compositional units of Indian classical music (obviously because it's designed for Western Classical music).

Language is also something that is missed in mainstream music players.


Yes! Where can I find a good source of Indian Classical Music on the web? Do any of these streaming sources have good (and by that I mean deep) catalogues of ICM?


Everyone struggling with the "Loading..." launch screen on Mac:

Try clicking the Concertmaster icon in the menu bar, and click "Open Concertmaster". That solved it for me


I’ll release a fixed version of Concertmaster tonight. Sorry for that and thanks for your patience, folks!


This would be a serious game changer for me if it actually does what it promises. It has been so frustrating as a user that I'd been tempted to join a product team on one of the streaming service providers just to fix this.


It looks fantastic from the website! On my mac though, it’s stuck at “Loading…” on the launch screen.

It’s also a pity it’s not open source, it would be great to be able to contribute composers.


Same here. I've got the latest Spotify version, but it still can't get past loading.


Same. :( I've reached out to the facebook page. I don't know if the project is still active or not.


same here ;(


If you're stuck at "Loading..." on your Mac, click on the Concertmaster icon in the nav bar, and select "Open Concertmaster"


Same for Windows 10 PC. Disappointing...


Another app that is very nicely done and has excellent classical music support is Roon: https://roonlabs.com/

I'd be interested to see if there is any feature difference between the two in case anyone has used / does use both.


Can get into the app ok but tracks will not play. Linux Mint 18.2. Looks great though, will keep an eye on it.


Very nice, and will be much nicer when the bugs are worked out. It looks like the catalog Concertmaster is using is rather limited, though. For example, for Thomas Adès only 5 pieces are listed, though Spotify has many more.


This is great, I have been waiting for an app like this! Though I've experienced the install hang-up on Win 10 Fall edition. I'll keep an eye on the update build.


Wow, this is something I was just complaining about today, how I had to turn off shuffle because it would mess up the movement order.


great idea, I was just thinking today that the Spotify interface is deficient for classical music. Will try it out asap. Thanks!


Works fine on ubuntu 14.04. Radio is a nice touch. Missing composer is Charles-Valentin Alkan.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: