Change the mp3 bitrate for ripping in K3b

I’ve been using K3b successfully (it’s currently at version 2.0.3-r1 in Gentoo Linux) to rip Audio CDs to mp3 files, but despite changing the bitrate to 192 kbps in the ‘K3b Lame Mp3 Encoder’ plugin settings, K3b was still ripping mp3 files at 128 kbps. I found out that I needed to make another change too.

The default bitrate for ripped mp3 tracks is 128 kbps in K3b. To use a different bitrate, I needed to do the following:

1. ‘Settings’ > ‘Configure K3b…’

2. Click on ‘Plugins’

3. Click on the spanner next to ‘K3b Lame Mp3 Encoder’, and change the bitrate on the Settings tab to 192 (or whatever you want). However, this alone does not have any effect, so also click on the spanner next to ‘K3b External Audio Encoder’, click on ‘Mp3 (Lame)’ in the list of ‘Configured Encoders’, click on ‘Edit’ and insert ‘-b 192‘ (or whatever bitrate you want) in the list of lame options, like so:

lame -r --bitwidth 16 --little-endian -b 192 -s 44.1 -h --tt %t --ta %a --tl %m --ty %y --tc %c --tn %n - %f

Here’s what happens before I added the ‘-b 192‘ to the settings for ‘Mp3 (Lame)’ in ‘K3b External Audio Encoder’:

$ file 01\ -\ Meu\ Bem\ Querer.mp3
01 - Meu Bem Querer.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, JntStereo

And after adding the ‘-b 192‘ to the settings for ‘Mp3 (Lame)’ in ‘K3b External Audio Encoder’:

$ file 01\ -\ Meu\ Bem\ Querer.mp3
01 - Meu Bem Querer.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo

Notice the bit rate of the file has changed.

Office 2007 mime-type problem in KDE

Although Microsoft Office 2007 file types are normally opened by the correct Office 2007 application (running with WINE) in my Gentoo Linux Stable amd64 installation, KDE 4.14.3 on my new Clevo notebook opened *.xlsm (Excel 2007 macro-enabled spreadsheet) files with Ark instead of Excel 2007. For some reason the *.xlsm filetype was registed in the xdg-mime database to use the Ark application:

$ file myspreadsheet.xlsm
myspreadsheet.xlsm: Microsoft Excel 2007+

$ xdg-mime query filetype myspreadsheet.xlsm
application/zip

On the other hand, as you can see below, *.docx documents are correctly registed in the xdg-mime database:

$ file myworddocument.docx
myworddocument.docx: Microsoft Word 2007+

$ xdg-mime query filetype myworddocument.docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document

The Office 2007 mime types are listed on the Web page Office 2007 File Format MIME Types for HTTP Content Streaming. Notice the uppercase ‘E’ in the mime-type application/vnd.ms-excel.sheet.macroEnabled.12 for *.xlsm files.

I had already used ‘System Settings’ > ‘File Associations’ in KDE to configure the file association for *.xlsm files, but this made no difference.

I searched my installation and found the file /usr/share/mime/application/vnd.openxmlformats-officedocument.wordprocessingml.document.xml (for *.docx) and the file vnd.ms-excel.sheet.binary.macroenabled.12.xml (for *.xlsb), but the file vnd.ms-excel.sheet.macroenabled.12.xml (for *.xlsm) did not exist.

Then I found the freedesktop.org bug report ‘subclasses declared have wrong case‘ about the package shared-mime-info. One of the commenters stated the problem is in fact due to a bug in KDE.

I followed the work-around given in the bug report:

# mv /usr/share/mime/subclasses /usr/share/mime/subclasses.BAK
# sed -e 's/macroEnabled/macroenabled/' /usr/share/mime/subclasses.BAK > /usr/share/mime/subclasses

I then used KDE ‘System Settings’ > ‘File associations’ again, searched for .xlsm and removed Ark from the list of applications for application/vnd.ms-excel.sheet.macroenabled.12, then logged-out and back in to KDE. Double-clicking on *.xlsm files now opens them in Excel 2007 again, the file /usr/share/mime/application/vnd.ms-excel.sheet.macroenabled.12.xml now exists and the mime-type has been set correctly:

$ xdg-mime query filetype myspreadsheet.xlsm
application/vnd.ms-excel.sheet.macroenabled.12

(I don’t have this problem opening *.xlsm files on my Compal laptop, which also has Version 1.4 of shared-mime-info installed and is also running KDE 4.14.3, albeit under Gentoo Testing ~amd64 rather than Gentoo Stable amd64, so perhaps the KDE bug has already been fixed in the Testing branch.)

Installing PeaZip in Gentoo Linux

I like the archive file utility PeaZip. A couple of years ago I used an ebuild app-arch/peazip-bin in a local overlay to install the pre-compiled utility in Gentoo Linux. Today I wanted to install PeaZip on my new laptop but neither the ebuild for the binary package nor the ebuild for the source package in third-party overlays was able to install it, not to mention that I could not find an ebuild of either type for the latest version. PeaZip Portable, however, does not require installation, so it’s not difficult to get the latest version of PeaZip running correctly in Gentoo Linux without needing an ebuild. Here’s how I installed the latest version of 64-bit PeaZip Portable in KDE …

1. Download peazip_portable-5.6.0.LINUX.x86_64.GTK2.tar.gz from the PeaZip Portable x86-64 download page and extract it to the directory /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/ (change ‘fitzcarraldo’ to your own user name, of course).

2. Open a Konsole window and enter the following commands:

# ln -s /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/peazip /usr/local/bin/peazip
# cp /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/FreeDesktop_integration/peazip.desktop /usr/share/applications/kde4/
# cp /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/FreeDesktop_integration/kde4-dolphin/usr/share/kde4/services/ServiceMenus/*.desktop /usr/share/kde4/services/ServiceMenus/

The command given below is an alternative to the last command above, and the menu items would then only appear in the right-click menu of my user account and I would be able to edit them using the KDE 4 Service Menu Editor.

$ cp /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/FreeDesktop_integration/kde4-dolphin/usr/share/kde4/services/ServiceMenus/*.desktop /home/fitzcarraldo/.kde4/share/kde4/services/ServiceMenus/

3. Download a nice Peazip PNG icon that you find using Google Images (e.g. the 256×256 PNG icon at http://market.milouz.com/data/icon190.png).

4. Copy the icon to the PeaZip Portable directory:

$ cp /home/fitzcarraldo/Downloads/peazip.png /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/

5. Use the KDE Menu Editor to specify the icon for the PeaZip menu entry.

6. Finally, use e.g. Gwenview to create a PNG copy of the icon resized to 16×16, and copy it to the icon folder used by the KDE Service Menu:

# cp /home/fitzcarraldo/peazip_portable-5.6.0.LINUX.x86_64.GTK2/peazip16x16.png /usr/share/icons/hicolor/16x16/apps/peazip.png

That’s it!

Postscript (July 26, 2015): PeaZip 5.7.0 has recently been released, so just replace ‘5.6.0’ with ‘5.7.0’ in the commands listed above, and so on for future versions. Furthermore, see my new post for a tip on how to group the various PeaZip action entries in the right-click menu of KDE file managers (Dolphin and Konqueror).