Addio 32 bit

Ubuntu 16.04, che sarà rilasciato il prossimo aprile, sarà l’ultimo che affiancherà alla versione a 64 bit la versione a 32 bit.
Nel mondo Linux si è avuto da tempo il precedente Chakra Arch Linux, che ha preso la decisione di abbandonare l’architettura a 32 bit già nel 2012 suscitando un vespaio di critiche: tale decisione fu infatti ritenuta di totale incoerenza con il concetto “linux per tutti” che caratterizza questo mondo. E, nel 2012, mi pare non si trattasse di critiche infondate.
Quattro anni dopo, peraltro di fronte ad una versione, la 16.04 di Ubuntu, che sarà una LTS e sarà cioè supportata e aggiornata per altri quattro anni, direi che non c’è proprio nulla da dire.
Del resto, se guardiamo al mondo Windows o Mac, le attenzioni verso l’architettura a 32 bit riguardano ormai il minimo di correttezza nei confronti di chi aveva acquistato sistemi operativi basati su quell’architettura.
Infine occorre considerare che software a 64 bit se ne trova parecchio e che anche software originariamente ed ancora basato sull’architettura a 32 bit gira molto bene anche su sistemi a 64 bit.
Forse troviamo qualche problemino nel mondo Linux, dove, per far girare su un 64 bit software a 32 bit, qualche volta dobbiamo smanettare un po’ per aggiustare le dipendenze: speriamo che il 64 bit di Ubuntu 16.04, in questo senso, sia migliore di Ubuntu 14.04 e precedenti.
Così ci dobbiamo preparare a dare l’addio al 32 bit e viene voglia di farlo subito.
Ma vediamo innanzi tutto cosa vuol dire.
Lavorare a 64 bit piuttosto che a 32 bit significa semplicemente poter accedere a una memoria RAM enormemente superiore, con il risultato di poter eseguire programmi sempre più impegnativi dal punto di vista dell’occupazione di memoria o di poter eseguire programmi meno impegnativi con velocità e scioltezza più elevate.
Perché i vantaggi del lavorare a 64 bit siano avvertibili dobbiamo però averla, la memoria RAM.
Se il nostro computer è non troppo giovane e di fascia media probabilmente avrà attorno a 2 GB di RAM: con questa dimensione non noteremo alcuna differenza tra il lavorare con un sistema operativo a 64 bit e il lavorare con un sistema operativo a 32 bit.
Per entrare in una zona grigia, dove forse si comincia a notare la differenza, dobbiamo avere a disposizione almeno 4 GB di RAM.
Se abbiamo a disposizione oltre 4 GB, con il sistema a 64 bit è un’altra vita.
Comunque, dal punto di vista della RAM che abbiamo a disposizione, se muore il 32 bit non abbiamo problemi a passare al 64 bit.
Il problema vero è il processore: se, anche indipendentemente dalla sua architettura, può lavorare solo a 32 bit, esso non potrà funzionare con un sistema operativo a 64 bit.
Prima di avventurarci a caricare un sistema a 64 bit dobbiamo pertanto sapere se il nostro processore lo può reggere.
Un computer di fascia media acquistato di recente dovrebbe essere senz’altro già pronto per il 64 bit; anzi, con ogni probabilità, ha già montato un Windows a 64 bit ed allora la risposta ce l’abbiamo già.
Di fronte ad un computer non giovane, con un sistema operativo Windows imballato che si inceppa ogni due per tre, ci potrebbe venire voglia di installare un bel sistema Linux a 64 bit ed allora la curiosità si giustificherebbe.
Se usiamo un sistema operativo Linux – che, come sempre ricordo, è il migliore di tutti – basta che apriamo il terminale e scriviamo il comando lscpu; nella seconda riga della risposta, intitolata CPU op-mode, troviamo ciò che cercavamo: se c’è scritto solo 32-bit vuol dire che il nostro processore può lavorare solo a 32 bit, se c’è scritto 32-bit, 64-bit vuol dire che il nostro processore può lavorare anche a 64 bit, ecc.
Se usiamo un sistema operativo Mac dobbiamo andare nel menu Apple -> Informazioni su questo Mac -> Più informazioni -> Hardware -> Nome del processore; ottenuto il nome del processore andiamo su Internet e vediamo di capirci qualche cosa.
Se usiamo un sistema operativo Windows evitiamo di perdere tempo con i vari suggerimenti che troviamo in rete o sul sito della stessa Microsoft, tra cui addirittura quello di andare a sfrugugliare nel registro di sistema: in questo modo sono arrivato a scoprire che un processore Intel Core2 Duo, notoriamente adatto anche per sistemi a 64 bit, può supportare solo il 32 bit. Più semplicemente, seguendo i vari percorsi inventati nelle varie edizioni di Windows, accertiamo tra le risorse di sistema il nome del processore e poi andiamo su Internet.
Se poi, rimanendo in campo Windows, l’informazione ci interessa solo per sapere se possiamo upgradare il sistema operativo Windows a 32 bit che già abbiamo, mamma Microsoft ci mette a disposizione il programma Windows 7 Upgrade Advisor che rimedia al casino citato prima.
Altra opportuna verifica, ad evitare di crearci problemi inutili, quella sul sistema operativo in uso: potremmo infatti avere già un sistema a 64 bit senza saperlo.
Questa verifica è semplicissima. In Windows basta aprire il Pannello di Controllo e andare su Sistema e troviamo la descrizione del sistema operativo: se è presente in qualche modo la sigla x64 significa che abbiamo già un sistema a 64 bit. In Linux e Mac OS X basta digitare nel terminale il comando uname -a: se nella risposta compaiono sigle come i386, i486, i586, i686 vuol dire che abbiamo installato un sistema a 32 bit; se nella risposta compare la sigla x86_64 vuol dire che abbiamo installato un sistema a 64 bit.
Una volta dotati di un sistema a 64 bit potremo farvi girare anche vecchi programmi a 32 bit.
Se ci dilettiamo a fare noi stessi programmi, ricordiamo tuttavia che un eseguibile da noi compilato su un sistema a 64 bit non gira su un sistema a 32 bit.
Ovviamente, invece, script o bytecode tipo Python, Java e quant’altro viene interpretato, ovunque sia stato scritto, gira dove trova l’interprete.
Buon 64 bit.

Arricchiamo il nostro Android

Se abbiamo acquistato uno smartphone lo abbiamo fatto soprattutto per comunicare: con il telefono, con la messaggistica, con la posta elettronica, attraverso i social su internet, ecc. Secondariamente abbiamo forse pensato anche ad avere la possibilità di passare il tempo con qualche giochino elettronico o ascoltando un po’ di musica.
Probabilmente le stesse motivazioni, magari con minor peso la comunicazione telefonica e con più peso lo svago, dal gioco e dall’ascolto di musica alla lettura di un e-book o alla visione di un filmato, hanno spesso ispirato l’acquisto di un tablet.
Per non parlare, in entrambi i casi, della possibilità di scattare discrete fotografie, istantaneamente scambiabili con i nostri parenti ed amici.
In moltissimi casi si trascura il fatto che con queste apparecchiature si può fare molto di più, perché siamo in presenza di veri e propri computer: sia lo smartphone, sia il tablet sono infatti dotati di un chip che ingloba un microprocessore ed hanno un sistema operativo che li fa funzionare come un vero e proprio computer. Con il grande limite, soprattutto nel caso dello smartphone, della ristrettezza dello spazio per lavorare, sia con riguardo allo schermo sia con riguardo alla tastiera. Limite che, come ho sostenuto nel mio appunto di qualche giorno fa “Allarmismi senza costrutto”, farà in modo che questi apparecchi non potranno mai decretare la morte del personal computer, contrariamente a quanto alcuni sostengono.
Per certe cose, tuttavia, come il calcolo e collegate applicazioni scientifiche o lavoretti ricollegabili al nostro stato o alla nostra professione utilmente eseguibili in momenti di lontananza dalle consuete attrezzature di casa o dell’ufficio, il fatto di avere in tasca un apparecchietto che ci può dare una mano può risultare molto utile.
Quando acquistiamo uno di questi apparecchi lo troviamo già dotato del sistema operativo, cioè del software di base per farlo funzionare, oltre che di tutta una serie di applicazioni (in questo mondo, secondo la terminologia introdotta da Steve Jobs, chiamate “app”) che rispondono a tutte le esigenze primarie per le quali abbiamo acquistato l’apparecchio e che ho prima citato: comunicare, navigare su internet, fotografare, ascoltare musica, leggere e-book, vedere filmati, giocare.
Se il sistema operativo del nostro apparecchio è Android possiamo trovare centinaia di altre applicazioni per fare queste stesse cose o per farne altre su Google Play, il negozio on-line di Google, raggiungibile con il nostro apparecchio utilizzando la app Play Store.
Se mi chiedete perché tanta attenzione per Android e non per gli altri sistemi operativi che possiamo trovare in giro vi rispondo che Android, non a caso il più diffuso, è il migliore ed è basato su GNU-Linux, che è il sistema operativo per eccellenza del mondo del software libero, mondo al quale è dedicato questo mio blog. Peraltro, lo stesso Android, protetto dalla licenza Apache 2.0, è software libero.
Probabilmente, trovando installato sul nostro apparecchio tutto ciò che ci serve per le nostre esigenze primarie, la prima direzione verso la quale siamo interessati a trovare arricchimenti è quella dei giochi. In questo campo, su Google Play, possiamo trovare di tutto: dai giochi di movimento ai giochi da scacchiera, dai giochi di carte a rompicapi di tutti i tipi. Le nostre preferenze ci guideranno nella scelta.
Per quanto riguarda arricchimenti su altri fronti, vista la grande mole di applicazioni disponibili, non tutte ugualmente funzionali e realmente corrispondenti alle aspettative ingenerate dalle loro descrizioni, ho ritenuto utile compilare il manualetto allegato in formato PDF, scaricabile e stampabile.

le migliori app per arricchire Android

Allarmismi senza costrutto

Il Corriere della Sera del 15 gennaio 2016 apre la pagina 41 annunciando che “Il personal computer è morto (ed è colpa dell’iPhone)”.
Come abbia fatto un telefonino, sia pure smart (l’iPhone è uno smartphone), che, peraltro, ha una quota di mercato solo del 16%, ad uccidere il personal computer lo sa solo m.penn che firma il trafiletto a commento di questo annuncio funebre.
Forse voleva dare la colpa all’iPad, che, quanto meno, assomiglia di più a un PC e c’è stato un lapsus: anche qui, tuttavia, saremmo di fronte ad un dispositivo che ha una quota di mercato solo del 25% e, pertanto, non è così potente da ammazzare alcunché.
A meno che giochi la volontà di attribuire per forza qualche merito ulteriore al compianto Steve Jobs, che di meriti ne ha già tanti e non ha certo bisogno anche di questo.
La verità è che, nel 2011 per la prima volta, avvenne il sorpasso sulle vendite di personal computer da parte delle vendite di così detti dispositivi mobile (non solo quelli della Apple con la i iniziale ma tutti): infatti, contro 415 milioni di personal computer, vennero venduti 550 milioni tra smartphone (488 milioni) e tablet (62 milioni).
Nel 2015 pare che, più o meno, siano stati venduti 335 milioni di personal computer (115 milioni desktop, 165 milioni portatili e 55 milioni ultrabook) contro 2.270 milioni di dispositivi mobile (1.950 milioni smartphone e 320 milioni tablet).
Se, allora, analizziamo un po’ meglio la realtà delle cose vediamo che il personal computer tradizionale, in quattro anni, non è affatto morto ma se ne sono semplicemente contratte le vendite di circa il 23%: fenomeno ampiamente giustificato dal fatto che la vera e propria esplosione delle vendite di dispositivi mobile, ottimi per comunicare ed anche dotati di capacità elaborativa e ludica, doveva giocoforza allontanare dall’uso del personal computer tutta una categoria di persone che se ne servivano solo per andare su Internet, per chattare, per scambiare messaggi, per tenere i conti della spesa e per giocare, cose che si fanno egregiamente con smartphone e tablet, con minore ingombro e con maggiore comodità.
Ci sono tuttavia molte altre cose che ancora si fanno meglio con il personal computer, comprese quelle che la citata pagina del Corriere della Sera reclamizza come appannaggio del mondo degli smartphone ma che altro non sono che versioni per lo più ludiche di più completi software per personal computer: basta leggere la serie degli articoli sul software libero pubblicati in questo mio blog.
Si tranquillizzi, pertanto m.penn: il personal computer non è morto e vivrà ancora a lungo. Quanto meno, al momento attuale, non esiste ancora il killer adatto per farlo morire e questo, anche in futuro, non sarà certo l’iPhone, anche per un fatto fisico che la stessa tecnologia non può superare: quello della dimensione della tastiera e dello schermo.
La vera rivoluzione tecnologica che ha fittiziamente separato i due mondi è quella della sostituzione del processore e dei suoi accessori tipici nel personal computer con il chip (detto SoC, System on a Chip) tipico del tablet e dello smartphone, chip nel quale è racchiuso allo stato solido tutto ciò che nel personal computer è raggruppato nella scheda madre (processore, scheda video, memoria).
Se poi attorno a questo chip aggreghiamo uno schermo che si presti anche al CAD e non ci faccia cavare gli occhi e una tastiera sulla quale si possa scrivere comodamente con quante dita vogliamo avremo magari inventato un’altra macchina, ma sarà pur sempre un personal computer: a meno che lo vogliamo chiamare tablet rinforzato.
Perciò, tutto sommato, cosa c’è che muore ed a cosa servono questi allarmismi?

Csound, software libero per la computer music

In questo blog ho già passato in rassegna parecchi software per fare musica con il computer, scegliendo nel grande mare del software libero, corredando la presentazione con manualetti destinati ad una prima familiarizzazione con i vari programmi presentati.
Parlo dei documenti PDF “musica_suono.pdf” allegato all’articolo Software libero per fare musica dello scorso maggio, “rosegarden.pdf” allegato all’articolo Rosegarden come sequencer MIDI appena pubblicato e “lmms.pdf” allegato all’articolo Altra musica sempre con software libero dello scorso ottobre.
Quest’ultimo, non in ordine di tempo ma in ordine logico, allude ad “altra musica” perché, a differenza dei primi due, che ci illustrano mezzi con i quali possiamo fare musica producendo suoni che si rifanno agli strumenti musicali tradizionali attraverso il MIDI, ci propone un mezzo che offre anche la possibilità di creare suoni originali con il computer utilizzando tutta una serie di oscillatori digitali preconfezionati: così, dalla musica al computer che imita i suoni tradizionali (violino, tromba, chitarra, pianoforte, ecc.) passiamo alla vera e propria computer music, dove il computer diventa lui uno strumento musicale, capace di produrre suoni propri, non necessariamente ad imitazione di altri suoni.
Ma farei un torto alla collettività del software libero se non ricordassi che tutte queste belle cose sono possibili perché esiste, come si suol dire a monte, un’altra monumentale realizzazione, sempre di software libero, che si chiama Csound.
Nell’ambito della grande categoria della musica elettronica, quella che, in origine, componevano Stockhausen, Berio, Maderna utilizzando enormi oscillatori elettrici e che nel 1964 divenne di produzione più domestica con l’invenzione del sintetizzatore Moog, comunque un bell’apparecchietto tutt’altro che portatile, la computer music è la sottocategoria della musica che si fa con un computer, anche portatile – nemmeno di grande potenza – e, perché no e pur con qualche limitazione, con un tablet o un telefonino equipaggiati Android.
Possiamo dire che il padre della computer music è Max Mathews, che produsse presso i Bell Laboratories, a partire dal 1957, parecchi software, poi catalogati come serie Music N, per la sintesi del suono su grossi elaboratori.
Parallelamente, a partire da metà anni ’60, Barry Vercoe, uno scienziato informatico anche musicista compositore di origine neozelandese, si occupò, presso l’MIT di Boston, del problema dell’interazione tra computer e musicista, come a voler ripetere l’esperienza del Moog sostituendo al Moog un calcolatore.
E’ alla fine di questa lunga esperienza, iniziata utilizzando il linguaggio Assembly e proseguita utilizzando il linguaggio C, nel frattempo regalatoci da Dennis Ritchie, che nasce, nel 1985, Csound: un linguaggio di programmazione sviluppato in C e che del C conserva certe impostazioni, con il quale possiamo creare suoni sempre nuovi partendo dalle oscillazioni, cioè ab ovo.
Tutto ciò che troviamo di preconfezionato per fare musica sul nostro computer è stato sviluppato con un ricorso più o meno diretto al linguaggio Csound.
Per noi dilettanti è sufficiente sapere che c’é: anche perché non si può dire che sia user friendly e alla facile portata di un dilettante.
Per i professionisti della computer music, siano essi musicisti con la passione del computer e dei nuovi suoni, siano essi programmatori che producono il software che poi semplifica la vita a noi dilettanti, Csound è ancora sulla cresta dell’onda, ha una nutrita community che lavora continuamente per migliorarlo e si mostra frequentemente in conferenze internazionali, l’ultima delle quali tenutasi lo scorso ottobre a San Pietroburgo.
Ovviamente ha un sito web, all’indirizzo www.csounds.com, sul quale possiamo fare la conoscenza del mondo di Csound e dal quale possiamo liberamente scaricare il software di base e alcuni tools che ne rendono più amichevole l’utilizzo. Il software è disponibile per tutti i sistemi operativi (Linux, Windows, OS X) con app limitate anche per Android e iOS.
Purtroppo tutta la documentazione è in lingua inglese.
Abbiamo, tuttavia, anche in Italia qualche guru di Csound che ce ne parla in buon italiano.
Penso al prof. Riccardo Bianchini, le cui preziose documentazioni sono reperibili sul web digitando “riccardo bianchini csound” su una barra di ricerca e a Giorgio Zucco, autore di un ottimo manuale pratico edito da Giancarlo Zedde: Sintesi digitale del suono, Laboratorio pratico di Csound.
Per capire immediatamente di che cosa parliamo e per dar modo a chi lo voglia di fare qualche prova rimando comunque all’allegato documento in formato PDF, scaricabile e stampabile.

csound

Rosegarden come sequencer MIDI

Nel mio manualetto Musica e Suono.pdf, allegato all’articolo Software libero per fare musica dello scorso maggio, dopo aver presentato alcuni software con i quali è possibile generare file MIDI come “sottoprodotto” rispetto al risultato principale di scrivere partiture musicali, dicevo che un sequencer MIDI deve avere due cose in più, rispetto a questi software.
Innanzi tutto essere in grado di produrre file MIDI traducendo in segnali di controllo l’input inviato da un musicista che suona su una tastiera collegata al computer e, inoltre, dare la possibilità di editare il file contenente i controlli, i così detti eventi MIDI, in modo da poter intervenire con modifiche e/o nuovi inserimenti per arricchire il file stesso di correzioni ai controlli inseriti con la tastiera o di nuovi controlli non inseribili con la tastiera (come controlli per la disposizione stereofonica del suono, l’espressione, il portamento, la modulazione, il cambio dello strumento musicale, ecc.).
Dicevo anche che non esistono – nel mondo del software libero – programmi che, senza tanto impegno di risorse e di capacità di organizzarle, si limitino ad aggiungere solo queste due cose alla possibilità basica di inserire le note e la loro durata con il mouse.
In realtà non è del tutto vero.
Nel citato manualetto, parlando di software libero che può reggere il confronto con lo storico software commerciale Cubase, accennavo alla possibilità di integrare su Linux i tre programmi Rosegarden, Ardour e Hydrogen: il procedimento alquanto complicato è ben descritto da Stefano Droghetti nel documento che troviamo all’indirizzo stefanodroghetti.altervista.org/produzione-musicale. La più grande complicazione insita in questo procedimento è data dalla necessità di utilizzare il server audio Jack con la relativa configurazione e con l’aggravante che l’uso di Jack esclude la possibilità di usare il server audio di default di Linux (Pulseaudio) cui sono collegati tutti gli altri programmi che hanno a che fare con il suono. Non solo: salvo ricorrere a artifici da smanettoni, una volta spento il server Jack il server Pulseaudio non riparte e, per farlo ripartire, occorre spegnere e riaccendere il computer (mi pare che, fortunatamente, ciò non sia più necessario da Ubuntu 15.4 e derivate in poi).
Tutte queste complicazioni non ci sono se usiamo Rosegarden semplicemente come sequencer MIDI, rinunciando alle sue prestazioni sul fronte audio.
D’altra parte la versione di Rosegarden per Windows, realizzata nel giugno 2014 da Richard Bown, uno degli originari sviluppatori di Rosegarden, partendo dalla versione Linux 14.02 – Kaleidoscope, non ha attivate le funzioni audio e funziona solo come sequencer MIDI.
Per il sistema operativo Linux Rosegarden è giunto alla versione 15.10 – Oranges and Lemons, appena uscita.
Su Rosegarden per Linux possiamo sapere tutto visitando il sito rosegardenmusic.com, dove troviamo il tarball del source code e i riferimenti per le varie versioni adatte alle versioni del nostro sistema operativo Linux: per essere tranquilli basta installare Rosegarden dal repository della nostra distro.
Rosegarden per Windows lo troviamo all’indirizzo http://sourceforge.net/projects/rosegarden/files/rosegarden/14.02-WINDOWS/.
Data la carenza di documentazione in italiano, a vantaggio di chi voglia sperimentare Rosegarden come sequencer MIDI, ho ritenuto utile produrre l’allegato manuale in formato PDF, scaricabile e stampabile.

rosegarden

Basic su Android

Si chiama BASIC! (con un meritato punto esclamativo) e si trova su Google Play.
Sviluppato dal vecchio mago dell’informatica Paul Laughton nell’ambito del settore Dr. Richard Feynman Observatory del suo strano Workshop, il nome completo è RFO-BASIC!, dove RFO richiama il Richard Feynman Observatory: il riferimento spiega, tra l’altro, perché l’icona della app sia costituita da un telescopio.
Se qualcuno vuole visitare il workshop di Laughton, per rendersi conto del personaggio e per leggere qualche aneddoto sulla sua vita, compresa la collaborazione pionieristica con Steve Jobs, può visitare il sito laughton.com/paul/paul.html.
Con questa app possiamo scrivere ed eseguire programmi utilizzando un moderno dialetto del Dartmouth BASIC del 1964 sul nostro tablet o sul nostro telefonino equipaggiati da sistema operativo Android.
Il dialetto, per chi abbia qualche reminiscenza del BASIC che usavamo appena sono comparsi i primi computer domestici, dal glorioso Commodore in poi, è subito utilizzabile: ci ritroveremo il simbolo $ con cui terminare il nome delle variabili stringa, ci ritroveremo il deprecato gosub, ecc.
Poi c’è tutto il resto, tipico del RFO-BASIC!: da quanto serve per programmare applicazioni grafiche, a quanto serve per lavorare con database sqlite, a quanto serve per utilizzare file multimediali, ecc.
All’indirizzo laughton.com/basic/help/De_Re_BASIC!.pdf possiamo trovare e scaricare il manuale del BASIC! in formato pdf, che si chiama De_Re_BASIC!.pdf e contiene tutti i segreti del linguaggio (de re è proprio latino e “de re Basic!” significa praticamente “tutto su BASIC!”).
Le applicazioni Android che costruiamo hanno un aspetto assolutamente professionale e sono contenute in un file con estensione .bas che, grazie alla app BASIC!, possono essere programmate e utilizzate sul nostro apparecchio (la app funge anche da interprete).
Ovviamente siamo in pieno mondo open source e software libero.

Ma non finisce qui.
Se andiamo all’indirizzo rfobasic.com, troviamo un prezioso tutorial scritto da Nick Antonaccio che ci porta per mano ad utilizzare il nostro BASIC!. Il documento si chiama “Learn RFO Basic – The Easiest Way To Create Android Apps”.
Da questo tutorial apprendiamo, con tutti i riferimenti del caso, che con il linguaggio RFO BASIC!, avendo installato Eclipse e le API Android sul PC, possiamo produrre le nostre app su file .apk: apk sta per Android Package e il file .apk è quello che serve per installare una app sul sistema Android, app che, così installata, funziona su Android anche senza che vi sia installato BASIC!. Come dire che, con l’ausilio di un PC attrezzato, possiamo “compilare” le nostre applicazioni programmate in BASIC!.

Sorpresa finale: scopriamo che un certo Nicolas Mougin ha sviluppato alcune utilità per BASIC!, che troviamo all’indirizzo mougino.free.fr/rfo-basic/, tra cui spicca RFO-BASIC! Quick APK (PC), attraverso la quale, partendo da un programma scritto in BASIC!, senza conoscere nulla di Java, di Android e di Eclipse, possiamo sfornare il file .apk: basta che sul PC sia installato, oltre a questo quick-apk.exe, il Java Runtime Environment (JRE).
Purtroppo il Mougin, pur appartenendo al mondo del software libero, deve essere amico di Bill Gates e ci propone solo una versione per Windows dei suoi software.
I linusiani stiano comunque sereni: quick-apk.exe funziona benissimo su Wine. Sullo stesso Wine deve però essere installato anche il Java Runtime Environment per Windows.

Esiste, infine, una versione di Quick APK, BASIC! Quick APK (WiFi), che possiamo scaricare da Google Play, grazie alla quale possiamo installare via WiFi dal PC dove abbiamo prodotto il file APK la nostra nuova applicazione. La quale è comunque installabile dove vogliamo con un collegamento USB (previa abilitazione del nostro sistema Android alle applicazioni di origini sconosciute).

E con questo esempio di produzione di software libero, da Laughton a Antonacci a Mougin e chissà a quanti altri ignoti, buon divertimento con BASIC!

Sarebbe anche bellissimo se ci fosse un volontario che traducesse tutta la documentazione su questa cosa, ora reperibile solo in inglese.

Altra musica, sempre con software libero

Nel mio articolo “Software libero per fare musica”, che si trova archiviato nella categoria “software libero”, e nel relativo allegato in formato PDF “Musica e Suono” ho illustrato alcuni software con i quali possiamo ottenere suoni dal computer, potendoli anche organizzare in maniera da comporre veri e propri brani musicali, fino a produrre file audio di qualità professionale.
Già con quei pochi strumenti possiamo disporre di una vera e propria DAW (Digital Audio Workstation) con la quale abbiamo modo di generare musica (sequencer e arranger MIDI con generatori di suono) e di manipolare i file audio così ottenuti (editor e convertitori di file audio).
Mi si dirà che i costosi Cubase, Sonar, FL Studio, ecc. sono un’altra cosa. Come un’altra cosa è peraltro ciò che descrive Stefano Droghetti nella sua guida “Produzione musicale”, consultabile sul sito http://stefanodroghetti.altervista.org/: con più programmi di software libero messi insieme su un sistema operativo Linux, senza spendere un euro, il Droghetti (con lo pseudonimo da cantautore Senbee) produce cose che nulla hanno in meno di quelle prodotte con Cubase e che possiamo ascoltare visitando il sito https://archive.org/details/Senbee.
Tra l’altro i tre principali componenti di questo mix descritto da Stefano Droghetti (il sequencer MIDI Rosegarden, la drum machine Hydrogen e l’editor audio Ardour) sono ormai disponibili anche per i sistemi operativi OS X e Windows. In particolare l’ultima versione di Ardour, la 4 uscita lo scorso giugno, oltre che poter girare anche su Windows, tratta ormai come si deve anche i file MIDI e, su Linux, può funzionare anche senza il server Jack, sia pure, ovviamente, nei soli casi in cui non si voglia sincronizzare Ardour con altri software.
Ma io sono un minimalista e sono sempre alla ricerca di cose che producano apprezzabili risultati con le minori complicazioni e il minore impiego di risorse possibili e, indirizzando i più esigenti al superlativo lavoro divulgativo di Droghetti, vorrei invece attirare l’attenzione dei meno esigenti su un prodotto di software libero in cui mi sono imbattuto: LMMS.
LMMS è, storicamente, l’acronimo di Linux MultiMedia Studio, a denotare la nascita di questo software nel mondo Linux. Dal momento che esistono ormai versioni che funzionano benissimo anche su Windows e OS X, nella sua attuale presentazione sul sito https://lmms.io/, evidentemente per sottolineare che il prodotto appartiene ormai anche ad altri mondi, si gioca su Let’s Make Music, lasciando perdere, appunto, ogni riferimento al mondo di provenienza con una S non spiegata nell’acronimo.
Per quanto mi riguarda, il principale pregio di questo software è quello di rimediare alla più vistosa carenza di quanto ho presentato nella mia rassegna “Musica e Suono” che ho citato all’inizio. In quella rassegna i suoni che produciamo sono solo quelli catalogati nel sistema MIDI.
Non che siano pochi: ne possiamo contare, infatti, oltre 300, di cui un centinaio ad imitazione dei suoni prodotti dagli strumenti musicali che ci sono noti, un centinaio di suoni di percussioni e un altro centinaio tra suoni originali o imitanti suoni naturali (dal cinguettio di un passero al rumore di un elicottero, dal galoppo di un cavallo al rumore del vento, dal rumore della pioggia al suono prodotto da applausi, ecc.). Sono comunque in numero limitato e li dobbiamo prendere come sono: li possiamo solo rendere più o meno gradevoli utilizzando strumenti di riproduzione più o meno validi.
A proposito, poi, di percussioni, la mia richiamata rassegna non contiene alcun software specificamente dedicato alla produzione di basi ritmiche.
Per queste, stando a quella rassegna, si devono utilizzare innanzi tutto le basi ritmiche preconfezionate nell’arranger MMA, con il quale ne possiamo comunque costruire altre originali, o ci si affida alla scrittura sul rigo musicale secondo la codifica MIDI degli strumenti di percussione da dare in pasto al canale 10 del MIDI. Tutto molto laborioso e, soprattutto, senza aver modo di udire ciò che facciamo nel momento in cui lo facciamo.
Queste due lacune sono ampiamente colmate da LMMS, con il quale possiamo produrre tutti i suoni che vogliamo, senza peraltro rinunciare ad utilizzare quelli del MIDI, e con il quale possiamo disporre di una vera e propria drum machine.
Ovviamente tutto ciò che facciamo con LMMS lo possiamo esportare in file audio.
Per una comprensione delle differenti potenzialità creative di questi software propongo l’ascolto di due brani.
Questo primo brano è un mio arrangiamento di In a sentimental mood di Duke Ellington, prodotto con il software che ho presentato nel mio precedente articolo

 In a sentimental mood

Si nota come i suoni siano ad imitazione di quelli di tradizionali strumenti musicali e, con il software utilizzato, non si potrebbe fare di più, salvo ricorrere a qualche suono di sintesi presente nel catalogo MIDI, comunque preconfezionato e non modificabile da parte nostra.
Questo secondo brano, Onion di Skiessi, è prodotto con LMMS e si trova nella sua biblioteca dimostrativa

Onion

I suoni sono particolari e prodotti, così come li sentiamo, dal gusto dell’autore senza il ricorso a suoni preconfezionati da altri.
Ciò che purtroppo LMMS non fa è la registrazione da microfono.
Come succede con il software che ho presentato nel mio precedente articolo, anche se usiamo LMMS arriviamo a produrre file audio soltanto con suoni generati dal computer. Il mixaggio con suoni prodotti altrimenti (accompagnamento con la nostra chitarra, melodia suonata con il nostro flauto, canto con la nostra voce, ecc.) è possibile solo previa registrazione di questi suoni con altri strumenti software.
Per questo dobbiamo accontentarci sempre del vecchio Audacity.
Pertanto, se lavoriamo su Windows o se, lavorando su Linux, vogliamo evitare le complicazioni del server Jack, il processo rimane sostanzialmente sempre quello di produrre un file audio con i suoni generati dal computer, aprire questo file con Audacity e farne una base su cui sovrapporre le altre tracce audio registrandole con lo stesso Audacity utilizzando un microfono e sentendo in cuffia la base stessa.
Con LMMS, tuttavia, diventa possibile anche registrare altrove un file MIDI per la melodia, importarlo e costruirvi attorno una base ritmica o un accompagnamento armonico per produrre con LMMS il file audio finale polifonico.
Mai, comunque, potremo mixare come si deve un intero file audio all’interno di LMMS.
Per quanto riguarda Audacity e il suo uso, rendendomi conto che quanto ho detto nei miei precedenti articoli è forse poco, consiglio a chi ne voglia sapere di più i seguenti riferimenti, riguardanti purtroppo versioni un po’ datate ma con il vantaggio di essere in lingua italiana:
. http://informaticangioy.altervista.org/dispense/audacity.pdf
. http://www.nanolab.unimore.it/it/wp-content/uploads/2012/06/Audacity1_2_6Man0_0_2
Per quanto riguarda LMMS, una sua descrizione con indicazioni di funzionamento, anche con obiettivi non banali, si trova nell’allegato file PDF, scaricabile e stampabile.

lmms

Vari tipi di programmi

I primi tre programmi che ho proposto sono ognuno di un tipo diverso.

Il programma calendario è un programma compilato, cioè è codificato, come si suol dire, in linguaggio macchina in modo da poter essere letto ed eseguito direttamente dalla CPU (Central Processing Unit) del computer attraverso il sistema operativo di cui il computer è dotato.
Questi programmi si scrivono in un linguaggio di programmazione che usa parole del linguaggio umano seguendo una determinata sintassi. Una volta scritti si traducono in linguaggio macchina attraverso programmi compilatori e si producono i così detti eseguibili (file che nel mondo Windows hanno l’estensione .exe).
I più famosi linguaggi che si prestano per produrre questo tipo di programmi sono, in ordine di anzianità, Pascal, C, C++, ADA.
Una volta che abbiamo l’eseguibile non ci interessa avere il programma compilatore e non ci interessa nemmeno sapere con quale linguaggio è stato prodotto l’eseguibile. A meno che vogliamo modificare l’eseguibile stesso: ma allora dobbiamo avere anche il codice sorgente, cioè quello scritto prima di essere codificato in linguaggio macchina.
La stragrande maggioranza del software commerciale è costituita da eseguibili di questo tipo e le aziende che producono questo software ben si guardano dal distribuire il codice sorgente, che mantengono protetto da brevetti. Nel mondo del software libero, invece, è normale distribuire anche il sorgente affinché ognuno possa contribuire al miglioramento del software stesso.
Il vantaggio di questo tipo di software è quello della velocità di esecuzione: vantaggio che, con la potenza dei processori che abbiamo oggi, è sempre meno percepibile in quanto vengono ormai eseguiti velocemente anche programmi di altro tipo.
Lo svantaggio sta nel fatto che un programma destinato ad essere eseguito su un certo sistema operativo deve essere compilato su e per quel sistema operativo. Un programma compilato per Windows non gira su Linux e su OS X e viceversa. Cioè, come si dice, gli eseguibili compilati non hanno portabilità.

Il programma calcoliGeometrici, prodotto utilizzando il linguaggio di programmazione Java, è anch’esso un programma compilato: la codifica, tuttavia, non lo traduce in linguaggio macchina ma in qualche cosa di intermedio, chiamato bytecode.
Questo bytecode non è direttamente proponibile per l’esecuzione dal sistema operativo del computer alla CPU ma viene passato alla CPU da una piattaforma intermedia installata sul sistema operativo, la così detta macchina virtuale Java, JRE (Java Runtime Environment).
Se il computer non ne fosse dotato, basta scrivere la parola java in una barra di ricerca sul web e verremo immediatamente indirizzati al sito da cui possiamo scaricare la versione adatta al nostro sistema operativo.
Molto software commerciale è prodotto con Java con distribuzione dell’eseguibile codificato in bytecode, che non è umanamente leggibile e si presta alla tutela dei segreti di fabbricazione. Nel mondo del software libero viene ovviamente diffuso anche il sorgente scritto nel linguaggio Java, derivato dal linguaggio C.
Il vantaggio di questo tipo di software sta nel fatto che lo stesso eseguibile gira su tutti i sistemi operativi che siano dotati della macchina virtuale Java, cioè è dotato della massima portabilità.
Lo svantaggio sta nella relativa lentezza di esecuzione dovuta al doppio passaggio tra sistema operativo e macchina virtuale e tra macchina virtuale e CPU; lentezza che praticamente non si avverte con i più moderni processori ma che si può avvertire su computer anzianotti.

Il programma MasterMind non è un programma compilato ma è, praticamente, un sorgente scritto nel linguaggio Python: in termine tecnico si chiama uno script.
Gli script, per essere eseguiti, hanno bisogno di essere tradotti in linguaggio macchina attraverso un interprete che li legge, li traduce e li trasmette alla CPU.
Sul computer dove vogliamo utilizzarli deve essere installato questo interprete.
I principali linguaggi di scripting, in ordine di anzianità, sono Perl, Python e Ruby.
Come per Java il vantaggio è la portabilità, a condizione che sul computer sia installato l’interprete.
Lo svantaggio è la relativa lentezza di esecuzione.

Geometria

Nel mio articolo “Una libreria per calcoli geometrici” ho presentato una libreria java che ho costruito per facilitare l’esecuzione, appunto, di calcoli geometrici.
Con questa libreria ho costruito un programma che ne utilizza parecchie funzioni e ci dà modo di effettuare i più ricorrenti calcoli di geometria.
Il programma consiste in un archivio eseguibile java, quelli che hanno l’estensione .jar.
E’ utilizzabile su qualsiasi computer, qualunque sia il sistema operativo, a condizione che vi sia installata la macchina virtuale java.
Ogni computer dovrebbe averla.
Se per caso il programma non funzionasse perchè sul computer non c’è java, basta scrivere la parola java su qualsiasi barra di ricerca sul web e saremo immediatamente indirizzati a un sito da cui possiamo installarla.
In Windows e OS X il programma, che si chiama calcoliGeometrici.jar, si fa partire con doppio click sul suo nome.
In Linux si può far partire da terminale con il comando
java -jar calcoliGeometrici.jar
una volta che ci si è posizionati nella directory dove è archiviato l’eseguibile.
L’inserimento nei menu può avvenire inserendo lo stesso comando nei launcher, ovviamente con l’indicazione del percorso per raggiungere il luogo di archiviazione del file eseguibile.
Il programma si può scaricare da qui.

Una libreria Java per calcoli geometrici

Per certi calcoli geometrici è facile ricordare le formule e li possiamo eseguire facilmente a mano o con una semplice calcolatrice.
L’area del rettangolo la calcoliamo tutti, anche mentalmente.
La superficie totale di una piramide a base pentagonale noti gli apotemi della base e della piramide non la possiamo calcolare così facilmente.
Purtroppo se cerchiamo software per fare questi calcoli non è che ne troviamo molto.
Ho pensato allora di passare un po’ di tempo per costruire una libreria java in cui ho inserito quante più funzioni geometriche mi sono venute in mente.
La libreria è scaricabile da qui.
Una volta scaricato il file .zip lo si estrae e, cliccando sul file index.html nella directory javadoc, si vede tutta la descrizione della libreria.
Ovviamente, oltre alla libreria vera e propria, denominata Geometria.jar, è presente il source con cui è stata costruita.

Utilizzando questa libreria mi sono poi divertito a fare un programma java per calcoli geometrici.
Il source di questo programma si trova qui e l’eseguibile java si trova qui.