[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: looking forward to Emms 6.0
From: |
Yoni Rabkin |
Subject: |
Re: looking forward to Emms 6.0 |
Date: |
Sat, 02 May 2020 23:20:49 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux) |
"Fran Burstall (Gmail)" <address@hidden> writes:
> Another python possibility is tinytag:
>
> pip install tinytag
>
> python -m tinytag filename.mp3 (or whatever)
>
> It supports the following attributes:
>
>
> tag.album # album as string
> tag.albumartist # album artist as string
> tag.artist # artist name as string
> tag.audio_offset # number of bytes before audio data begins
> tag.bitrate # bitrate in kBits/s
> tag.comment # file comment as string
> tag.composer # composer as string
> tag.disc # disc number
> tag.disc_total # the total number of discs
> tag.duration # duration of the song in seconds
> tag.filesize # file size in bytes
> tag.genre # genre as string
> tag.samplerate # samples per second
> tag.title # title of the song
> tag.track # track number as string
> tag.track_total # total number of tracks as string
> tag.year # year or data as string
>
>
> Missing from the list of things that emms-print-metadata supplies are
> performer and the various *sort like artistsort.
>
> Positive things:
>
> * like mutagen it is pure python and depends on no other libraries
> * gives answers in the same format for mp3, flac and ogg...
>
> ---Fran
Tinytag can also be installed on my completely free system, so that's a
plus. Here is it's output on my machine (csv option, ignoring
non-standard fields):
mp3:
album,Verdi: La Traviata
audio_offset,214874
title,Prelude - Prelude
track,1
disc_total,2
artist,Wiener Philharmoniker
track_total,22
channels,2
genre,Classical
albumartist,Anna Netrebko
filesize,7156596
composer,Giuseppe Verdi
year,2005
duration,216.955533743
samplerate,44100
bitrate,256
disc,1
ogg:
comment,None
album,CD1
audio_offset,0
title,Messiah: Part I, no. 1: Sinfonia
track,1
disc_total,None
artist,George Frideric Handel
track_total,None
channels,None
genre,None
albumartist,George Frideric Handel; Academy of Ancient Music, Choir of New
College Oxford, Edward Higginbottom
filesize,2493516
composer,George Frideric Handel
year,2006-10-02
duration,184.4
samplerate,44100
bitrate,109.375
disc,1
flac:
comment,None
album,In tempus praesens - Bach, J.S.: Violin Concertos BWV1041 & BWV1042;
Gubaidulina: Violin Concerto In tempus praesens
audio_offset,None
title,1. (Allegro moderato)
track,1
disc_total,None
artist,Anne-Sophie Mutter [Violin] & Trondheim Soloists [Ensemble] &
Anne-Sophie Mutter [Director]
track_total,None
channels,2
genre,None
albumartist,None
filesize,19622498
composer,None
year,None
duration,216.48
samplerate,44100
bitrate,708.152095459
disc,None
If you are the person doing the coding, I have no problem with you
choosing either tinytag or mutagen. The person doing the actual work
gets a say. If we hit a wall when testing one, we'll just switch to the
other.
>
>
>
> On Sat, 2 May 2020 at 13:05, Fran Burstall (Gmail) <
> address@hidden> wrote:
>
> python-mutagen looks like a possibility but it gives different
> output for different filetypes. This is what it looks like on a
> .ogg file
>
> -- /home/timeshift/snapshots/2018-08-31_16-56-03/localhost/usr/
> share/cinnamon/sounds/bell.ogg
> - Ogg Vorbis, 0.23 seconds, 96000 bps (audio/vorbis)
> TITLE=bell
> COMMENTS=
>
> I do not have any other filetypes to experiment on (flac?...) but
> we would have to at least internally manage ID3 frame names vs
> vobis comments etc
>
> ---Fran
>
> On Sat, 2 May 2020 at 04:41, Yoni Rabkin <address@hidden>
> wrote:
>
> "Fran Burstall (Gmail)" <address@hidden> writes:
>
> > pyprinttags fails to provide playing-time which
> emms-print-metadata
> > does get by querying TagLib::AudioProperties.
> >
> > Is this a show-stopper?
>
> I've just had a look at python-mutagen, which installs
> mutagen-inspect. It's output on my machine looks like this
> (ignoring the
> non-standard PRIV tag):
>
> -- /home/yrk/audio/classical/Verdi__La_Traviata__Netrebko/01
> - Prelude - Prelude.mp3
> - MPEG 1 layer 3, 256000 bps (CBR?), 44100 Hz, 2 chn, 216.93
> seconds (audio/mp3)
> APIC= (image/jpeg, 205990 bytes)
> COMM==eng=Amazon.com Song ID: 204947184
> TALB=Verdi: La Traviata
> TCOM=Giuseppe Verdi
> TCON=Classical
> TCOP=(C) 2005 Deutsche Grammophon GmbH, Hamburg
> TDRC=2005
> TIT2=Prelude - Prelude
> TPE1=Wiener Philharmoniker
> TPE2=Anna Netrebko
> TPE3=Carlo Rizzi
> TPOS=1/2
> TRCK=1/22
>
> Do you see mutagen-inspect from python-mutagen as a
> candidate?
>
> > >
> >
>
> *************************************************************************
> > > TAGS OF '02. Peter Gunn (live) _ Where's Your
> Head At
> > > (Head-a-Pella).mp3'
> > >
> >
>
> *************************************************************************
> > > ALBUM = As Heard on
> Radio
> > Soulwax,
> > > Part 2
> > > ALBUM ARTIST CREDIT = 2 Many DJ’s
> > > ALBUMARTIST = 2 Many DJ’s
> > > ALBUMARTISTSORT = 2 Many DJ’s
> > > ARTIST = Emerson, Lake
> & Palmer
> > /
> > > Basement Jaxx
> > > ARTIST CREDIT = Emerson, Lake
> & Palmer
> > /
> >
> > [snip]
> >
> > I got something like this:
> >
> > ************************************
> > TAGS OF '01 - Prelude - Prelude.mp3'
> > ************************************
> > ALBUM = Verdi: La Traviata
> > COMMENT = Amazon.com Song ID: 204947184
> > COPYRIGHT = (C) 2005 Deutsche Grammophon GmbH,
> Hamburg
> > CONDUCTOR = Carlo Rizzi
> > ARTIST = Wiener Philharmoniker
> > TITLE = Prelude - Prelude
> > GENRE = Classical
> > ALBUMARTIST = Anna Netrebko
> > COMPOSER = Giuseppe Verdi
> > DATE = 2005
> > TRACKNUMBER = 1/22
> > DISCNUMBER = 1/2
> > Unsupported tag elements: PRIV; APIC
> >
> > ...which looks easy enough to parse.
> >
> > Unfortunately, installing pytaglib on my Trisquel
> machine was as
> > much
> > work as emms-print-metadata. It involved manually
> downloading
> > pytaglib-0.3.4, then installing cython, then:
> >
> > $ python setup.py build
> > $ python setup.py install --user
> >
> > But I assume that it is easier on systems with pip, so
> this isn't
> > a
> > show-stopper. Moreover, it shows that this can run on a
> > completely free
> > system. If it couldn't then that would be another
> show-stopper.
> >
> > As an aside: looking at the command line of pyprinttags
> I note
> > that
> > we'll have to add the "-b" (batch) option so that
> pyprinttags
> > doesn't
> > try to ask the user questions and hang the elisp
> process call.
> >
> > > Clearly a little parsing would be necessary to get
> this into a
> > shape
> > > that emms could work with.
> > >
> > > I see two ways to go with this:
> > >
> > > 1. write emms-info-pytaglib.el which does the
> parsing.
> > >
> > > 2. write a python version of emms-print-metadata
> that is a
> > drop-in
> > > replacement for the C version.
> > >
> > > Both are easy though option 2 is probably easier.
> The downside
> > of
> > > option 2 is that we still have a piece of non-elisp
> to install
> > in the
> > > user's path.
> > >
> > > Preferences?
> >
> > Absolutely option 1, since otherwise we would be
> shipping C, C++,
> > Perl,
> > and Python; no thank you. The idea is to let the OS
> provide the
> > packages, and let elisp do the rest. This is as opposed
> to what
> > we do
> > now, which is: let the OS provide a package, provide
> some glue
> > code, and
> > then let elisp do the rest. We are trying to get rid of
> the glue.
> >
> > I can write an implementation of emms-info-pytaglib and
> ping you
> > to test
> > it once I'm done, or you can do that. It really depends
> on
> > whether you
> > feel like writing that would be fun for you; your
> choice. Thank
> > you
> > nevertheless.
> >
> > --
> > "Cut your own wood and it will warm you twice"
> >
> >
> >
>
> --
> "Cut your own wood and it will warm you twice"
>
>
>
--
"Cut your own wood and it will warm you twice"
- looking forward to Emms 6.0, Yoni Rabkin, 2020/05/01
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/01
- Re: looking forward to Emms 6.0, Yoni Rabkin, 2020/05/01
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/01
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/01
- Re: looking forward to Emms 6.0, Yoni Rabkin, 2020/05/01
- Re: looking forward to Emms 6.0, Yoni Rabkin, 2020/05/01
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/02
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/02
- Re: looking forward to Emms 6.0,
Yoni Rabkin <=
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/03
- Message not available
- Message not available
- Re: looking forward to Emms 6.0, Fran Burstall (Gmail), 2020/05/08
- Re: looking forward to Emms 6.0, Yoni Rabkin, 2020/05/08
- Re: looking forward to Emms 6.0, Yoni Rabkin, 2020/05/02
Re: looking forward to Emms 6.0, Pierre Neidhardt, 2020/05/01