1 / 15

JAZZ CHORDS INTERPRETER Interprete per il linguaggio delle sigle degli accordi jazz

JAZZ CHORDS INTERPRETER Interprete per il linguaggio delle sigle degli accordi jazz. LINGUAGGI E MODELLI COMPUTAZIONALI LS aa 2008/2009. Giannicola Spezzigu 0000197799. Accordi e il sistema delle Sigle.

joshua
Télécharger la présentation

JAZZ CHORDS INTERPRETER Interprete per il linguaggio delle sigle degli accordi jazz

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAZZ CHORDS INTERPRETER Interprete per il linguaggio delle sigle degli accordi jazz • LINGUAGGI E MODELLI COMPUTAZIONALI LS • aa 2008/2009 • Giannicola Spezzigu • 0000197799

  2. Accordi e il sistema delle Sigle • Sistema temperato: l’ottava è suddivisa in 12 parti uguali, detti semitoni. Perciò i suoni musicali sono 12 ( e non 7!!). • Posso formare accordi a partire da ognuno di essi. • Posso costruire un accordo al max di 12 suoni. • Accordo: sovrapposizione di 3 o più suoni • Ogni sigla denota un accordo, ossia i suoni da cui esso è formato note in inglese: C = do D = re E = mi F = fa G = sol A= la B = si Esempi di sigle: • Sigla C : indica l’accordo di C maggiore, formato dai suoni C, E, G • Il sistema è intricato e presenta diverse regole: può essere difficile per l’allievo inesperto interpretare le sigle nel modo corretto. • Sigla C7: indica l’accordo di C settima dom, formato dai suoni C, E, G, Bb • Sigla CMA7(add13): indica l’accordo di C maggiore - settima maggiore con 13ma aggiunta. E’ formato dai suoni: C, E, G, A, B • Sigla Bb(add b9 add 13): indica l’accordo di Bb maggiore con 9na e 13ma bemolle aggiunta. E’ formato dai suoni: Bb, D, F, Gb, C

  3. SCOPO DEL LAVORO Realizzazione di un interprete per le sigle degli accordi jazz • L’idea è quella di un sistema software di supporto all’allievo di armonia • Data una sigla deve tradurla nei suoni che compongono l’accordo • Deve poter suonare l’accordo (ear training)

  4. Grammatica EBNF <accordo> ::= <tonica> [<caratteristica>] [<estensione>] [<sus>] [<Lpar>( <specificazione>)+ <Rpar>] <specificazione> ::= <intervallo Alterato> | <aggiunta> | <omissione> | <MagSette> <caratteristica> ::= <MagSimbol> | <minSimbol> token <sus> ::= sus | sus4 <tonica> ::= <nota> [ <alterazione> ] <estensione> ::= <intervallo> | 7 |<otherextension> token <Lpar> ::= ( token <Rpar> ::= ) <aggiunta> ::= add ( [ <alterazione>] <intervallo>| <MagSette> ) <intervallo Alterato> ::= <alterazione> <intervallo> <omissione> ::= <omit> (<intervallo>|7 ) <MagSette>::= <MagSimbol> 7 token <nota> ::= C | D | E | F | G | A | B <alterazione>:: = # | b token <MagSimbol> ::= Ma | MA | Maj <minSimbol> ::= m | mi | min token <intervallo> ::= 2| 3 | 4 | 5 | 6 | 9 | 11 | 13 <otherextension> ::= 6/9| alt | 7alt | 0 | 07|dim <MagSette>::= <MagSimbol> 7 token <omit> ::= no | omit <intervallo> ::= 2| 3 | 4 | 5 | 6 | 9 | 11 | 13 token <alterazione>:: = # | b <intervallo> ::= 2| 3 | 4 | 5 | 6 | 9 | 11 | 13 • token • <alterazione>:: = # | b • <intervallo> ::= 2| 3 | 4 | 5 | 6 | 9 | 11 |13 token <MagSimbol> ::= Ma | MA | Maj token <MagSimbol> ::= Ma | MA | Maj

  5. Grammatica (osservazioni) • la grammatica è di tipo 2 • Secondo la classificazione di Chomsky, la grammatica è di tipo 2 in quanto le produzioni non sono regolari <accordo> ::= <tonica> [<caratteristica>] [<estensione>] [<sus>] [<Lpar>( <specificazione>)+ <Rpar>] • il linguaggio generato è di tipo 3 <tonica> ::= <nota> [ <alterazione> ] <caratteristica> ::= <MagSimbol> | <minSimbol> <estensione> ::= <intervallo> | 7 |<otherextension> Es: trasformando in BNF <tonica>:= <nota> <tonica>:= <nota><alterazione> SS non disgiunti!! • la grammatica è sostanzialmente LL(1) • Non è presente self-embedding,quindiil linguaggio generato dalla grammatica è di tipo 3 <specificazione> ::= <intervallo Alterato> | <aggiunta> | <omissione> | <MagSette> <intervallo Alterato> ::= <alterazione> <intervallo> <aggiunta> ::= add ( [ <alterazione>] <intervallo>| <MagSette> ) Il problema è solo apparente, raccogliendo a fattor comune: <tonica>:= <nota><X> <X>:= ε | <alterazione> Il linguaggio è riconoscibile tramite analisi ricorsiva discendente • LL(1):sono presenti varie produzioni formalmente non LL(1) <omissione> ::= <omit> (<intervallo>|7 ) <MagSette>::= <MagSimbol> 7 <nota> ::= C | D | E | F | G | A | B<sus> ::= sus | sus4 <Lpar> ::= (<Rpar> ::= ) <alterazione>:: = # | b<MagSimbol> ::= Ma | MA | Maj <minSimbol> ::= m | mi | min<intervallo>::= 2| 3 | 4 | 5 | 6 | 9 | 11 | 13 <otherextension> ::= 6/9| alt | 7alt | 0 | 07|dim<omit> ::= no | omit Produzione sostanzialmente LL(1) Idem per le altre produzioni È sempre possibile distinguere la fine di una stringa da una stringa non vuota

  6. Tecnologie & Strumenti • Java 1.6 • JavaCCper la generazione automatica del parser top-down • Java Tree Builderstrumento aggiuntivo a JavaCC per la generazione automatica delle classi necessarie a creare l’albero sintattico e relativo visitor • Eclipse 3.4.0IDE utilizzato per lo sviluppo del progetto • NetBeans 6.5IDE utilizzato solo per la generazione automatica della GUI • jMusicA Queensland University of Technology (QUT) music research project. Libreria Java utilizzata per la gestionedell’outputsonoro e dei MIDI file

  7. Progetto Funzionalità avanzate aggiunte in fase di progetto Funzionalità previste in analisi • Per poter riconoscere sequenze di sigle è stata perciò aggiunta la produzione di top level: <sequenza>::= (<accordo>) +

  8. Archittettura: Package

  9. Classi: struttura

  10. Classi: Interazione

  11. Test & Collaudo • Il collaudo è stato effettuato distribuendo l’applicazione a 5 musicisti Jazz e apportando correzioni, principalmente alle azioni semantiche dell’interprete, sulla base del loro feedback. • Alcuni lo hanno trovato un utile strumento per la didattica • Le classi principali sono state testate manualmente prima ancora di essere inserite nell’applicazione. Ne è stato accertato il corretto comportamento anche dopo l’integrazione con le altre parti del sistema.

  12. DEMO

  13. Sviluppi futuri • Estendere il linguaggio con tutte le possibili notazioni equivalenti • Riproduzione sonora: curare i voicing per ogni specie di accordo • Sequencer: • - poter scegliere fra diversi organici e diversi stili musicali • - poter inserire più accordi per battuta • - poter inserire ripetizioni o ritornelli • Introduzione di un supporto per la creazione di melodie…… • …... Il che farebbe diventare il sistema, non più un semplice interprete di accordi jazz, ma un vero e proprio strumento per la composizione musicale assistita dal computer

  14. riferimenti • Prof. Enrico Denti: corso di Linguaggi e Modelli Computazionali lshttp://edenti.deis.unibo.it/Ling/2008-2009/ • Franco d’Andrea – Attilio Zanchi: “Enciclopedia comparata delle scale e degli accordi” ed. Carish 1991. • QueenslandUniversityofTecnology: http://jmusic.ci.qut.edu.au/index.html

More Related