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