Scrivere musica con NtEd

Tra i tanti modi di scrivere musica con software libero che ho illustrato in questo blog non ho mai parlato di NtEd, nonostante abbia il pregio di essere il primo software WYSIWYG di scrittura musicale per il sistema operativo Linux.
Probabilmente perché è disponibile solo per Linux, non è di facile installazione e colui che ce lo ha regalato non ne fa manutenzione e non è disponibile per parlare di questo software in quanto dice di avere altro da fare (in effetti sta facendo tantissime altre belle cose).
Dal momento che chi usa Ubuntu e derivate o MXLinux lo trova nel repository e lo può comodamente installare da lì e, visto che una volta installato è bello e facile da usare, ritengo utile illustrarne il funzionamento nell’allegato manualetto, come sempre scaricabile, stampabile e distribuibile senza problemi.

nted

Un pep che esclude pip

Con tutto il parlare che ho fatto in questo blog di Python non ho mai accennato all’esistenza dei PEP, ritenendo che i dilettanti cui rivolgo i miei scritti potessero fare a meno di queste complicazioni.
Ho invece incoraggiato i miei lettori che avessero bisogno di arricchire l’installazione di Python di base con pacchetti aggiuntivi ad utilizzare l’installatore pip, che, dalla versione 3.4 di Python faceva parte della dotazione di default.
Oggi le distro Linux con preinstallato Python3 che adottano la PEP identificata dal numero 668 non preinstallano più pip e non consentono più di usare questo installatore e, purtroppo, ormai molte distro, tra cui le popolari Ubuntu e derivate, compreso Mint e MX, fanno questo.
PEP sta per Python Enhancement Proposal ed è un documento di progettazione destinato alla comunità di sviluppatori Python riguardante nuove funzionalità del linguaggio, i suoi processi o il suo ambiente.
La PEP 668 riguarda i conflitti che possono insorgere tra i gestori di pacchetti del sistema operativo (nelle derivate da Debian, come Ubuntu, apt) e gli strumenti di gestione dei pacchetti specifici di Python (come pip) e, per evitare l’insorgere di questi conflitti, dichiara EXTERNALLY-MANAGED le installazioni che possono essere gestite con mezzi esterni a Python, come il gestore di pacchetti del sistema operativo, consentendone l’installazione solo con il gestore dei pacchetti e rendendo inutilizzabile l’installatore pip (salvo complicazioni come la creazione di un ambiente virtuale).
Fortunatamente le distro che hanno adottato la PEP 668 hanno nel proprio repository quasi tutti i pacchetti di cui ho parlato in questo blog (da numpy a scipy, da sympy a pandas, da matplotlib a sklearn).
Vorrà dire che, per installare, per esempio, scipy non possiamo più fare
pip install scipy
ma, se lavoriamo con una distro che ha adottato la PEP 668, come Ubuntu e le sue derivate, dobbiamo fare
apt install python3-scipy.
Purtroppo vi sono però pacchetti che si trovano nel repository di Python ma non in quello della distro e, se vogliamo evitare, da dilettanti, le complicazioni di Conda e Anaconda, abbiamo proprio bisogno di usare pip.
A questo punto, se non abbiamo disponbile pip lo installiamo con il comando a terminale
apt install python3-pip
ed eludiamo la PEP 668 con il comando
sudo rm -rf /usr/lib/python3.xx/EXTERNALLY-MANAGED
Da qui in poi, sapendo che per i pacchetti che troviamo nel repository della distro è meglio che usiamo l’installatore della distro, per gli altri possiamo usare pip.

Scrivere musica con Denemo

In questo blog ho già parlato di Lilypond, un software per produrre partiture e spartiti musicali di elevatissima qualità tipografica.
La prima volta nell’articolo “Software libero per scrivere” del febbraio 2015.
Un’altra volta nell’articolo “Latex e la musica” del marzo 2022.
In quei casi ho illustrato come si producano scritti musicali utilizzando il particolare linguaggio di Lilypond.
Oggi presento invece, nell’allegato manualetto, un software, che si chiama Denemo e che ci mette in grado di utilizzare Lilypond senza conoscerne il linguaggio.
Come sempre il manualetto è liberamente scaricabile, stampabile e distribuibile.

denemo

La rivoluzione PipeWire

Nel momento in cui scrivo (aprile 2024) penso che ormai tutte le nuove distribuzioni Linux adottino il nuovo server audio PipeWire in sostituzione degli storici server PulseAudio, che era quello di default, e JACK.
Per conoscere qualche cosa di basico su come si produce il suono in Linux suggerisco la lettura della nota illustrativa “suono_linux” allegata in formato PDF al mio articolo “Il suono di Linux” pubblicato su questo blog nel maggio 2017, che ho recentemente aggiornato.
Penso che chi si limita a riprodurre con il computer file audio o file video dotati di audio, magari anche a giocherellare con il MIDI e con qualche sintetizzatore di suoni facile facile, come Timidity, nemmeno si accorga della novità.
Questo in quanto tutto il software che era predisposto per il server PulseAudio mi pare giri senza difficoltà alcuna su PipeWire.
Mi pare, invece, che qualche problema esista con il software, per lo più destinato ad usi professionali, che era predisposto per il server JACK.
Visto che le tre distribuzioni Linux dedicate ai professionisti della multimedialità sono ormai equipaggiate con PipeWire (Ubuntu Studio dalla versione 23.04, AVLinux MX dalla versione 23.1 e Fedora Jam addirittura dalla versione 34 del 2021) ho verificato come funziona su queste quel software di più facile utilizzo, a portata di dilettante e che ho illustrato in questo blog, per fare qualche cosa di creativo con l’audio: alludo, per esempio, alle DAW Rosegarden e Qtractor, per le quali non bastava PulseAudio ma era necessario anche o solo JACK.
Ho così constatato che la distro che si comporta meglio è Fedora Jam: sarà perché PipeWire è nato in casa Red Hat, sarà perché Fedora Jam è stata la prima ad adottare PipeWire. Qui, comunque, tutto funziona bene, come quando si usavano PulseAudio e JACK.
Su Ubuntu Studio funziona bene tutto ciò che richiedeva semplicemente PulseAudio. Ciò che richiedeva JACK funziona male o non funziona proprio, anche nel caso sia preinstallato. Per esempio Qtractor è preinstallato ma non funziona. Di Rosegarden funziona solo la parte di editor MIDI, quella per cui bastava PulseAudio.
Peraltro nelle note di rilascio di Ubuntu Studio 23.04 si annuncia che il server audio di default è PipeWire, soggiungendo che esso non è raccomandato per l’audio professionale. In modo che uno si chiede perché lo abbiano installato come server di default su una distro per professionisti.
AVLinux, nella nuova versione AVLinux MXe 23.1, è irriconoscibile. Formalmente si presenta con il nuovo window manager Enlightenment con cui si possono fare le stesse cose che si sono sempre fatte, ma, non si capisce a vantaggio di che cosa, in mille modi diversi e purtroppo, nel caso delle configurazioni (lingua di sistema, tastiera, ecc.) solo uno, a caso, dei mille modi produce risultati stabili. Il software preinstallato si riduce praticamente al vecchio libero Ardour e a due DAW proprietarie e costose: Harrison Mixbus (proprietario ma generato grazie al libero Ardour) e Reaper, entrambe in versione di prova a tempo, che, con i vari plugin, occupano 3 Giga di spazio su disco. Non le ho nemmeno provate in quanto per far fare loro qualche cosa serve un ingegnere informatico. Pochi altri applicativi della tradizione (Openshot, Kdenlive, MuseScore, Cinelerra, Audacity e Avidemux) sono presenti sotto forma di Appimage e funzionano. Tutto ciò che ho provato ad installare di diverso non funziona.
Speriamo che nei casi di Ubuntu Studio e AVLinux si tratti di errori di gioventù e che col tempo le cose si sistemino.
Il buon funzionamento di tutto il software concepito prima di PipeWire in Fedora Jam dimostra comunque che chi ha prodotto PipeWire ha lavorato bene per garantire retrocompatibilità.
Nell’attesa che anche dove non funziona si arrivi a implementazioni fatte come si deve possiamo divertirci con Fedora Jam, che funziona benissimo, è leggero, svelto e facile da usare: appena installato ci troviamo attrezzatura concentrata sull’audio ma si fa presto ad arricchirlo, se ci serve, anche per grafica e video.
Senza sottovalutare l’alternativa di andare avanti, in attesa di tempi migliori, con ciò che abbiamo usato finora.
Nel manualetto allegato indico, in ogni caso, come PipeWire può essere utilizzato, dove funziona a dovere, per i software Rosegarden e Qtractor,in aggiornamento ai relativi manuali d’uso che si trovano archiviati su questo blog.

pipewire

Rhino Linux: una reinvenzione di Ubuntu

Oltre ad avere derivate così dette ufficiali distribuite da Canonical (Kubuntu, Xubuntu, Lubuntu, Ubuntu Studio, Ubuntu MATE, Ubuntu Budgie e Ubuntu Kylin) Ubuntu costituisce la base di un’altra quarantina di distribuzioni Linux, tra le quali la più famosa è Linux Mint, manutenute e distribuite da altrettante comunità.
Sono tante, forse fin troppe, ma ciò che proviene dalla libertà è sempre gradito.
Sta di fatto che, come si suol dire, se non è zuppa è pan bagnato.
Alcune si presentano meglio di altre, alcune sono più personalizzabili di altre, alcune richiedono meno potenza elaborativa di altre, alcune sono pensate per fare determinate cose più di altre, ma praticamente fanno tutte le stesse cose più o meno nello stesso modo.
Da alcuni mesi ne circola una che spicca per la propria originalità: Rhino Linux.
Dal momento che questa volta c’è veramente qualche cosa di diverso che richiede un certo spazio per essere illustrato, lo faccio nell’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

rhino_linux

 

Scrivere musica con ABC

In un mio manualetto, intitolato “scrittura”, allegato all’articolo “Software libero per scrivere” del febbraio 2015, che si trova archiviato in questo blog, nel Capitolo 3 ho presentato due formidabili strumenti di software libero per scrivere musica, uno funzionante da riga di comando, Lilypond, il cui utilizzo può essere facilitato da un editor, chiamato Frescobaldi, e l’altro funzionante in modo visuale attraverso ampio uso del mouse in una GUI, Muse Score.
In allegato ad un altro articolo del marzo 2022, intitolato “Latex e la musica” si trova un altro manualetto, intitolato “musica_latex”, dove parlo, tra l’altro, di come si possa utilizzare Lilypond in un contesto Latex per scrivere documenti che parlano di musica.
Come strumento per scrivere spartiti musicali lavorando con testo e tastiera il linguaggio Lilypond, di cui ho presentato le impostazioni di base nei citati manualetti, è di una certa difficoltà, difficoltà ovviamente crescente in proporzione alla complessità degli spartiti da scrivere, ma i risultati sono eccellenti e degni della più alta professionalità tipografica.
Sempre nel mondo del software libero abbiamo un’alternativa a Lilypond, che utilizzando un linguaggio forse un tantino semplificato rispetto a Lilypond, porta a risultati comunque di tutto rispetto, peraltro impiegando risorse risibili: basta infatti avere sul computer un paio di file che complessivamente occupano circa 3 MB.
Sto parlando di ABC notation, cui dedico l’allegato manualetto, che contiene quanto necessario e sufficiente per fare qualche cosa di non troppo difficile, tanto per cominciare.
Al solito, il manualetto è scaricabile, stampabile e distribuibile senza problemi.
abc_notation

Code::Blocks, ingiustamente dimenticato

Ho un nipote che ha recentemente avviato un corso universitario di informatica durante il quale verrà utilizzato il linguaggio C++.
L’insegnante ha consigliato gli allievi di dotarsi di un sistema operativo Linux e, per quanto riguarda il linguaggio C++, dell’editor Visual Studio Code.
Mentre trovo lodevole il primo consiglio non riesco a comprendere la logica del secondo.
Non mi pare infatti giusto mischiare il più bel sistema operativo del mondo con un software Microsoft, che sarebbe ormai meglio chiamare Macrosoft, visto che tutto quello che esce da questa azienda è inutilmente gigantesco e richiede sempre più risorse (da qui, ovviamente, la preinstallazione di Windows su tutti i personal computer: dopo due/tre anni di sistema operativo Windows o sei un mago o cambi il computer).
Anche perché, nel caso specifico, c’è un’ottima alternativa che si chiama Code::Blocks.
Rispetto a Visual Studio Code, che, già pesante per sé stesso, per darci la code completion deve essere ulteriormente arricchito dell’estensione C/C++, occupa meno di un decimo dello spazio su disco, richiede metà RAM, fa la code completion senza bisogno di estensioni e, con qualche estensione, può fare molte cose di più di ciò che fa Visual Studio Code.
A questo gioiello dedico l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

code_blocks

Intelligenza artificiale libera

Il 2023, che sta per finire, è stato l’anno in cui si è creata la diffusa consapevolezza dell’esistenza dell’intelligenza artificiale.
Da tempo esistono robot più o meno “intelligenti”, da tempo esistono automobili che correggono lo sterzo se ci avviciniamo troppo alla riga bianca senza avere attivato la freccia, ma, nell’era delle chat, ci voleva un robot che chattasse con noi per dimostrare al di là di ogni dubbio che l’intelligenza artificiale è con noi.
Indubbiamente l’azione dei robot e la correzione dello sterzo possono essere visti come perfezionamenti di automatismi su base meccanica che nulla hanno a che vedere con l’intelligenza artificiale, anche se non è vero.
Ma quando siamo di fronte ad una macchina che risponde a una nostra domanda, ad una macchina che trasmette pensiero, non abbiamo più dubbi che si tratti di intelligenza e persino tendiamo a dimenticare che si tratta comunque di intelligenza artificiale, frutto di elaborazioni in tutto simili a quelle da cui deriva la correzione dello sterzo.
Si scatenano in questo modo discussioni che portano fuori dalla realtà e allarmismi esagerati su ciò che potrà succedere.
Ma non voglio parlare di questo, anche perché c’è chi lo fa meglio di me. Basti leggere il gustosissimo libro, da poco uscito, “In principio era ChatGPT” di Mafe de Baggis e Alberto Puliafito, edito da Apogeo.
Per parte mia, in questo blog dedicato al software libero, vorrei solo presentare alcune realizzazioni di intelligenza artificiale basate su software open source e lo faccio nell’allegato opuscolo, liberamente scaricabile, stampabile e distribuibile.

ia_libera

Grafica con Red

Lo scorso mese di ottobre ho proposto un manualetto che illustra le basi del nuovo linguaggio di programmazione Red, limitandomi a come si possano produrre con questo linguaggio programmi console, cioè eseguibili avendo come interfaccia il terminale.
Ma con Red possiamo fare molto anche, e probabilmente molto di più, in campo grafico, sia per arricchire i nostri programmi di interfaccia utente grafica (GUI) sia per disegnare.
A questo dedico l’allegato manualetto, liberamente scaricabile, stampabile e distribuibile.

grafica_red

Red: un linguaggio rivoluzionario

Lo scorso mese di settembre ho parlato di uno dei più vecchi linguaggi di programmazione, il linguaggio LISP.
Oggi parlo dell’ultimo nato, anzi di un linguaggio che, nonostante il suo creatore ci lavori da oltre un decennio, è tuttora in gestazione e non ha ancora avuto un rilascio definitivo stabile: il linguaggio Red.
Dal momento che pare siamo alla vigilia di questo rilascio e che quanto è già disponibile ci consente di capire che cosa ci aspetta e di divertirci a fare qualche programmino, dedico l’allegato manualetto al funzionamento di base di questo rivoluzionario linguaggio.
Come sempre il manualetto è liberamente scaricabile, stampabile e distribuibile.

red