Ari. age 30. one girlfriend. one boy. blue eyes. icelandic. live in denmark. school. football. weight lifting. mac & linux. book worm. cooking. coding. creating. thinking. doing.

How-to create an audiobook mp3/m4b from a bunch of mp3′s – take #2

Posted: January 30th, 2009 | Author: ari.bjornsson | Filed under: Tech | Tags: , , , , , , , , , , , , , , , | 6 Comments »

Lately I’ve been fooling around with Python, to be exact I took the opportunity to learn the programming language because I wanted to remake my “jencode” a.k.a. “join-and-encode” bash script, which converts multiple mp3 files to one m4b file (iTunes audiobook format), in a more powerful programming language. To make a long story short, I’ve done so.

A brief summary of the issue; acquiring a pre-ripped audiobooks from the internet is easy but usually they’re broken up into multiple mp3 files and strangely enough some of those mp3 files may not be of the same quality as the others. This is a problem for those who rather want their audiobook to be in one file, mp3 or m4b.

Like I mention before I created a linux bash script to do that but now I’ve recreated it as Python script, actually I’ve created several Python scripts which essentially have the same functionality as the lone bash script – I did this for ease of use. Unfortunately these Python scripts only work on linux. Speaking for myself, I use these scripts extensively and find them very useful and much better than any gui program I’ve come across.

I’d appreciate feedback on things that go wrong or how to improve these scripts or more importantly what methods or packages to use in conversion of these audio files. It’s ok to comment here or just drop me a line; ari.bjornsson (at) gmail.com

Before continuing make sure that you grab a copy of these scripts:

  • audiojoin.py – provides useful information about mp3 files as well as to join them together as one
  • mp3reencode.py – encodes mp3 files contained in a given folder
  • audio2m4b.py – converts mp3 files contained in a given folder to m4b format
  • m4b2mp3.py – converts m4b files contained in a given folder to mp3 format

also make sure you have the following packages installed:

  • faac, faad, mpgtx, lame, id3v2, mp3check and mplayer

now, place the scripts in directory: /usr/bin so they can be called without giving full path.

audiojoin.py

This script uses the mpgtx package to join together multiple mp3 files. These files, however, need to have the same bitrate, sampling rate and channels. Before using the join function of this script it is recommended that -s flag is used to if there are any discrepancies between the files and if there are any then its necessary to reencode all files using the mp3reencode.py script. The output of this script is a joined mp3 file.

Note: you may encounter a batch of mp3 files which are identical but encoded with encoders like mpg123 which are incompatible with mpgtx – in these cases it’s also recommended to use mp3reencode.py script.

Examples:

  1. #audiojoin.py -s % provides statistical summary of all mp3 in current directory
  2. #audiojoin.py -i Track01.mp3 % provides more detailed information about a single mp3 file
  3. #audiojoin.py -jr % joins together all mp3 files in current directory as well as all mp3 files in subdirectories
  4. #audiojoin.py -jd /media/audiobooks/Cinderella % joins together mp3 files contained in supplied folder

mp3reencode.py

This script uses the lame package to reencode mp3 files according to supplied parameters, by default these parameters are; sampling rate [22.05 kHz], bitrate [32 kbps], bitmode [constant bitrate] and  channels [sterio]. These parameters can be overwritten by using appropriate flags and values, refer to: #mp3reencode.py -h . The output of this script is a mp3 file which has the same name as the input mp3 file but with _REENCODED_.mp3 ending.

Examples:

  1. #mp3reencode.py -d /media/audiobooks/The\ Silmarillion % reencodes all mp3 files contained in supplied directory using default values
  2. #mp3reencode.py -s 44.1 -b 128 -c j % reencodes all mp3 files in current directory with numerous flags, bitmode is set as default value
  3. #mp3reencode.py -r -b 32 -m abr % reencodes all mp3 files in current directory as well as files in subdirectories with average bitrate 32 kbps set but others default value

audio2m4b.py

This script uses mplayer to decode the input file to am expanded pcm format where as faac is used to encode pcm file to m4b, no input parameters are necessary. Note: by default the script goes through subdirectories as well.

Examples:

  1. #audio2m4b.py % encodes all mp3 files to m4b files, including files in subdirectiories
  2. #audio2m4b.py -wd /media/audiobooks/Hidden\ Empire % encodes all wave files to m4b which are found in given directory and its subdirectories

m4b2mp3.py

This script uses faad package to decode the m4b files provided or contained in the provided directory and simutaneously converted to mp3 using lame and no input parameters are necessary. Note: by default the script goes through subdirectories as well.

Examples:

  1. #m4b2mp3.py % decodes m4b files in current directory and subdirectories and consequently encodes the output to mp3
  2. #m4b2mp3.py -d /media/audiobook/Bourne\ Supremacy % decodes m4b flies in supplied directory and subdirectories and encodes the output to mp3


Ísland í dag

Posted: January 27th, 2009 | Author: ari.bjornsson | Filed under: Daily Life | Tags: , , , , | 6 Comments »

Það hefur eflaust ekki farið fram hjá neinum sá hasar sem hefur átt sér stað á litla Íslandi að undanförnu, allt frá falli bankanna að stjórnarslitum og linnulausum fréttum um slæmt ástand og enn verri horfur, ekki sýst þær að Jóhanna “Taugahrúga” Sigurðardóttir ætlar sér að grípa í taumana. Þessar dimmu staðreindir og aðrar spekúlasjónir fara misjafnt í menn – við Malla komumst upp með það að spá frekar lítið í þessu þegar við erum búin að sætta okkur við að spariféið okkar hafi helmingast sökum gengismunar ISK vs DKK og teljum okkur bara þokkalega bjartsýn, en svo eru það aðrir sem eru ekki svo heppnir svo sem vinur minn af bensínstöðinni sem ég nefni hér á eftir.

Ég er reyndar ekki búinn að spá mikið í neinu síðan ég kom til Íslands að Malla er farin að hafa áhyggjur, hún er nánast daglega að leiðrétta mig í akstrinum því ég gleymi alltaf hvert ég er að fara og síðasti gullmolinn var á sunnudaginn var þegar ég dældi 12L af bensíni á nýja diesel volvoinn á heimilinu áður en ég áttaði mig á því sem ég var að gera. Þetta er ekki frásögu færandi nema fyrir það að ég varð vitanlega mjög pirraður yfir þessu því þetta er doldið vesen og ég var að verða seinn í fótbolta tíma – þá heilögu stund. Ég renndi hringingu í pabba sem svaraði ekki og við það kláraðist inneignin mín – enn jókst pirringurinn…

Það var velklæddur herramaður um sextugt að dæla við hliðina á mér og ég gékk til hans og greindi honum frá vandræðum mínum með bílinn og símann og bað hann um að lána mér símann sinn og þar af leiðandi ca 10 krónur svo ég gæti látið hringja í mig. Herramaðurinn lítur upp og svarar: “Við núverandi astæður, þá gerir maður bara ekki svoleiðis”, ég rek upp stór augu og svara: “Ha ?” því ég átta mig bara alls ekki á svarinu sem hann endurtekur orðrétt og ég svara: “Hvað áttu við?” og hann gefur þær skýringar að það er aldrei að vita hvert ég myndi hringja, flýtir sér inní bíl og brunar í burtu og ég stend gapandi eftir.

Ég hef verið að velta fyrir mér nokkrum mögulegum skýringum fyrir hegðun mannsins og þykir mér líklegt að hann hafi séð nýverið  myndina Taken með Liam Neeson og ég hafi ætlað að ræna honum og selja í kynlífsánauð, hringja í rauða-torgið fyrir allan peninginn hans þar sem við stóðum tveir einir á Atlantsolíu á Sprengisandi eða drösla honum upp í Þórsmörk þar sem ég myndi rista hann upp og selja líffærin á svörtum markaði.

Ég tel það vera auma þróun hér á Íslandi þegar fólk hættir að rétta hvoru öðru hjálpar hönd, sérstaklega í ljósi þess hversu stoltur maður hefur verið í gegnum tíðina að því að hlutirnir séu oft lítið mál hérna heima því allir eru tilbúnir til þess að hjálpa. Það er svo skrítið nefnilega að vera neitað um aðstoð í þessu tilviki því ég skammast mín líka fyrir hans framkomu – Íslendingar gera ekki svona.


Ekki alveg dauður ..

Posted: January 19th, 2009 | Author: ari.bjornsson | Filed under: Daily Life | Tags: , , | 3 Comments »

Það er ár og öld frá því ég bloggaði síðast enda hefur fjölskyldan verið í stífum heimboðum og að brasa ýmislegt annað og ekki gefið sér tíma að sinna blogginu. Sjálfsagt hefði ég ekki bloggað fyrr en við værum komin út, 1. febrúar, ef það hefði ekki verið fyrir frú Flensu sem er í heimsókn hjá mér. Hún mætti í gær í kaffi, lét mig vera með hausverk í alla nótt sem varð til þess að ég fór ekki á fætur fyrr en kl hálf 4 í dag – ég vona að kerla fari nú að hipja sig svo ég komist með Möllu og Degi í ungbarnasundið á morgun.

Já, litli maðurinn er byrjaður í ungbarnasundi og finnst það æðislegt, hann er meira að segja byrjaður að kafa og standa eins og herforingi. Það er óhætt að segja að foreldrar hans séu að rifna úr stolti. Það er nú meira að segja orðið þannig að við erum hrædd um að hann sleppi bara að læra að sitja því þegar við reisum hann upp gerir hann sig svo stífan að hann stendur frekar en að sitja, svona eins og að rétta upp 2L kókflösku.

Litli maðurinn er alveg búinn að breytast ótrúlega frá því að hann kom fyrst til íslands og það er líka bara svo magnað að fylgjast með öllu sem hann er að læra og uppgötva. Einhvern veginn fannst mér eins og litlir krakkar væru miklu lengur litlir en raun ber vitni, ef maður bregður sér frá í klukkutíma þá finnst manni maður hafa misst af heilum helling. Ég öfunda því ekki ömmurnar og afana núna því senn líður að brottfarardegi.

Við keyptum vídjóvél í sumar til að taka upp myndskeið af litla manninum og ætlum við að búa reglulega til myndbönd og setja á netið til að sefa sárasta söknuðinn. Því bíð ég með mikilli eftirvæntingu eftir iLife 09 sem inniheldur nýjustu útgáfu iMovie myndvinnsluforritsins sem mér finnst svo þægilegt, en það er væntanlegt í janúar. Svo er ég búinn að einsetja mér að vera miklu duglegri við að taka myndbönd en áður.

Talandi um það að vera duglegur þá ætla ég að drífa í því að setja janúar albúmið á netið!