Archive for Kasulikud vahendid

CD/DVD plaadile lugude nimekirja loomine

Üks sõber soovis, et ma teeksin talle kindla sisuga cd-plaadi. Üldiselt ei ole ju audiofailide plaadile kirjutamine eriti mingi probleem. Suurem jagu CD/DVD kirjutamise tarkvarasid oskavad üsna automaatselt luua vajalikud vormingus plaate.

Minul konkreetselt oli vaja luua tavaline CD-plaat, mida saaks mängida ükskõik millises (ka vanemat tüüpi) cd-mängijas. Algmaterjaliks olid arvutis olevad erinevat sorti – enamasti küll mp3 kodeeringus – failid.

Eesmärk oli saada CD-plaat, mis sisaldaks korrektseid lugude pealkirju ning lisaks soovisin luua ka plaadil olevate lugude nimekirja paberil, mida CD-karbile vahele panna.

Plaadi enda loomine ei olnud just keeruline. Kuna kasutan Ubuntu Linux arvutit, siis on minul välistatud kõik need programmid, millega sellist asja Windows-maailmas tehakse. Samas oli ikkagi valida mitme erineva CD-kirjutamise tarkvara vahel – ja mina polnud ammu ühtki plaati teinud ja enam suurt ei mäletanud. Päris hea artikkel erinevate CD-kirjutamise programmide kohta (inglise keeles) on aadressil http://www.techdrivein.com/2011/03/9-good-cd-and-dvd-burning-tools-for.html. See on küll küllaltki vana – aastast 2011 – kuid samad programmid on praegugi olemas ja väga head.

Üldiselt on Linux-maailmas nii, et igaüks peab ise endale selgeks tegema, milline vahend on tema jaoks parim. Mina nõustun üpris paljude arvamusega, et parim on tõesti K3B. K3B suutis ilma muid abivahendeid kasutamata kirjutamise käigus konverteerida mp3 failid tavalisele CD-le sobivateks audioradadeks, samuti oli olemas lugude sobivaks nimetamiseks mugav liides. Lisan ka ühe ekraanipildi – see võiks olla piisavalt informatiivne.

K3B ekraanivaade

Huvitavamaks läks aga siis, kui soovisin teha plaadile juurde lugude nimekirja. Ma ei tahtnud lugude pealkirju käsitsi ümber kirjutada. Soovisin leida vahendit, mis loeks lugude info plaadi enda pealt välja ja tekitaks kohe automaatselt A4 paberile väljatrükitava lugude nimekirja sobiva teksti suurusega.

Võib kohe öelda, et päris nii lihtsalt ja automaatselt asjad siiski ei käi. Vähemalt mitte Linux’i platvormil. Kohe ei leidnud tarkvara, mis oskaks lugeda kogu plaadilt vajaliku informatsiooni ja salvestada selle ilusasti tekstifailiks. Peale mõningast otsimist leidsin käsureavahendi nimega cd-info, mis luges plaadilt info välja ja väljastas selle lihtsalt terminaliekraanile. Selle vaade on järgmine:

cd-info väljund terminaliaknas

Terminalist saab teksti kopeerida – aga terminalis saab ka kasutada käsku

mis loob kohe tekstifaili, milles on olemas kogu tekst, mille cd-info väljastas. Seda tekstifaili saab juba igasuguste tavaliste tekstiredaktoritega redigeerida, et kustutada mittevajalik ja alles jätta vaid vajalik. Tekstist ülearuse kustutamine on oluliselt lihtsam ja kiirem tegevus, kui käsitsi kõigi laulude nimede kirjutamine.

Otsides head vahendit, mis looks CD-plaadi karbi sisse pandavat õiges suuruses ja tavaliselt paberilt välja lõigatavat etiketti, jäin lõpuks pidama LibreOffice Writeri siltide loomise abilise juurde. On olemas spetsiaalseid CD-etikettide loomise vahendeid (näiteks gLabels), kuid need sageli eeldavad, et ka prinditakse spetsiaalsele paberile või valmis kleepsupaberile. Mina aga tahtsin saada väga lihtsat ruudukujulist etiketti, millel oleks peal servajooned, et oleks lihtne pärast tavaliselt A4 paberilt välja lõigata. Selleks sobiski kõige paremini LibreOffice sildilooja. Alusta tuleb uue dokumendi loomist menüüde Fail → Uus → Sildid abil ja seejärel avaneb dialoogiaken, kust saab valida standardi, millist silti/etiketti just soovitakse luua. LibreOfficega on kaasas terve hulk erinevate tootjate poolt etiketistandardite põhju, kus on juba eeldefineeritud kõik vajalikud mõõdud. Järgmised kaks ekraanipilti näitavad seda, kuidas valida sobivat etiketti.

Uue etiketi loomine

Seejärel avaneb dialoogiaken, kust saab valita erinevate tootjate erinevaid etikettide ja siltide põhju.

LibreOffice sildid Avery A4

Kui oli valitud õige mark ja tüüp, siis tuleks vajutada “Uus dokument”, mis loob tühja dokumendi, kus on vaid raamid kastidele, kuhu sisse tuleb paigutada vajalik tekst. Need raamid on tehnilises mõttes objektid, mille omadusi saab muuta vastavalt soovidele: lisada taustavärve või panna ümber raamid; luua kas ühe-, kahe- või kolmeveeruline lugude nimekirja loend, mängida kirjaviisiga ja teksti värviga jne… Ainus, mida muuta ei tasu, on kasti enda mõõtmed ja asukoht lehel, kuna need on eeldefineeritud vastavaks CD-karbi mõõtudele ja paigutatud nii, et kindlasti kõik nähtav jääks.

Kui  vajalik tekst oli sisse toodud ja kujundatud, sai lõpptulemus järgmine:

Printimiseks valmis cd plaadi laulude leht

Tekstiredaktoris on lihtne muuta teksti suurust, paigutada pikema nimekirja korral laulud kahte veergu või teha mida just vaja, et kogu nimekiri ühele etiketile tervikuna ära mahuks. Seda lehte oli juba lihtne välja printida ja siis halli ala serva pidi õiges suuruses etiketid välja lõigata. Need sobisid täpselt cd-plaadi karbi sisse panemiseks.

Eks ta ole – kuna mul polnud pikalt vajadust sellist cd-plaadi etiketti teha, olin täiesti unustanud, kuidas see üldse käib. Nüüd sai uuesti metoodika meelde tuletatud. Kindlasti on minu viimasest plaadi tegemisest ka piisavalt palju aega möödas – selle aja jooksul on ka tehnilised vahendid muutunud. Nii tuligi sisuliselt uuesti õppida. Sel korral sai ka kirja pandud, et kui jälle vaja teha on, siis on ehk lihtsam järgi vaadata, kuidas see käib. Ja ehk on kellelgi veel sellest kasu.


PS. Linux-maailmas on tarkvara paigaldamine ise tehtud väga lihtsaks. Rohkem võtab aega uurimine, millist tarkvara just tahaks, aga installeerimiseks kasutan mina terminali-aknas käsku

Aga loomulikult on olemas ka graafiline vahend, mida viimasel ajal nimetatakse “Tarkvarakeskuseks” ja kust saab otsida tarkvara, vaadata tarkvara kirjeldust (enamasti küll inglise keeles) ja kui tundub, et see on sobiv tarkvara, siis ka kohe paigaldada. Mina vaatan tavaliselt enne veel veebist kasutajate arvamusi ja alles seejärel otsustan, kas rakendus on mulle loodetavasti sobiv või mitte.

Leidsin toreda lingi

Leidsin täna toreda lingi – http://pdfreaders.org/ – kus aidatakse valida oma arvutisse pdf-failide lugejat. Me oleme tavaliselt väga harjunud, et pdf-failide avamiseks peab arvutis olema Adobe Reader. Adobe on küll algne pdf-standardi väljatöötaja, kuid pdf-vorming on avatud vorming ja seetõttu on olemas ka teiste poolt valmistatud pdf-dokumentide vaatamise programme. Kusjuures osad neist programmidest töötavad isegi paremini ja kiiremini kui Adobe enda poolt loodud Adobe Reader.

Paljud ettevõtted saadavad oma klientidele arveid pdf-kujul. Sageli on selliste e-kirjade osaks ka lause umbes sellises stiilis: “Arve vaatamiseks on vajalik programm Adobe Reader, mille saate alla laadida siit”. Mina ise olen Linux’i kasutaja. Kuigi ka Linux’ile saab alla laadida Adobe Readeri, on Linux’il enamasti kohe olemas programm Evince, mis on samuti pdf-vaataja. Niisiis mina ei vaja Adobe Reader’it. Ka neil, kes kasutavad Apple arvuteid ja Mac OS X’i, on kohe arvutiga kaasas rakendus Preview, mis oskab pdf-dokumente avada. Aga soovitan teistelgi oma arvutis üle minna mõnele muule pdf-dokumentide vaatamise programmile.

Väga hea ja kiire programm Windows-arvutitele on näiteks Sumatra PDF. Seal pole küll ehk nii palju võimalusi kui teistes, kuid lihtsalt faili avamiseks ja lugemiseks väga hea ja kiire. Aga ega tavaliselt pdf-failiga midagi muud ju ei tehta ka kui vaid avatakse sisu lugemiseks ja vahel ka printimiseks.

Kolisin Googlest ära – osaliselt

Kasutasin pikka aega Google kalendrit. See on hea ja mugav, võimaldab kõiki oma sündmusi erinevatel seadmetel omavahel sünkroonis hoida. Oled kodus arvuti taga  – sündmused on Thunderbird’i e-posti kliendi juures ilusti näha. Liigud kusagil ringi – ka mobiilis saab kalendrisündmusi Google kalenrdiga sünkroniseerida. Lisaks saab panna oma mobiili avaekraanile ilusa vidina, mis näitab alati lähiajaks kokku lepitud asju. Nii ei unusta ära, kuhu on vaja minna ja mida teha.

Aga natuke mulle see Google kalender ka ei meeldi. Sest kõik mu andmed on võõras serveris. Ja lisaks saab Google minu kohta liiga palju teada – ja siis suunab ta mulle personaliseeritud reklaami. Üldiselt mulle ei meeldi, kui liiga palju mu isiklikke andmeid on võõrastes kätes. Seepärast tahtsin tegelikult juba mõnda aega oma isiklikku kalendrit Googlest ära kolida. Samal põhjusel ei pane ma ka Facebook’i kõike, mis mu elus ette tuleb – pole vaja liiga palju isiklikust elust Mark Zuckerbergile anda 😉 Ja kui mina kellelegi pean suuri faile saatma, siis eelistan ma ka oma lahendust, mitte Google Drive’i või Dropbox’i.

Nii on mul juba tükk aega installeeritud omale kodune lahendus nimega Owncloud – see on sisuliselt isiklik pilv. Saab kasutada failide hoidmiseks ja sünkroniseerimiseks erinevate  seadmete vahel. Aga Owncloud võimaldab pidada ka isiklikku võrgukalendrit, võrgus olevat aadressraamatut ja muidki vajalikke asju – vaata lähemalt siit: https://apps.owncloud.com/. Seni oli Owncloud’i kalendrifunktsiooni kasutamisel takistuseks see, et ma polnud leidnud head vahendit isikliku pilvekalendri sünkroniseerimiseks oma telefoniga. Nüüd aga võtsin uuesti ette uurimise, kuidas siiski rohkem üle minna isiklikus serveris olevatele lahendustele ja loobuda Google pakutavast. Muidugi, Android telefon ise on ju peaagu et Google oma – nii et ega Googlest päris vabaks ei saa. Aga siiski saab seda infohulka, mis minust Googlesse jääb, veidi vähendada.

Niisiis, lisasin oma telefonile mõned rakendused: CalDav-Sync, aCalendar+, Owncloud. Jah, kõik need rakendused maksavad veidi raha. Aga tulemus mind vägagi rahuldab. Mu mobiil hoiab nüüd ilusasti aktuaalsena kõik sündmused ja sünnipäevad – kusjuures paremini kui seda enne tegi Google kalendrirakendus mobiilile. Samuti saan kergesti mobiilist vaadata faile, mis on mu oma serveris. Kui Dropbox annab tasuta kasutada 2GB, Google Drive 15GB kettaruumi (Google Drive puhul on tasuta maht summaarne kõigi asjade kohta: e-post, pildid, dokumendid), siis oma serveris pole mul muud piiri kui minu kõvaketta maht. Ehk siis praegu on mul kasutada 1,2TB kettaruumi.

Oma e-posti lugemiseks kasutan ma Thunderbird’i. Ja olles koduse arvuti taga, on mugav sündmusi vaadata kohe e-posti rakendusest. Samuti on mugav, kui saab lihtsalt saabunud e-kirja põhjal luua uue sündmuse. Selles on vajalik Thunderbird’ile lisada kalendrilaiendus Lightning. Ja et Lightning hakkaks kalendrisündmusi sünkroniseerima pilvega, on vaja ka vastavaid sünkroniseerimise lisasid. Google kalendriga sünkroniseerimiseks on vaja Provider for Google Calendar, Owncloud’i kalendri jaoks SOGo Connector Thunderbird extension. Sellelt lehelt tuleb alla laadida õige versioon ja Lightning peab olema enne juba installeeritud. – Vaata lisa artikli lõpus.

Muidugi on sellisel isiklikul serveril ka puudusi. Suurim puudus on see, et minu serveri ühenduskiirus internetiga võiks parem olla… Ja muidugi pean ma ise tagama turvalisuse ja töökindluse. Ja jälgima, et serveri tarkvara oleks uuendatud ja kaasaegne.

Ega Google pakutav paha pole. Ja ka Facebook on kindlasti omal kohal. See, et mina eelistan muid lahendusi, on minu isiklik huvi. Ja hetkel igatahes olen rahul – eks näis, kas ma ka rahule jään.

NB! Täiendus 8. oktoobril 2015: Lightning ei vaja mitte midagi lisaks selleks, et sünkroniseerida andmeid OwnCloud kalendriga. OwnCloud nimelt toetab CalDav protokolli, mille tugi on ka Lightning’ul ilma mingite lisa-asjadeta olemas. SOGo Connector on vajalik üksnes siis, kui võrgukalendrit peetakse SOGo serveris.

Jah, ma olen seni väga rahul – sünkroniseerimine erinevate seadmete ja rakendustega toimib suurepäraselt, pealegi on mobiilile peale tõmmatud aCalendar+ oluliselt parem kui enne kasutatud Androidiga kaasa tulnud kalendrirakendus.

Kuidas teha optilist tähetuvastust

Üks sõber saatis mulle portsu faile, milles olid skaneeritud tekstid. Need tekstid oli vaja teha uuesti selliseks, et neid saaks arvutis töödelda. Ühesõnaga, oli vaja teha OCR. Minul kodus on Linux, täpsemalt Ubuntu. Ja seni polnud mul veel vajadust olnud oma koduses masinas optilist märgituvastust kordagi teha. Varem oli mul töö juures skanner, mis oskas skaneerimise käigus ise ka OCR’i teha – seetõttu polnud seda vaja arvutis teha. Nüüd aga olid lihtsalt failid, kust tuli tekst võimalikult viisakal moel kätte saada.

Failid ise olid pdf-failid, kuid need olid raamatutest skaneeritud ja salvestatud pildina, st ilma võimaluseta otse pdf’ist teksti kopeerida. Failid olid erineva pikkusega: lühim oli kolm lehekülge, pikim üle 40 lehekülje.

Nagu ikka, esimese asjana veidi “googeldamist”. On olemas päris head võrgus olevad OCR’i pakkuvad lehed, kus saab märgituvastust teha ilma, et omal arvutis vastavat programmi olemas oleks. Üks päris hea leht selleks on siin: https://www.newocr.com/. See leht võimaldab ka pikemaid dokumente tekstiks konverteerida, ainult et tüütu on see, et iga lehte tuleb eraldi salvestada.

Niisiis püüdsin leida vahendit, mis teeks seda kõigi lehtedega korraga ja mis salvestaks tulemuse mulle automaatselt arvutisse.

See “googledamine” andis mulle ka selle lehe: https://help.ubuntu.com/community/OCR. Üldse on leht help.ubuntu.com päris hea leht. Kui osata inglise keelt, siis leiab sealt abi väga paljude Linux’i-teemaliste küsimuste kohta. See leht on küll Ubuntule orienteeritud, aga ka muude Linux’ite korral, mille aluseks on Ubuntu või Debian, on sealsed õpetused üsna hästi rakendatavad.

Selle lehel oli siis kirjas väike skript, kuidas programmi Tesseract abil Linux arvutis teha mitmelehelisele pdf-dokumendile optilist märgituvastust ja kuidas see tulemus salvestada arvutisse tekstifailina. Kordan seda skripti ka siin, tõsi, eestikeelsete kommentaaridega:

Muidugi, selleks et see skript saaks oma tööd korrektselt teha, peavad arvutis olema programmmid ImageMagick ja Tesseract. Hea uudis on see, et Tesseract’il on päris suure hulga erienvate keelte toetus. Ingliskeelne info ütleb nii:

There are currently language packs available for the following languages:
ara (Arabic), aze (Azerbauijani), bul (Bulgarian), cat (Catalan), ces (Czech), chi_sim (Simplified Chinese), chi_tra (Traditional Chinese), chr (Cherokee), dan (Danish), dan-frak (Danish (Fraktur)), deu (German), ell (Greek), eng (English), enm (Old English), epo (Esperanto), est (Estonian), fin (Finnish), fra (French), frm (Old French), glg (Galician), heb (Hebrew), hin (Hindi), hrv (Croation), hun (Hungarian), ind (Indonesian), ita (Italian), jpn (Japanese), kor (Korean), lav (Latvian), lit (Lithuanian), nld (Dutch), nor (Norwegian), pol (Polish), por (Portuguese), ron (Romanian), rus (Russian), slk (Slovakian), slv (Slovenian), sqi (Albanian), spa (Spanish), srp (Serbian), swe (Swedish), tam (Tamil), tel (Telugu), tgl (Tagalog), tha (Thai), tur (Turkish), ukr (Ukrainian), vie (Vietnamese)

Nagu näete, on ka eesti keel selles loetelus olemas. Ma arvan, et enamasti ei tule ette juhtumit, kus on vaja teha tekstiks mingit sellise keele faili, mille toetus Tesseract’il puudub. Kindlasti on aga nii, et parim märgituvastus on just inglise keeles. Kuigi päris laitmatu ei ole märgituvastus kunagi – kui olete OCR-’i läbi teinud, tuleb pärast kindlasti tulemus üle kontrollida ja vead ära parandada. Ah ja, kui kellelgi peaks olema oskust, siis saab Tesseract’i ise niiöelda “treenida”: https://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3.

Mina sain igatahes ilusasti mulle saadetud failid tekstiks teha ja sõbrale tagasi saata. Ehk on kellelgi veel siinsest infost kasu. Seda infot võib vabalt levitada. Aga nagu vabalt levitatavate asjade puhul ikka: siinse info kasutamine on täielikult kasutaja enda vastutusel. Mina, Tarmo Kähr, ei vastuta mingil kombel siinse info kasutamise korral tekkivate tagajärgede eest, millised need tagajärjed siis ka ei oleks. Mina olen selle info tasuta saanud, tasuta jagan ma seda ka edasi. Kui kellegi on sellest kasu, on mul hea meel. Kui keegi saab sellest kahju, siis on mul kurb meel. Aga ei kasu ega kahju eest ei võta mina mingit vastutust.