#musicbrainz-devel

/

      • alastairp
        ogg? maybe
      • *checks*
      • yes
      • m4a, not mp4
      • ruaok
        from lowest to highest: mp3, mp4, aac, flac?
      • kepstin-laptop
        but what if I want to analyze my music videos?
      • ruaok
        not yet.
      • kepstin-laptop
        :)
      • alastairp
        it doesn't prefer one over the other, this is just to see if it should try and open the file
      • the alternative that I might switch to is try and run it, and see if it chokes
      • I need to get a version of libav without mp3 support to test this though
      • derwin
        how much of the "phrasing" stuff is in the toolkit? I don't have the link to the info handy, but echonest has like measure and etc info?
      • alastairp
        derwin: this is very low-level
      • zas
        oh great ;)
      • alastairp
        the idea is you can look at the implementation, see what numbers you have, and go and make phrases yourself
      • (or wait for someone to do so)
      • ruaok
        alastairp: my "prefer" comment is on the server side.
      • alastairp
        ruaok: oh. I guess
      • ruaok
        meaning, if I have one lossy format, under which conditions do I want to replace it with something that is better than what I have?
      • alastairp
        e.g. is mp3 320k better than a low quality aac?
      • ruaok
        thats where it gets tricky. :(
      • lots of comparing apples to oranges.
      • kepstin-laptop
        and we're trying to compare them by diameter, when we really want to compare them by sugar content.
      • ruaok
        heh.
      • kepstin-laptop
        "on average, an apple has x sugar per cm³, and an orange has y sugar per cm³, so if we assume both are spherical, we can approximatly compare if we know the diameter"
      • so I guess it's just a matter of picking good values for x and y :)
      • (in other words, maybe just assign a bitrate multiplier for each codec, and pick which one has the higher bitrate * multiplier score?)
      • Mineo
        alastairp: you have a pull request :P
      • ruaok
        kepstin-laptop: interesting idea.
      • kepstin-laptop
        ... where do I actually get a copy of the essentia stuff? google isn't being very helpful
      • ruaok
        lets see what alastairp comes up with for bit rates
      • kepstin-laptop
        oh, now I just feel silly for not looking there :)
      • alastairp
        yeah, I just bashed the readme file out. it needs some care
      • also, there are linux 64 bit static binaries somewhere
      • um. ruaok got link?
      • ruaok
        one sec
      • alastairp
        found it
      • also, the readme says it looks in $PATH for a binary. that's a lie, it just looks in .
      • kepstin-laptop
        do you need essentia built with gaia for the acousticbrainz tool?
      • alastairp
        no
      • however you do need new libav
      • (sorry)
      • ubuntu 14.04 has it
      • kepstin-laptop uses ffmpeg 2.4, that shouldn't be a problem
      • ruaok
        feh. time to dist upgrade this vm
      • kepstin-laptop
        it just uses the example binary right? doesn't need the python bindings?
      • alastairp
        yep
      • ./waf configure --with-examples
      • should be all you need
      • kepstin-laptop
        ok, good. to install numpy, I need to rebuild my gcc with fortran support enabled, that could take a while :)
      • ruaok
        ouch
      • those better be some pretty yaks
      • kepstin-laptop
        huh, weird. it builds essentia as a static library only? then statically links it into the example tools?
      • but odd, but I guess it makes it easier to handle since I only need the 1 tool and not extra libs.
      • ruaok
        don't ask.
      • alastairp
        woo, filename in output!
      • ruaok
        :)
      • alastairp
        hmm. how do you do basename(file) in both posix and windows?
      • in c++
      • ruaok shrugs
      • ruaok
        those were always part of baseline libraries for whatever project I worked on.
      • alastairp
        yeah
      • don't think there's one here
      • ruaok
        are there ways to determine if you're on windows?
      • using a macro?
      • alastairp
        #ifdef windoes
      • ruaok
        and then #if #else #endif
      • kepstin-laptop
        wow, pytaglib is GPL-3
      • that's a bit limiting on the licenses of projects that use it...
      • ruaok
        DIR_CONCAT = "/"
      • or
      • DIR_CONCAT = "\\"
      • and then use DIR_CONCAT to join parts.
      • not the best, but gets 99% of the people you care about
      • alastairp
        kepstin-laptop: oh, I didn't see that
      • essentia is agpl-3 :)
      • ruaok
        alastairp: file_name for the key name ?
      • warp
        AGPLv3 \o/
      • alastairp
        ruaok: I'm not joining parts - I'm splitting to get the last. but same process. I know
      • kepstin-laptop is having to package it for exherbo to get this stuff going, which is why he noticed that.
      • ruaok: in what subkey? metadata->audio_properties
      • ?
      • ruaok
        I guess under metadata | tags | file_name ?
      • I think of it more as tag data, not audio.
      • alastairp
        ok
      • CODEC long name `MP3 (MPEG audio layer 3)`
      • winning
      • ruaok
        alastairp:
      • I'm planning on making sure those fields exist.
      • think we need to check for more than that?
      • kepstin-laptop
        alright, looks like abzsubmit is running for me now.
      • ruaok
        really? that's scary cool. :)
      • kepstin-laptop
        I guess I should try it on some files now and see if it breaks
      • alastairp
        :)
      • ruaok
        15 tracks!
      • alastairp
        ruaok: yeah, those look like the important ones
      • ruaok
        though kepstin-laptop, pleae stop it for a little while.
      • alastairp
        yeah, I submitted dark side of the moon
      • kepstin-laptop
        I haven't run it over any tracks yet
      • ruaok
        ah, ok.
      • alastairp
        do you realise how long it took me to choose a symbolic first album?
      • ruaok
        so, hang on with any serious running until we get the latest from alastairp.
      • .01 seconds?
      • kepstin-laptop was just gonna use the album he always uses for testing :)
      • alastairp
        nah, a good minute or so :)
      • so, I have filename and codec extracted, but need to wire it into the monster that is essentia to get it into the output
      • ruaok
        I'll put that one on when its submitted for eal.
      • +r
      • alastairp: that gives me a chance to finish the sanity checking.
      • alastairp
        still debating bitrate. I need to see what I can get from libav - if anyone feels like reading libav docs to help me :)
      • ruaok nomiates kepstin-laptop
      • kepstin-laptop
        you're using libav as a library, not the command-line tools?
      • alastairp
        yes
      • urg. we're consuming data frame-by-frame though. not sure then how to do it
      • kepstin-laptop hasn't actually done much with using ffmpeg via the library api :/
      • kepstin-laptop
        I mean, I have a commit in ffmpeg, but that was in a completely unrelated area ;)
      • alastairp
      • kepstin-laptop
        alastairp: my understanding is that's more for encoding, I dunno if it's populated when decoding?
      • alastairp
        decoding: Set by libavcodec. 0 or some bitrate if this info is available in the stream.
      • so, flac set it to 0, mp3 set it to 192000
      • kepstin-laptop
        ok, then :)
      • alastairp
        let me try ogg and vbr
      • BIT RATE `112000`
      • BIT RATE `162284`
      • well. ruaok, if you're happy with that I'll try and get it into the output
      • kepstin-laptop
        looks like ffprobe gives useful output for opus, vorbis, and vbr mp3 in my testing
      • alastairp
        I think short name for codec? not long_name
      • ruaok
        looks good to me, including short name
      • alastairp
        so, the "annoying" thing is that flac gives 0. I guess that's OK though because of the encoder
      • ruaok
        yep.
      • alastairp
        wav -> BIT RATE `1411200`
      • what?
      • ruaok
        we wont look at that field if lossless = t
      • alastairp
        so
      • kepstin-laptop
        alastairp: that's the exactly correct bitrate for a wav with 16bit 44.1kHz audio...
      • alastairp
        lossless = (decoder == "flac" or decoder == "pcm_s16le") ?
      • kepstin-laptop: right :)
      • kepstin-laptop
        don't forget alac, ape, musepack, etc.
      • alastairp
        yeah
      • so, this depends also on what the persons ffmpeg has
      • kepstin-laptop
        hmm. does ffmpeg do tak decoding yet? I think they added it at some point
      • alastairp
        if you could do all the hard work and get me a list of lossless ffmeg decoders, that'd be awesome :)
      • ruaok
        alastairp: is file_name going to be a list or a single string
      • (everything else in that section is a list)
      • kepstin-laptop
        the list of short names of lossless ffmpeg audio decoders is: alac, ape, flac, pcm_*, shorten, tak, truehd, tta, wavpack (sometimes), wmalossless,
      • I don't think I missed any
      • alastairp
        ruaok: that's because taglib did it