Linux audio: Difference between revisions

From miki
Jump to navigation Jump to search
Line 103: Line 103:
:On '''Android''', the standard is {{file|albumart.jpg}}.
:On '''Android''', the standard is {{file|albumart.jpg}}.


=== GUI ID3 tags editors ===
=== Editors (GUI-based) ===
''mp3 tag editor'', ''idv3 tags''...
''mp3 tag editor'', ''idv3 tags''...


;Banshee
;Banshee
:Banshee first takes the cover art locally from file ({{file|folder.jpg}}, {{file|cover.jpg}}...). Otherwise it will download automatically cover arts for music in the library. These cover arts are stored in {{file|~/.cache/media-art}}. Cover art filename is a hash of ''artist'' and ''album name'' (See this link for a more powerful script [http://askubuntu.com/questions/65323/bulk-export-embed-album-art-in-banshee]):
Banshee downloads automatically cover arts for music in the library.
:These cover arts are stored in {{file|~/.cache/media-art}}. Cover art filename is a hash of ''artist'' and ''album name'' (See this link for a more powerful script [http://askubuntu.com/questions/65323/bulk-export-embed-album-art-in-banshee]):
f="Ennio Morricone"
f="Ennio Morricone"
al="My Name Is Nobody"
al="My Name Is Nobody"
Line 123: Line 122:
* Used under Windows.
* Used under Windows.


=== CLI ID3 tags editors ===
=== Editors (CLI-based) ===
; [http://beets.radbox.org/ Beets] with ''fetchart'' plugins
: Has auto-tagging facility (MusicBrainZ support) and can fetch and embed album arts automatically from itunes, amazon, google...


;eyeD3
;eyeD3
:The most complete so far (including cover art edition).
:A simple tag editor, very complete (including cover art edition).
<source lang=bash>
<source lang=bash>
eyeD3 myfile.mp3
eyeD3 myfile.mp3
Line 139: Line 140:
:Only id3 v1 it seems
:Only id3 v1 it seems
;[http://www.tldp.org/HOWTO/MP3-HOWTO-13.html id3ed] (no package on ubuntu)
;[http://www.tldp.org/HOWTO/MP3-HOWTO-13.html id3ed] (no package on ubuntu)

=== Auto-tagger and cover art downloader ===
; [http://beets.radbox.org/ Beets] with ''fetchart'' plugins
: Can interface with itunes, amazon, google...

;Banshee
: Automatically fetch album arts when these are missing; otherwise Banshee uses the locally given one ({{file|folder.jpg}}, {{file|cover.jpg}}...) or can be set manually.
: No obvious way to export the art however...


; [https://launchpad.net/coverlovin CoverLovin] &mdash; obsolete
; [https://launchpad.net/coverlovin CoverLovin] &mdash; obsolete
:To download cover art automatically. Broken.


;[http://www.unrealvoodoo.org/projects/albumart Album Cover Art Downloader] &mdash; obsolete
;[http://www.unrealvoodoo.org/projects/albumart Album Cover Art Downloader] &mdash; obsolete
Can save into a {{file|folder.jpg}} file, {{file|.folder.png}} and an <code>Icon</code> entry in {{file|.directory}} for Konqueror, into an ID3v3 APIC frame...
:Can save into a {{file|folder.jpg}} file, {{file|.folder.png}} and an <code>Icon</code> entry in {{file|.directory}} for Konqueror, into an ID3v3 APIC frame...
:Broken.


== Web Radio ==
== Web Radio ==

Revision as of 23:20, 5 December 2015

Audio Conversion using Virtual FS

mp3fs

Example:

mp3fs -b 224 ~/Music /mnt/mp3 -o allow_other,ro

GUI Audio Conversion

Nautilus Audio Converter

Install with
sudo apt-get install wavpack mppenc libmpcdec3 faac flac vorbis-tools faad lame libid3-3.8.3-dev nautilus-script-audio-convert
libid3-3.8.3-dev needed for id3tag.
See Ubuntu Geek - Simplest way to convert audio file(s) on Ubuntu Linux

Gnome Sound Converter

Very nice utility.

  • Can convert to flac, ogg, mp3.
  • Output to given directory, in {artis - album} format
  • mp3, support lame vbr (but apparently --vbr-old only) — done via GStreamer pipeline.

CLI Audio Conversion

flac - FLAC encoder / decoder

flac -d source.flac
flac -d source.flac -o output.wav
flac -d source.flac -c                 # Write output to stdout

lame - MP3 encoder / decoder

See also Technical information on encoding settings.

lame -m auto --preset standard input.wav output.mp3       # Equiv to fast standard
lame -m auto --preset fast standard input.wav output.mp3  # Equiv to -V2 (~192kbps)
lame -m auto --preset extreme input.wav output.mp3        # Equiv to fast extreme
lame -m auto --preset fast extreme input.wav output.mp3   # Equiv to -V0 (~256kbps)
lame -m auto --preset insane input.wav output.mp3         # Equiv to -b 320

twolame - MP2 encoder / decoder

twolame -b 256 input.wav -o "output.mp3"

pacpl - Multi-format encoder / decoder in Perl

# From FLAC to MP3 - Using LAME (extreme quality) - recurse & keep directory structure
pacpl --to mp3 -r -p flac/ --outdir /media/USB --encoder lame --defopts 0 --eopts="-m auto --preset fast extreme"
# To decrease encoding priority:
nice -n 19 pacpl ...

To change the directory structure from "Artist - Album" to "Artist/Album":

for i in *; do eval $(echo $i | sed -r '/ - /!s/(.*)/ARTIST=Various;ALBUM="\1"/; / - /s/(.*) - (.*)/ARTIST="\1"; ALBUM="\2"/'); mkdir "$ARTIST"; mv "$i" "$ARTIST/$ALBUM"; done

yaflac2mp3 - Yet Another FLAC to MP3 script

An handy script to transcode from FLAC to MP3. Could be used as a basis for customized script. See also [1] for more ideas.

yaflac2mp3.sh -s . -d mp3

Conversion in integrated players

Banshee

  • Plug external mp3 player device
  • Right click on device in Banshee
  • Select the media type (ogg, mp3), then click on edit button.
    • For mp3, quality goes from 0 (worst) to 9 (best). 7 seems equivalent to lame -V 2, i.e. fast standard preset, and 9 seems equivalent to lame -V 0, ie. fast extreme preset
  • BUG? — apparently can't save to .ogg although ogg is selected as encoder... — SOLVED see below.
  • BUG? — export all files in device root directory — SOLVED see below.
  • Create a file named ..is_audio_player in device root directory. For instance, to have audio files added in OGG format to the device, using a 1-folder deep structure (ie. Artist - Album/Track. Title), use the following:
name=SAMSUNG\ YP-U1\ (1GB)
folder_depth=1
output_formats=application/ogg,audio/mpeg,audio/mp3

To have files stored elsewhere than in root folder:

name=SAMSUNG\ CARD\ (8GB)
audio_folders=musics/,other/subfolder
folder_depth=2
output_formats=application/ogg,audio/mpeg,audio/mp3

RhythmBox

  • Can also export to external mp3 player
  • BUG? — Apparently only in mp3 (although there are some settings about preferred format in preferences)
  • Quality seems to be lame --preset fast standard
  • Export in /Artist/Album/Track - Title.mp3

Cover Art and ID3 Tags

Conventions and standards

Cover art filename
Usual names are folder.jpg (apparently the standard on Windows) and cover.jpg. Other options are front.jpg, %filename%.jpg or%album%.jpg.
Banshee supports at least folder.jpg and cover.jpg.
On Android, the standard is albumart.jpg.

Editors (GUI-based)

mp3 tag editor, idv3 tags...

Banshee
Banshee first takes the cover art locally from file (folder.jpg, cover.jpg...). Otherwise it will download automatically cover arts for music in the library. These cover arts are stored in ~/.cache/media-art. Cover art filename is a hash of artist and album name (See this link for a more powerful script [6]):
f="Ennio Morricone"
al="My Name Is Nobody"
echo "~/.cache/media-art/album-$(echo -ne "$f\t$al" | md5sum | cut -b1-32).jpg"
  • You can edit metadata (ID3 tags) in Banshee, but click Write metadata to files to save back to library.
Easytags aac
  • Edit ID3 tag, including cover arts (with automatically download)
Puddletag
  • A bit buggy sometimes
folder.jpg
  • Used under Windows.

Editors (CLI-based)

Beets with fetchart plugins
Has auto-tagging facility (MusicBrainZ support) and can fetch and embed album arts automatically from itunes, amazon, google...
eyeD3
A simple tag editor, very complete (including cover art edition).
eyeD3 myfile.mp3
eyeD3 --list-image-types            # View available image type (APIC frame)
eyeD3 --add-image=folder.jpg:FRONT_COVER:folder.jpg myfile.mp3
id3v2
Does not report cover arts.
mp3info
Only id3 v1 it seems
id3ed (no package on ubuntu)
CoverLovin — obsolete
To download cover art automatically. Broken.
Album Cover Art Downloader — obsolete
Can save into a folder.jpg file, .folder.png and an Icon entry in .directory for Konqueror, into an ID3v3 APIC frame...
Broken.

Web Radio

Several ways to play internet radios in Linux (sources [7]).

Let's consider the following radios:

[playlist]
numberofentries=5
File1=http://85.25.86.69:8100
Title1=(#1 - 25/160) Chromanova.fm presents: Ambient & Chillout Deejay Sets
Length1=-1
File2=http://212.112.241.88:8100
Title2=(#2 - 25/120) Chromanova.fm presents: Ambient & Chillout Deejay Sets
Length1=-1
File3=http://85.25.86.69:9000
Title3=(#3 - 159/160) Chromanova.fm presents: Ambient & Chillout Deejay Sets
Length1=-1

Here we list the various way to play the radios listed above.

Mplayer
  • Mplayer can play most streams. Give it the *stream* URL, not the playlist. Use -cache 1000 to cache audio stream. Works also fine with proxies.
mplayer -cache 1000 http://85.25.86.69:8100
mpg123
  • mpg123 can also play most radio stream. Works also fine with proxies.
mpg123 -cache 1000 http://85.25.86.69:8100
audacious
  • TBC
streamtuner2
  • TBC
streamtuner2 -r         # Then tell audacious to open http://localhost:8000
streamripper
  • Use streamripper to rip an audio stream into a file. It can also relay the stripped stream to a local port to be played and ripped simultaneously
streamripper server:port -D "%S/%q -- %A - %T"           # Rip to file (w/ naming convention)
streamripper server:port -D "%S/%q -- %A - %T" -r        # Rip and relay to port 8000
mpg123 http://localhost:8000                             # ... and play it
banshee
  • NOT WORKING — can't make it work, at least behind a proxy. Giving either .pls, or stream URL, nothing works (w/o error msg)


rhythmbox
  • NOT WORKING — can't make it work, at least behind a proxy. Giving either .pls, or stream URL, nothing works (w/o error msg)
amarok
  • STATE UNKNOWN — Used to work in the past, but need some weird configuration for the proxy.