<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.its-treason.com/index.php?action=history&amp;feed=atom&amp;title=Abcde</id>
	<title>Abcde - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.its-treason.com/index.php?action=history&amp;feed=atom&amp;title=Abcde"/>
	<link rel="alternate" type="text/html" href="https://wiki.its-treason.com/index.php?title=Abcde&amp;action=history"/>
	<updated>2026-06-12T15:34:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.its-treason.com/index.php?title=Abcde&amp;diff=75&amp;oldid=prev</id>
		<title>Timon at 15:04, 28 May 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.its-treason.com/index.php?title=Abcde&amp;diff=75&amp;oldid=prev"/>
		<updated>2025-05-28T15:04:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:04, 28 May 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FLACOPTS=&amp;#039;-8&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;FLACOPTS=&amp;#039;-8&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PADTRACKS=y&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;PADTRACKS=y&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;# Eject CD after reading is complete&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;EJECTCD=y&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Ripping CD&amp;#039;s ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Ripping CD&amp;#039;s ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After the config file is created &amp;lt;code&amp;gt;abcde&amp;lt;/code&amp;gt; can be executed and will automatically start ripping the currently inserted Disk. abcde uses &amp;quot;CD Paranoia&amp;quot; to extract the Music and displaying the progress bar. You can see here: https://www.xiph.org/paranoia/faq.html#progbar what the different symbols mean.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;After the config file is created &amp;lt;code&amp;gt;abcde&amp;lt;/code&amp;gt; can be executed and will automatically start ripping the currently inserted Disk. abcde uses &amp;quot;CD Paranoia&amp;quot; to extract the Music and displaying the progress bar. You can see here: https://www.xiph.org/paranoia/faq.html#progbar what the different symbols mean.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &amp;lt;code&amp;gt;-N&amp;lt;/code&amp;gt; can be used to make the process non-interactive, abcde will always use the first option for Metadata information.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Moving &amp;quot;cover.jpg&amp;quot; back into the extraction folder ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Moving &amp;quot;cover.jpg&amp;quot; back into the extraction folder ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-73:rev-75:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Timon</name></author>
	</entry>
	<entry>
		<id>https://wiki.its-treason.com/index.php?title=Abcde&amp;diff=73&amp;oldid=prev</id>
		<title>Timon: Created page with &quot;{{DISPLAYTITLE:abcde}}  &#039;&#039;&#039;abcde&#039;&#039;&#039; (&#039;&#039;&#039;a&#039;&#039;&#039; &#039;&#039;&#039;b&#039;&#039;&#039;etter &#039;&#039;&#039;CD&#039;&#039;&#039; &#039;&#039;&#039;e&#039;&#039;&#039;ncoder) is a Linux terminal program for ripping CD&#039;s. It can automagically search for Music Metadata and encode the Music in various different formats.  === Install (Debian) === abcde is available in the official Repository. The &lt;code&gt;--no-install-recommends&lt;/code&gt; should be used, because x11 will otherwise be installed.  A package for the target codec should also be installed  * &lt;code&gt;vorbis-tools...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.its-treason.com/index.php?title=Abcde&amp;diff=73&amp;oldid=prev"/>
		<updated>2025-05-28T14:54:23Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{DISPLAYTITLE:abcde}}  &amp;#039;&amp;#039;&amp;#039;abcde&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;etter &amp;#039;&amp;#039;&amp;#039;CD&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;e&amp;#039;&amp;#039;&amp;#039;ncoder) is a Linux terminal program for ripping CD&amp;#039;s. It can automagically search for Music Metadata and encode the Music in various different formats.  === Install (Debian) === abcde is available in the official Repository. The &amp;lt;code&amp;gt;--no-install-recommends&amp;lt;/code&amp;gt; should be used, because x11 will otherwise be installed.  A package for the target codec should also be installed  * &amp;lt;code&amp;gt;vorbis-tools...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:abcde}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;abcde&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;a&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;#039;etter &amp;#039;&amp;#039;&amp;#039;CD&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;e&amp;#039;&amp;#039;&amp;#039;ncoder) is a Linux terminal program for ripping CD&amp;#039;s. It can automagically search for Music Metadata and encode the Music in various different formats.&lt;br /&gt;
&lt;br /&gt;
=== Install (Debian) ===&lt;br /&gt;
abcde is available in the official Repository. The &amp;lt;code&amp;gt;--no-install-recommends&amp;lt;/code&amp;gt; should be used, because x11 will otherwise be installed.&lt;br /&gt;
&lt;br /&gt;
A package for the target codec should also be installed&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;vorbis-tools&amp;lt;/code&amp;gt; for OGG. This is the default.&lt;br /&gt;
* &amp;lt;code&amp;gt;flac&amp;lt;/code&amp;gt; for FLAC files.&lt;br /&gt;
* &amp;lt;code&amp;gt;lame&amp;lt;/code&amp;gt; for MP3 files.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
apt install abcde flac --no-install-recommends&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
==== Config ====&lt;br /&gt;
The config file for abcde is located under &amp;lt;code&amp;gt;~/.abcde.conf&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Example Config for FLAC. Extracted music will be used under &amp;lt;code&amp;gt;~/Music&amp;lt;/code&amp;gt; grouped by Album name.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
OUTPUTTYPE=flac&lt;br /&gt;
OUTPUTFORMAT=&amp;#039;./Music/${ALBUMFILE}/${ARTISTFILE} - ${TRACKFILE}&amp;#039;&lt;br /&gt;
VAOUTPUTFORMAT=&amp;#039;./Music/${ALBUMFILE}/${ARTISTFILE} - ${TRACKFILE}&amp;#039;&lt;br /&gt;
FLACOPTS=&amp;#039;-8&amp;#039;&lt;br /&gt;
PADTRACKS=y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ripping CD&amp;#039;s ====&lt;br /&gt;
After the config file is created &amp;lt;code&amp;gt;abcde&amp;lt;/code&amp;gt; can be executed and will automatically start ripping the currently inserted Disk. abcde uses &amp;quot;CD Paranoia&amp;quot; to extract the Music and displaying the progress bar. You can see here: https://www.xiph.org/paranoia/faq.html#progbar what the different symbols mean.&lt;br /&gt;
&lt;br /&gt;
==== Moving &amp;quot;cover.jpg&amp;quot; back into the extraction folder ====&lt;br /&gt;
If abcde found a Cover to the CD online, it will apply it to all extracted Tracks and will then create an &amp;quot;albumart_backup&amp;quot; folder inside the target folder. For Jellyfin and other Applications, it is useful to have the cover inside the target folder directly. This can be fixed with a script.&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Set the base directory where your music albums are stored&lt;br /&gt;
MUSIC_DIR=&amp;quot;./Music&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Find all albumart_backup directories&lt;br /&gt;
find &amp;quot;$MUSIC_DIR&amp;quot; -type d -name &amp;quot;albumart_backup&amp;quot; | while read -r backup_dir; do&lt;br /&gt;
    # Get the parent album directory&lt;br /&gt;
    album_dir=$(dirname &amp;quot;$backup_dir&amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    # Check if cover.jpg exists in the backup directory&lt;br /&gt;
    if [ -f &amp;quot;$backup_dir/cover.jpg&amp;quot; ]; then&lt;br /&gt;
        echo &amp;quot;Moving cover from $backup_dir to $album_dir&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        # Move the cover.jpg to the album directory&lt;br /&gt;
        mv &amp;quot;$backup_dir/cover.jpg&amp;quot; &amp;quot;$album_dir/&amp;quot;&lt;br /&gt;
        &lt;br /&gt;
        # Check if the move was successful&lt;br /&gt;
        if [ $? -eq 0 ]; then&lt;br /&gt;
            echo &amp;quot;Successfully moved cover.jpg to $album_dir&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Remove the now-empty albumart_backup directory&lt;br /&gt;
            rm -rf &amp;quot;$backup_dir&amp;quot;&lt;br /&gt;
            echo &amp;quot;Removed $backup_dir&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            echo &amp;quot;Failed to move cover.jpg from $backup_dir to $album_dir&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;No cover.jpg found in $backup_dir&amp;quot;&lt;br /&gt;
        # Remove the directory anyway if it&amp;#039;s empty or doesn&amp;#039;t have cover.jpg&lt;br /&gt;
        rm -rf &amp;quot;$backup_dir&amp;quot;&lt;br /&gt;
        echo &amp;quot;Removed $backup_dir&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
    &lt;br /&gt;
    echo &amp;quot;-----------------------------------&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;All album art processing completed.&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;{{DEFAULTSORT:abcde}}&lt;br /&gt;
[[Category:Linux]]&lt;/div&gt;</summary>
		<author><name>Timon</name></author>
	</entry>
</feed>