#musicbrainz

/

      • CallerNo6 wouldn't vote against yoasif's edit, but is curious about the underlying principles.
      • 2014-09-08 25108, 2014

      • yoasif
        :)
      • 2014-09-08 25143, 2014

      • yoasif
        CatQuest, i actually do happen to agree with the style guide in this case
      • 2014-09-08 25153, 2014

      • CatQuest
        I on the other side was a bit unaware of that guideline change, if the underlying tracks where infct real mashups and if this was a ganhe to the tracklsit or what
      • 2014-09-08 25154, 2014

      • yoasif
        like i said, i have disagreed with it in the past
      • 2014-09-08 25130, 2014

      • CatQuest
        I make change following sryleguidelines if I don't agree with them, if they make "sense" still
      • 2014-09-08 25140, 2014

      • CatQuest
        even if i don't agree*
      • 2014-09-08 25144, 2014

      • CatQuest
        i need ot eat and its late
      • 2014-09-08 25149, 2014

      • CatQuest
        hmn
      • 2014-09-08 25112, 2014

      • CatQuest
        i mean I remember styleguide disaster no 5
      • 2014-09-08 25115, 2014

      • CatQuest
        i hated that
      • 2014-09-08 25122, 2014

      • CatQuest
        but alas I had to follow it
      • 2014-09-08 25124, 2014

      • yoasif
        which was that?
      • 2014-09-08 25129, 2014

      • CatQuest
        oh that
      • 2014-09-08 25135, 2014

      • CatQuest
        uuuhh
      • 2014-09-08 25145, 2014

      • CatQuest
        pre-ngs an pre advanced relationships
      • 2014-09-08 25103, 2014

      • CatQuest
        it was in 2006 or something
      • 2014-09-08 25115, 2014

      • CatQuest
        awesome
      • 2014-09-08 25133, 2014

      • CatQuest
        oh it should have been Max_Gentleman
      • 2014-09-08 25141, 2014

      • yoasif
        what was the guideline?
      • 2014-09-08 25140, 2014

      • yoasif
        okay, go have your... dinner? good chat, CatQuest
      • 2014-09-08 25118, 2014

      • hawke1
        CallerNo6: I assume the principle is that the release in MB should reflect the release in real life…certain formatting and correction aside.
      • 2014-09-08 25144, 2014

      • yoasif
        kepstin-laptop, do you use opus on mobile?
      • 2014-09-08 25146, 2014

      • hawke1 joined the channel
      • 2014-09-08 25130, 2014

      • kepstin-laptop
        I use opus on my laptop and on my ipod, which runs the rockbox open-source firmware
      • 2014-09-08 25117, 2014

      • yoasif
        heh, havent used rockbox in ages
      • 2014-09-08 25149, 2014

      • hawke1 joined the channel
      • 2014-09-08 25129, 2014

      • kepstin-laptop
        they added 2048 as a game recently.
      • 2014-09-08 25133, 2014

      • kepstin-laptop
        the "iPod Classic" that I have isn't one of their officially supported platforms yet, but that's only because they don't have an automatic installer yet
      • 2014-09-08 25159, 2014

      • kepstin-laptop
        and nobody's figured out how to make it dualboot the original firmware either, it's a replacement only thing.
      • 2014-09-08 25106, 2014

      • yoasif
        i need a new battery for my ipod classic
      • 2014-09-08 25120, 2014

      • yoasif
        it's oold
      • 2014-09-08 25130, 2014

      • yoasif
        just using my smartphone for that stuff now
      • 2014-09-08 25141, 2014

      • kepstin-laptop
        heh. the replacement batteries are pretty readily available online
      • 2014-09-08 25154, 2014

      • kepstin-laptop hasn't yet seen a smartphone that can hold 160GB of music
      • 2014-09-08 25119, 2014

      • kepstin-laptop
        although I spend a lot of time in wifi range, and could use music streaming then
      • 2014-09-08 25125, 2014

      • yoasif
        hmm.... $43 for the drive
      • 2014-09-08 25149, 2014

      • kepstin-laptop
        some people have actually replaced the drive in these ipod classics with modern msata SSDs
      • 2014-09-08 25154, 2014

      • kepstin-laptop
        can get up to 512gb
      • 2014-09-08 25100, 2014

      • kepstin-laptop
        (at some battery life cost)
      • 2014-09-08 25101, 2014

      • warp
        wow, that's really nice
      • 2014-09-08 25128, 2014

      • yoasif
        why opus instead of stuff that gets better battery life?
      • 2014-09-08 25136, 2014

      • yoasif
        or does opus get good battery life now
      • 2014-09-08 25146, 2014

      • Freso
        Because Opus.
      • 2014-09-08 25110, 2014

      • kepstin-laptop
        opus lets me fit more music on the drive, mostly
      • 2014-09-08 25117, 2014

      • kepstin-laptop
        it's still more cpu hungry than other formats
      • 2014-09-08 25141, 2014

      • kepstin-laptop
        rockbox folks have been steadily optimizing it; a few mhz here and there
      • 2014-09-08 25102, 2014

      • CallerNo6
        hawke1: information always needs to be parsed, whether we realize we're doing it or not. and when we don't realize we're doing it, we're probably making assumptions.
      • 2014-09-08 25106, 2014

      • dave_
        So...I'm exploring relationships and I cannot find any documentation on the various types, or what 'direction' means, etc. Where is this documentation? :D
      • 2014-09-08 25113, 2014

      • kepstin-laptop
        I think my ipod can decode most of my music at an (average) 60-70mhz now
      • 2014-09-08 25134, 2014

      • kepstin-laptop
        with mp3 and vorbis, rockbox runs at the minimum processor speed of 54mhz constantly tho
      • 2014-09-08 25145, 2014

      • CallerNo6
      • 2014-09-08 25158, 2014

      • _Dave_
        "beta"? ;)
      • 2014-09-08 25115, 2014

      • CallerNo6
        oh, should be the same, beta or non-beta
      • 2014-09-08 25153, 2014

      • yoasif
        is opus better than aac now?
      • 2014-09-08 25109, 2014

      • _Dave_
        it is...I wonder why google did not find this page?
      • 2014-09-08 25133, 2014

      • CallerNo6
        _Dave_: direction only applies to some relationships. For example, if I'm your sibling, you're my sibling. direction is irrelevant.
      • 2014-09-08 25143, 2014

      • CallerNo6
        but if I'm your parent, you're probably not my parent.
      • 2014-09-08 25122, 2014

      • CallerNo6
        In the second case, direction matters.
      • 2014-09-08 25124, 2014

      • kepstin-laptop
        yoasif: the open-source opus encoder produces way better quality than any open-source aac encoder. for what that's worth.
      • 2014-09-08 25128, 2014

      • _Dave_
        I see
      • 2014-09-08 25106, 2014

      • Freso usually sets the elder sibling as the start of the relationship though, FWIW
      • 2014-09-08 25114, 2014

      • hawke1
        kepstin-laptop: not that that says much, since the open-source AAC encoders are kinda shit by my understanding
      • 2014-09-08 25118, 2014

      • _Dave_
        lol
      • 2014-09-08 25138, 2014

      • _Dave_
        encoding data like that is bound to be missed by some programmer ;)
      • 2014-09-08 25139, 2014

      • kepstin-laptop
        yoasif: in some lowish bitrate (64kbit?) comparisons between opus and a good aac encoder (nero?), I think opus came out a tiny bit ahead in most samples
      • 2014-09-08 25112, 2014

      • kepstin-laptop
        at more useful cd-transparent bitrates, i doubt you could tell them apart.
      • 2014-09-08 25122, 2014

      • kepstin-laptop
        but the fun thing is that opus can do this with only ~25ms of delay, which is good enough for a phone call. And if you push the bitrate up a bit, that can go below 10ms.
      • 2014-09-08 25122, 2014

      • yoasif
        yeah, i don't mind using free (non open source) encoders
      • 2014-09-08 25149, 2014

      • kepstin-laptop
        opus was originally designed for realtime stuff, the fact that it's also good for general music is just a bonus.
      • 2014-09-08 25101, 2014

      • yoasif
      • 2014-09-08 25120, 2014

      • kepstin-laptop
        ah, yeah, that's the one I was remembering. so it was apple's encoder, not nero.
      • 2014-09-08 25130, 2014

      • CallerNo6
        _Dave_: Okay, I'll rephrase. Each relationship has a direction, and can be "reversed". So e.g. [recording b]<is a remix of>[recording a] is one direction. The reverse, also true, is [recording a]<has remix>[recording b].
      • 2014-09-08 25136, 2014

      • kepstin-laptop
        oh, they had both
      • 2014-09-08 25127, 2014

      • _Dave_
        I guess there's not enough information on the relationship documentation page to enable me to parse this "relations" array from a JSON query ... no doc on 'type-id' for example
      • 2014-09-08 25154, 2014

      • _Dave_
        for reference, I'm trying to get at the work through the recording
      • 2014-09-08 25119, 2014

      • _Dave_
        I just realized you are probably handling medleys this way ;)
      • 2014-09-08 25119, 2014

      • kepstin-laptop
        hmm? that shouldn't be too bad to do
      • 2014-09-08 25155, 2014

      • kepstin-laptop
        the only issue with the webservice responses is that relationship attributes aren't represented well.
      • 2014-09-08 25104, 2014

      • _Dave_
        It isn't in the general case. It's the edge cases I'm concerned about (and as most of you are acutely aware, this is where most of the work goes)
      • 2014-09-08 25111, 2014

      • yoasif
        yeah, apple has beat nero for years now... was a pain to use it without quicktime installed (on a linux system ;))
      • 2014-09-08 25128, 2014

      • kepstin-laptop
        _Dave_: medleys are a bit special, since we're currently in the middle of switching from a separate medley relationship to an attribute on the standard recording-work relationship
      • 2014-09-08 25152, 2014

      • kepstin-laptop
        but for example, i'm parsing http://mbjs.kepstin.ca/?release=bef90838-a09d-485… out of the json webservice
      • 2014-09-08 25114, 2014

      • kepstin-laptop
        (that website is a json webservice frontend, but rather incomplete)
      • 2014-09-08 25117, 2014

      • _Dave_
        and it didn't give me json
      • 2014-09-08 25121, 2014

      • _Dave_
        or anything really
      • 2014-09-08 25139, 2014

      • _Dave_
        am I supposed to type stuff in the search box? :D
      • 2014-09-08 25150, 2014

      • kepstin-laptop
        hmm? if you have javascript enabled in a reasonably modern browser, that should show a web page for a japanese album
      • 2014-09-08 25104, 2014

      • _Dave_
        it doesnt, but I'm not allowing twitter code to run in my browser either
      • 2014-09-08 25121, 2014

      • kepstin-laptop
        bah, I might have a bug that makes it fail if the twitter doesn't load
      • 2014-09-08 25131, 2014

      • _Dave_
        I love noscript :)
      • 2014-09-08 25140, 2014

      • kepstin-laptop
        which would be strange, since I'm not even using twitter on that page
      • 2014-09-08 25155, 2014

      • _Dave_
        -why- do we need twitter code?
      • 2014-09-08 25106, 2014

      • CallerNo6
        You shouldn't need to use the relationship type-id for anything, should you?
      • 2014-09-08 25111, 2014

      • _Dave_
        I dont know
      • 2014-09-08 25120, 2014

      • yoasif
        kepstin-laptop, that is super fast
      • 2014-09-08 25123, 2014

      • _Dave_
        the type-id matches the id in the work array
      • 2014-09-08 25126, 2014

      • kepstin-laptop
        hmm? this is my personal page, nothing to do with musicbrainz. But I use twitter code to display twitter links on artists with such.
      • 2014-09-08 25158, 2014

      • _Dave_
        so there's a relations array, and I'm assuming that could have many hashes inside it
      • 2014-09-08 25101, 2014

      • kepstin-laptop
        yoasif: I'm running a clever caching proxy in front of the musicbrainz webservice to speed it up. But results can be up to 24h old.
      • 2014-09-08 25110, 2014

      • _Dave_
        each of these hashes has a 'type-id' (no clue what that means really)
      • 2014-09-08 25119, 2014

      • _Dave_
        and then there's what I want, a work key in the hash
      • 2014-09-08 25133, 2014

      • CallerNo6
        _Dave_: I mean for parsing the json (or xml), the type-id corresponds to the type, which is also given.
      • 2014-09-08 25137, 2014

      • kepstin-laptop
        the type ID corresponds to the UUID of the relationship type, which you can get from the relationships list page.
      • 2014-09-08 25100, 2014

      • kepstin-laptop
        you go through the relationships array looking for the one with the uuid of the rel type you're trying to find
      • 2014-09-08 25104, 2014

      • _Dave_
        so if I did a ?inc=work-rel I should only expect to see works in the relationship array?
      • 2014-09-08 25111, 2014

      • kepstin-laptop
        yep.
      • 2014-09-08 25120, 2014

      • _Dave_
        ok so...what if there is more than one?
      • 2014-09-08 25106, 2014

      • kepstin-laptop
        then the recording might be linked to more than one work
      • 2014-09-08 25111, 2014

      • kepstin-laptop
        for example, if it's a medley
      • 2014-09-08 25158, 2014

      • derwin
        wat
      • 2014-09-08 25123, 2014

      • kepstin-laptop
        _Dave_: http://musicbrainz.org/ws/2/recording/b3d51fe2-60… is an example of a medley, all of the link works are songs included in the medley
      • 2014-09-08 25125, 2014

      • _Dave_
        is it lame because there is a depedency? :D
      • 2014-09-08 25156, 2014

      • SporkWitch joined the channel
      • 2014-09-08 25110, 2014

      • _Dave_
        I can't read japanese LOL
      • 2014-09-08 25117, 2014

      • _Dave_
        but I see what you are saying
      • 2014-09-08 25151, 2014

      • kepstin-laptop
        notice the UUID in the type-id field, that corresponds to https://musicbrainz.org/relationship/a3005666-a87…
      • 2014-09-08 25106, 2014

      • kepstin-laptop
        which tells you what the relationship means
      • 2014-09-08 25137, 2014

      • _Dave_
        but..it's the same as the work id in my case
      • 2014-09-08 25152, 2014

      • _Dave_
        does this mean "it's a related work"?
      • 2014-09-08 25158, 2014

      • kepstin-laptop
        that shouldn't happen - you have an example query?
      • 2014-09-08 25116, 2014

      • kepstin-laptop
        the "type-id" is the UUID of the relationship type, it has nothing to do with any entities in musicbrainz
      • 2014-09-08 25137, 2014

      • kepstin-laptop
        the entity id will always be in e.g. relationship['work']['id']
      • 2014-09-08 25144, 2014

      • kepstin-laptop
        for the related work
      • 2014-09-08 25122, 2014

      • _Dave_
        ok give me a moment to spit this out in my code
      • 2014-09-08 25129, 2014

      • sam_d joined the channel
      • 2014-09-08 25151, 2014

      • _Dave_
      • 2014-09-08 25100, 2014

      • kepstin-laptop
        so "relations" is an array, each array entry is a "relation". A relation has a "type-id", which tells you how to interpret the other contents.
      • 2014-09-08 25130, 2014

      • kepstin-laptop
        in this case, the type id "a3005666-a872-32c3-ad06-98af558e99b0" means "this is a link between a recording and a work, so there's a work entry here"
      • 2014-09-08 25138, 2014

      • kepstin-laptop
        then you look in the work entry, and get the work id
      • 2014-09-08 25151, 2014

      • kepstin-laptop
      • 2014-09-08 25113, 2014

      • _Dave_
        ?
      • 2014-09-08 25114, 2014

      • kepstin-laptop
        (and also has some stuff like the title, language, type, etc)
      • 2014-09-08 25119, 2014

      • _Dave_
        so that id is not a work id?
      • 2014-09-08 25125, 2014

      • _Dave_
        arh
      • 2014-09-08 25127, 2014

      • kepstin-laptop
        the type-id is a type id
      • 2014-09-08 25131, 2014

      • kepstin-laptop
        the id in the work is the work id
      • 2014-09-08 25127, 2014

      • kepstin-laptop
        the work id here is "aef39ce6-69b9-4184-bdf8-a92d7d8eec3b", because that's the "id" field in the "work"
      • 2014-09-08 25141, 2014

      • _Dave_
        ok for some reason those IDs weren't different for the query I was looking at
      • 2014-09-08 25145, 2014

      • _Dave_
        but when I access now it works
      • 2014-09-08 25149, 2014

      • kepstin-laptop
        you might see some recording-work relations with type-id="12ac9db0-ec26-3567-be3a-2e662e617803", these are old medley ones.
      • 2014-09-08 25157, 2014

      • _Dave_
        I'll put some code in to detect this condition at any rate
      • 2014-09-08 25102, 2014

      • kepstin-laptop
        but most should be "a3005666-a872-32c3-ad06-98af558e99b0"
      • 2014-09-08 25115, 2014

      • _Dave_
        all this to get the song title
      • 2014-09-08 25134, 2014

      • kepstin-laptop
        what are you starting with? a release? a search query?
      • 2014-09-08 25139, 2014

      • _Dave_
        Thanks, btw, for your help :D
      • 2014-09-08 25158, 2014

      • kepstin-laptop
        you can do a query to get works directly from the release query, if that's what you have. Saves a bunch of steps.
      • 2014-09-08 25159, 2014

      • _Dave_
        an arbitrarily encoded music file
      • 2014-09-08 25102, 2014

      • _Dave_
        through acoustid
      • 2014-09-08 25107, 2014

      • _Dave_
        gives me a recording