Visualizzazione post con etichetta MuseScore. Mostra tutti i post
Visualizzazione post con etichetta MuseScore. Mostra tutti i post

martedì 7 maggio 2019

Pdf ed Audiveris

Audiveris riesce ad importare in modo nativo i file pdf ma spesso ha problemi con le risoluzioni al di sotto dei 300 dpi



Un trucco e' quello di usare ImageMagick per convertire il pdf in png forzando una risoluzione di 300 dpi (anche se non e' nativa)

convert -density 300 ArchieGeneAmmonsC.pdf -quality 90 ArchieGeneAmmonsC300.png

venerdì 3 maggio 2019

OCR di spartiti con Audiveris su Debian Testing

Per evitare di scrivere a mano gli spartiti con Musescore un sistema comodo (dopo essere riusciti ad installarlo....) e' quello di usare Audiveris come OCR musicale



il primo problema che si pone e' che Audiveris 5 non risulta compatibile con Tesseract 4 (la cosa e' subdola perche' Audiveris sembra funzionare ma di fatto non genera file di esportazione)
Per prima cosa si deve quindi compilare dai sorgenti Tesseract 3 partendo dalla dipendenza con la libreria Leptonica che si scarica da qui
./configure
./make
./make install
./ldconfig

si passa quindi a compilare Tesseract

git clone https://github.com/tesseract-ocr/tesseract.git
git checkout 3.04
./configure
./make
./make install
./make training
./make training-install

non e' finita...perche' devono essere aggiunti i file delle lingue (che sono differenti tra la versione 3 e la 4!!!!) e che si scaricano da qui. Io ho aggiunto solo l'inglese eng.traineddata

a questo punto si inizia l'installazione di Audiveris

git clone https://github.com/Audiveris/audiveris.git

attenzione: per usare OpenJDK 11 si deve fare il checkout del ramo Java11 altrimenti si deve usare JDK 7 od 8

git checkout java11

si lancia quindi il programma Audiveris indicando dove si trovano i file di training della lingua

TESSDATA_PREFIX=/home/luca/tesseract/tessdata/ ./gradlew run

Si carica quindi il file immagine di uno spartito, si clicca la doppia freccia blue (oppure Book/Transcribe Book) ed infine Book/Export Books As per salvare in formato mxl (Music XML)

A questo punto si puo' aprire Musescore ed importare il file e correggere eventuali problemi di interpretazione del software




martedì 13 giugno 2017

Bluetooth lag

In questi giorni mi e' venuta la malsana idea di utilizzare MuseScore su tablet e di svincolarmi dalla dipendenza del filo delle cuffie usando degli auricolari QCY7



Sono bastati 3 secondi per accorgermi della mancanza di sincronia tra la nota evidenziata sullo spartito di Musescore ed il corrispettivo suono della nota in cuffia...un ritardo quantificabile quasi in mezzo secondo
Il problema era identico sia su Ios che su Android ma non si presentava, a parita' di cuffie, su PC

Da una breve indagine ho scoperto sul portatile il codec in uso era Aptx, un sistema proprietario con qualita' CD, mentre sui sistemi operativi per telefoni e tablet e' in uso A2DP che crea il fastidiosissimo lag dell'audio


Come risolvere la cosa ??
Android introdutta' il supporto Aptx con la nuova versione O e sembra che Lineage OS abbia gia' incluso nel suo sistema questo driver. Stesso discorso per IOS; niente da fare per adesso e si aspetta fiduciosi il nuovo IOS

Visto che sono un felice possessore di Nexus 5X ho potuto installare la Developer Preview di Android O e devo ammettere che il lag non e' scomparso ma si e' ridotto in modo tale da non essere piu' fastidioso...a parte il fatto che il sistema operativo ogni decide di andare in reboot da solo ma del resto e' una preview :<

venerdì 14 agosto 2015

Musescore e Songbook


Desktop
La versione desktop del programma puo' essere scaricata all'indirizzo https://musescore.org/it,e' opensource e multipiattaforma con sorgenti disponibili



Creando un nuovo spartito (File/Nuovo) viene chiesto il titolo, l'autore, lo o gli strumenti da usare, l'armatura di chiave,l'unita' di tempo (3/4, 4/4 per esempio) ed il numero di battute

Per inserire le note (modalita' di edit) si preme il tasto N oppure l'icona
Le note possono essere inserite dopo aver cliccato nella barra seguente indicando la durata direttamente posizionandole sul pentragramma

per inserire una pausa si entra in modalita' edit, si seleziona la lunghezza della nota e poi si clicca 


Attenzione : il programma in corso d'opera cerchera' di far sempre tornare la lunghezza della battuta. Per esempio se si ha una battuta in 4/4 e si e' aggiunta nota (per esempio una minima 1/2) aggiustera' il resto della battuta con una pausa di minima (1/2)

Per aggiungere elementi quali Articolazioni ed Abbellimenti (come staccati, crescenti ed altro) si deve uscire dalla modalita' edit (N) e si trascina l'elemento sulla nota interessata (cosi' come per le alterazioni non in chiave)

In automatico Musescore tende a raggruppare le note (per esempio di solito raggruppa le crome a  due a due) . Se non si e' soddisfatti si puo' usare in Tavolozze i comandi Proprieta' Gruppo note. Per raggruppare per esempio di clicca la seconda icona da sinistra nella file in alto e si trascina sulla seconda nota tra quelle che si devono raggruppare




E' possibile effettuare la trasposizione automatica della tonalita' utilizzando il menu' Note/Trasporto
Per esempio dalla tonalita' originale in Do maggiore



a Sol Maggiore



Una volta completato lo spartito (od anche in corso d'opera) si puo' ascoltare il brano con i tasti
(il play corrisponde al tasto spazio sulla tastiera)
Musescore viene distribuito con una libreria di suoni midi. Se si vuole un suono migliore si puo' scaricare una libreria SF2 piu' avanzata come quella per esempio FluidR3 GM2-2.SF2 (144 Mb!!)  reperibile qui e qui
Per installare la nuova libreria si devono aggiornare le Preferenze



ed in seguito Visualizza/Sintetizzatore/Aggiungi


(Curiosamente sono costretto ad impostare i suoni personalizzati ogni volta che apro il programma perche' si perdono le impostazioni)


Songbook
L'applicazione Musescore per Android ed IOS e' solo un player e visualizzatore dei file .mscz. Ne esistono due versioni: Musescore e' un programma che non permette di visualizzarea gli spartiti salvati sul proprio dispositivo portatile (ha quindi la necessita' del collegamento di rete per scaricare i dati dal sito di Musescore dopo aver fatto il login) e Songbook che permette di usare i propri file mscz.





Su Songbook non esiste la possibilta' di avere un file manager. Per aggiungere i propri spartiti si deve

  • su Android con un file manager si clicca sul .mscz e si indica "Apri con" Musescore Songbook
  • su IOS non e' possibile importare i dati mediante ITunes. Il sistema piu' semplice e' allegare i file degli spartiti anche una mail e poi "Apri con" l'allegato verso Musescore Songbook
Un paio di problemi: 
  • Solo su IOS l'applicazione portatile permette solo la modalita' portrait. Se si ruota lo schermo lo spartito non viene ridimensionato (su Android e' tutto a posto)
  • Esistono solo il tasto Play ed il tasto Ritorna all'inizio. Su brani lunghi questa e' una notevole limitazione ed esiste un trucco non immediato. Si deve premere sulla nota da cui si vuole partire in modo prolungato fino a che non viene emesso il suono della nota. A questo punto si puo' premere Play e l'esecuzione inizia dal punto prescelto


venerdì 7 agosto 2015

OCR di spartiti musicali con Audiveris

Come principiante nello studio della musica il problema principale e' la lettura dello spartito.
Esiste il solfeggio ma la soluzione piu' veloce e' quella di usare un programma di editing musicale (come Musescore) per "sentire" come suona uno spartito prima di provare con lo strumento vero e proprio

Il sistema funziona ma e' piuttosto lungo e tedioso trascrivere partiture anche semplici anche perche' la scrittura musicale (della musica classica, la musica pop e' un altro mondo) e' molto densa di informazioni

Ho trovato pero' una scorciatoia ovvero l'utilizzo del servizio Audiveris, uno scanner OCR specializzato in trascrizioni di notazione musicale. Questo servizio e' di tipo online e si puo' utilizzare sia su https://audiveris.kenai.com/ che tramite https://musescore.com/import


Per una prova ho usato il primo esercizio dei 20 Studi per flauto di Gariboldi (in formato pdf. da notare anche il watermark che sicuramente confonde l'OCR)

Originale in PDF

Dopo il riconoscimento OCR viene generato un file in MusicXML o direttamente in MSCZ (formato di Musescore). Come si vede il risultato e' ottimale a parte un problema di impaginazione sulla battuta 29 ed il tempo che invece di essere un 4/4 viene letto come 2/2 (tempo tagliato)

veramente non male

giovedì 28 maggio 2015

Hack a keyboard

Hack nel senso di migliorare....
Sto lavorando ad un progetto per modificare una tastiera Usb per renderla un footswitch per cambiare pagina su uno spartito elettronico di MuseScore (cio' non mi rendera' sicuramente un miglior musicista ma sicuramente piu' geek)


L'elettronica di una tastiera USB e' molto ridotta ed e' concentrata sullo su una schedina, il resto e' solo una matrice di fili per arrivare alla posizione dei tasti.
Il connettore e' di tipo a 26 piste divise in due sezioni da 13. Cortocircuitando una coppia di pista si simula la pressione di un tasto


Le tastiere generano di solito un codice di scansione per i tasti standard e due codici di scansione per i tasti speciali (per esempio i tasti di espansione aggiungono il codice 224 mentre il tastierino numerico ha come predecessore il codice 0)


A me interessava cercare la combinazione PageUp e PageDown.
Cosi' mediante il seguente programmino in Python mi sono messo a cortocircuitare coppie di piste e trascrivere su una griglia il risultato
------------------------------------------------------
from msvcrt import getch
import sys
z_old = "a"
while True:
    z = getch()
    # escape key to exit
    if ord(z) == 27:
        break
    if (z != z_old):
        print ord(z)
        sys.stdout.flush()
        z_old = z
------------------------------------------------------


Con una buona dose di fortuna ho trovato quasi subito la combinazione giusta
13/18 : PageUp
13/19 : PageDown

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...