Perl Audio Converter

After a recent hop to Ubuntu MATE 16.04 and using it comfortably for quite some time, I finally hit my first snag. Seems SoundConverter has issues when converting m4a files to mp3. I use Soundconverter for batch conversions and was quite happy with the way it worked. But on Ubuntu 16.04, it seems to have issues installing the right version of gstreamer required to convert files to mp3. Attempts to install gstreamer mp3 plugin seperately also failed miserably. All said and done, I still could not use SoundConverter as intended to convert few m4a audio files to mp3 format.

While searching around for answers, I came across a blog post which advocated use of the Perl Audio Converter. It was a good alternative to the SoundConverter sans the UI. Though being a command line program, the Perl Audio Converter promised to be very versatile and easy to use.

It is available in the debian repositories and can be installed with command

sudo apt-get install pacpl

PACPL site gives some more information about their program like so – Perl Audio Converter is a tool for converting multiple audio types from one format to another. It supports AAC, AC3, AIFF, APE, AU, AVR, BONK, CAF, CDR, FAP, FLA, FLAC, IRCAM, LA, LPAC, M4A, MAT, MAT4, MAT5, MMF, MP2, MP3, MP4, MPC, MPP, NIST, OFR, OFS, OGG, PAC, PAF, PVF, RA, RAM, RAW, SD2, SF, SHN, SMP, SND, SPX, TTA, VOC, W64, WAV, WMA, and WV. It can also convert audio from the following video formats: RM, RV, ASF, DivX, MPG, MKV, MPEG, AVI, MOV, OGM, QT, VCD, SVCD, M4V, NSV, NUV, PSP, SMK, VOB, FLV, and WMV.

Looks to me that it can do pretty much everything. To convert a bunch of m4a files in a folder to mp3, I simply used the command

pacpl -t mp3 –bitrate 192 -r ./ –normalize –delete

This command will convert everything below the ./ current path and transcode every audio file (regardless of file type) into MP3 (-t mp3) at a bitrate of 192 (–bitrate 192). The -r will do this job recursively from the current directory. It will also normalize (–normalize) each file and then delete (–delete) the original source/input file.

That’s all there is to using this utility. To make things simpler I created an alias to the above command and added it to my ~/.profile file.

alias convert2mp3=”pacpl -t mp3 –bitrate 192 -r ./ –normalize –delete”

This nifty little program has made my script from this previous post obsolete. I no longer need to depend on ffmpeg or soundconverter installation for my audio format conversion needs.

GitKraken : Control your source in style

I picked up Git quite some time back and have come to love its features. In todays coding world knowledge of git is really a must have skill. Yeah you have worked with different source control systems before but having a distributed version control system means you can work in complete isolation and then merge the code only when collaborating with other members in the team. Git works even better for someone working individually where having a dedicated svn setup for just one person making all the check ins is an overkill. But lets face it, using git from the command line is quite cumbersome and no matter how hard I tried, I never got to the point where I was comfortable with the git UI clients native to Linux.

That was until I discovered GitKraken. Their site describes GitKraken as a downright luxurious Git client. Just download the client for your OS and you will realize what they are talking about.

It is a cross platform, free, standalone client, meaning you don’t even need to have git previously installed on your system. Just install GitKraken and you are good to go.

At start it will prompt for setting up the user name and email. These are set as the global config values in git. A few quick settings and you are done.

This slideshow requires JavaScript.


You can init a repo by either of the options. It could be a local git repo for a remote repo on bitbucket or github. Other options are to open or clone an existing repo.

Screenshot at 2016-06-04 22:47:51

Once you are working with an existing repo, GitKraken keeps track of the file changes and gives you a simple intuitive way to manage your staged/unstaged files and check in files that are relevant to the code changes you are working on. The window pane on the right of the UI lets you handpick files that you want to commit and give appropriate comments before checking it in.

Screenshot at 2016-06-04 23:21:57

 
History of changes appears in the center pane of the UI and it allows you to search through the check ins made so far. All this makes working with git really very simple with few mouse clicks and visual cues.

The left side of the UI shows whether you are working on the master or a branch and creating or deleting branches is again just a matter of right click. Right click menu on the branch gives you several options to push/pull code from remote, or create/delete branches or pick specific files for commit etc. It all much more easier than remembering the git cli commands. Common actions are also accessible via the overhead ui toolbar.

Screenshot at 2016-06-04 23:41:03

Screenshot at 2016-06-04 23:21:57 (copy)

Merging/rebasing branches is even simpler. After working on the changes on a branch, when you are ready to merge it back into master just drag and drop the label on the UI and GitKraken will provide options in the menu.

Screenshot at 2016-06-04 23:08:57

GitKraken team have done an awesome job. No wonder they call it downright luxurious since they have pulled off something quite magical here. Things just happen. With such an intuitive way of working with your source control, who wouldn’t want to keep using it. After years of dabbling with cli commands, I am more than ready to welcome GitKraken into my coding realm.