Full-hardware implementation of Karplus-Strong algorithm on electronic PS/2 keyboard



Documenti analoghi
Realizzazione siti web. I suoni

MESSA IN SCALA DI ALGORITMI DIGITALI

ESERCIZI - SERIE N.1

Assegnamento di un indirizzo IP temporaneo a dispositivi Barix

Elettronica dei Sistemi Programmabili

Capitolo 4 - Costruire un Tutorial a supporto della didattica sulla scienza del suono: realizzare un timbro armonico costituito da 4 sinusoidi

JDICON 401/501 Programmatore/Regolatore universale Programmatore universale

LABORATORIO DI SISTEMI

SISTEMI DI ACQUISIZIONE

C. P. U. MEMORIA CENTRALE

Esame di INFORMATICA

Elementi di teoria dei segnali /b

Reti sequenziali. Esempio di rete sequenziale: distributore automatico.

ANNO SCOLASTICO PROPOSTE PER I PROGRAMMI E LA PIANIFICAZIONE DEL CORSO DI TECNOLOGIA, DISEGNO E PROGETTAZIONE

10. Funzionamento dell inverter

Informatica per la comunicazione" - lezione 7 -

Circuiti sequenziali e elementi di memoria

GW : OROLOGIO 2 CANALI

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

Audacity Esercitazione 2

Sezione di PWM e Generatore di D/A Converter.

(25 min) Esercizio 1. 1a) Vedi libro e appunti del corso.

Circuiti amplificatori

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

Lab 4 Filtri con amplificatori operazionali

Architettura dei calcolatori II parte Memorie

Manuale IT_VNA by IZ1PMX

INTEGRATORE E DERIVATORE REALI

VIW TRE CANALI LC50A RS232 - RACK

Basetta per misure su amplificatori

Informatica per la Storia dell Arte

Sage Start Archivio file Guida. Dalla versione

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

5 Amplificatori operazionali

Multimedialità e digitalizzazione

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

La progettazione dell interfaccia HCI. Fabio Vitali

Sharpdesk V3.3. Guida all installazione Versione

Guida rapida Polycom SoundStation IP6000

WATER PRINTER. Premessa

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

EasyPrint v4.15. Gadget e calendari. Manuale Utente

Recording Studio Manuale Utente

ELETTRONICA. L amplificatore Operazionale

Organizzazione della memoria principale Il bus

NOTE GENERALI DI PROGRAMMAZIONE icon100

CONTROLLO ELETTRONICO D ARIA CONDIZIONATA. TH540 - Pannello di Controllo

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

VFO esterno per Drake TR4-C di IK0XUH Boatanchors Net di Roma

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

- Limena (Padova) - &HQWUDOH$;,6 MANUALE PER L UTENTE. Centrale mod. AXIS 5. Omologazione IMQ - ALLARME 1 e 2 LIVELLO

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

INFORMATICA, IT e ICT

CASSA AUTOMATICA SelfCASH

FASI DA ESEGUIRE ON-LINE

Architettura hardware

Architettura hardware

Strumenti di misura Servizi Formazione

Guida alla registrazione on-line di un NovaSun Log

GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO

Corso di Elettronica Organizzato dall associazione no-profit Agorà Lesina (FG)

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Deep Time. Manuale Utente v.1.3

PROGRAMMAZIONE DIPARTIMENTO T.E.E.A CLASSE V. (Manutentore Termoidraulico)

Ricevitore Supervisionato RX-24 Dati tecnici

DISCIPLINA TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

GW : ATTUATORE ANALOGICO

MANUALE UTENTE IST0549V2.0

Architettura dei calcolatori I parte Introduzione, CPU

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

ELETTRONICA Tema di Sistemi elettronici automatici Soluzione

A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON ADCS1, ADCS CH2, CH1 E CH GO/DONE... 6 ADON...

A.S. 2015/16 CLASSE 3 AEE MATERIA: ELETTRONICA/ELETTROTECNICA UNITA DI APPRENDIMENTO 1: SICUREZZA ELETTRICA

GUIDA AL PRONTUARIO MOBILE

Dispositivi di rete. Ripetitori. Hub

Gestione di una UART SOFTWARE.

Laboratorio di Informatica

ISTRUZIONI PER L INSTALLAZIONE SOLO MEDIANTE TASTIERA

Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività

MERIDESTER SOFTWARE DI COMUNICAZIONE PER PC

Interfaccia radio ricevente

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

Lezione 7 Sommatori e Moltiplicatori

Istituto tecnico commerciale e per geometri Enrico Fermi

Dino-Lite TrichoScope

DMA Accesso Diretto alla Memoria

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

La memoria centrale (RAM)

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Sch. 1043/422 Sch. 1043/424

Transcript:

Università degli Studi di Trieste Dipartimento di Ingegneria e Architettura Full-hardware implementation of Karplus-Strong algorithm on electronic PS/2 keyboard Prof. Stefano Marsi Raffaele Bernardi r.bernardi.ts@gmail.com Basilio Marco Matessi basix86@gmail.com Hotel Principi di Piemonte Torino

Obiettivo Obiettivo: Realizzare un generatore di suoni digitali Date le disponibilità della scheda DE1, si sfrutta la presenza del codec audio integrato e della porta PS2 per poter comandare il sintetizzatore tramite una tastiera, simulando il funzionamento di una pianola 2

Dalla musica La musica è composta da note di frequenza arbitraria, nel tempo si è consolidato l uso di dodici note (semitoni) per ottava Ogni nota ha una propria frequenza calcolata a partire da una nota fondamentale (la4 a 440Hz) la cui frequenza è stabilita per convenzione Ogni nota è separata dal la4 da un numero intero di semitoni Ogni 12 semitoni (un ottava) si ha un raddoppio di frequenza Pertanto la frequenza di una nota che dista n semitoni dalla fondamentale è data dalla formula: 3

Dalla musica L orecchio umano è in grado di percepire frequenze da circa 20 Hz a circa 20.000 Hz -1 1 2 3 4 5 6 7 8 9 Do 16.35 32.70 65.41 130.81 261.63 523.25 1046.50 2093.00 4186.01 8372.02 Do# 17.32 34.65 69.30 138.59 277.18 554.37 1108.73 2217.46 4434.92 8869.84 Re 18.35 36.71 73.42 146.83 293.66 587.33 1174.66 2349.32 4698.64 9397.27 Re# 19.45 38.89 77.78 155.56 311.13 622.25 1244.51 2489.02 4978.03 9956.06 Mi 20.60 41.20 82.41 164.81 329.63 659.26 1318.51 2637.02 5274.04 10548.08 Fa 21.83 43.65 87.31 174.61 349.23 698.46 1396.91 2793.83 5587.65 11175.30 Fa# 23.12 46.25 92.50 185.00 369.99 739.99 1479.98 2959.96 5919.91 11839.82 Sol 24.50 49.00 98.00 196.00 392.00 783.99 1567.98 3135.96 6271.93 12543.85 Sol# 25.96 51.91 103.83 207.65 415.30 830.61 1661.22 3322.44 6644.88 13289.75 La 27.50 55.00 110.00 220.00 440.00 880.00 1760.00 3520.00 7040.00 14080.00 La# 29.14 58.27 116.54 233.08 466.16 932.33 1864.66 3729.31 7458.62 14917.24 Si 30.87 61.74 123.47 246.94 493.88 987.77 1975.53 3951.07 7902.13 15804.27 4

alla generazione dei campioni Constatato che ad ogni nota corrisponde un segnale di frequenza definita, associamo ad ogni nota una sinusoide di tale frequenza Si utilizza un analizzatore di spettro (in questo caso il software Visual Analyzer ) per verificare la correttezza dei segnali 5

alla generazione dei campioni Passo successivo: Suono puro Suono reale L algoritmo di Karplus-Strong(*) permette di simulare suoni di corde plettrate, simil chitarra (*) pubblicato nel 1983 da Kevin Karplus e Alex Strong sul Computer Music Journal (MIT Press) nell articolo Digital synthesis of plucked-string and drum timbres 6

Algoritmo di Karplus-Strong Funzionamento: - Si genera una forma d'onda d innesco (di N campioni). Nell'algoritmo originale è stato utilizzato un rumore bianco, ma può essere usato un qualunque segnale a banda larga, come un ciclo di dente di sega o onda quadra; - Questo segnale viene posto in uscita e contemporaneamente reinserito nel circuito tramite una linea di ritardo lunga N campioni; - L'uscita della linea di ritardo è alimentata attraverso un filtro. Il guadagno del filtro deve essere inferiore ad 1 a tutte le frequenze, per non portare l'uscita della retroazione positiva a divergenza; - L'uscita del filtro viene posta sia in uscita, che re-immessa nel loop di ritardo. 7

Idea di base TASTIERA SWITCH SCANCODE riconoscimento pressione tasto ON/OFF lettura flash ADDRESS FLASH #1 Karplus-Strong do3 #2 Karplus-Strong do3# #36 Karplus-Strong si5 SAMPLE SAMPLE SAMPLE SAMPLE sommatore SAMPLE LED VU meter AUDIO OUT CODEC AUDIO configuratore codec audio 8

La tastiera musicale La tastiera così realizzata implementa 3 ottave (36 semitoni) dal do3 (130.81 Hz) al si5 (987.77 Hz) 9

La tastiera musicale \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / 1 2 4 5 6 8 9? ^ ù do3# re3# fa3# sol3# la3# do4# re4# fa4# sol4# la4# / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / tab Q W E R T Y U I O P è * invio do3 re3 mi3 fa3 sol3 la3 si3 do4 re4 mi4 fa4 sol4 la4 si4 / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ \ / \ / \ / \ / \ / A S F G H do5# re5# fa5# sol5# la5# / \ / \ / \ / \ / \ \ / \ / \ / \ / \ / \ / \ / > Z X C V B N do5 re5 mi5 fa5 sol5 la5 si5 / \ / \ / \ / \ / \ / \ / \ 10

La tastiera PS2 Funzionamento: La pressione ed il rilascio di un tasto innesca l invio del relativo scancode Se lo scancode ricevuto è associato ad uno dei tasti visti precedentemente, il relativo blocco avvia la generazione dei campioni La pressione dei rimanenti tasti viene ignorata Possibilità di poter usare simultaneamente più tasti Accordi 11

La tastiera PS2 - Keyboard Ghosting L utilizzo simultaneo di più tasti introduce il problema del keyboard ghosting (rollover key) La tastiera è organizzata elettricamente come una matrice di linee che si incrociano Ad ogni intersezione è posizionato un interruttore su cui si trova un tasto La pressione del tasto chiude l interruttore All interno della tastiera è presente un microcontrollore che eseguendo periodicamente una scansione riga/colonna individua il tasto premuto/rilasciato ed invia il relativo scancode tramite il bus PS2 12

La tastiera PS2 - Keyboard Ghosting Conseguenza: le seguenti configurazioni sono indistinguibili! L aggiunta di linee o la sostituzione della struttura a matrice con una serie di transistor potrebbero rappresentare una soluzione. In commercio esistono tastiere dedicate al gaming che non presentano il problema (full n-key rollover) 13

La generazione dei campioni ENABLE #1 random BURST #1 Karplus Strong SAMPLE #2 RAM M4K Un modulo condiviso dai vari blocchi genera numeri casuali tramite un registro a scorrimento a retroazione lineare, necessari all innesco dell algoritmo #36 Alle 36 note corrispondono altrettanti blocchi (2 sottoblocchi, uno implementa l algoritmo, l altro è un buffer per il salvataggio dei campioni necessario alla retroazione ) che implementano l algoritmo 14

La generazione dei campioni Questi 36 blocchi differiscono tra di loro per il parametro N che corrisponde alla lunghezza della linea di ritardo e di conseguenza anche alla dimensione del buffer con N f CAMPIONAMENTO f NOTA f CAMPIONAMENTO = 48kHz Hz N 3 4 5 3 4 5 Do 130.81 261.63 523.25 367 183 92 Do# 138.59 277.18 554.37 346 173 87 Re 146.83 293.66 587.33 327 163 82 Re# 155.56 311.13 622.25 309 154 77 Mi 164.81 329.63 659.26 291 146 73 Fa 174.61 349.23 698.46 275 137 69 Fa# 185.00 369.99 739.99 259 130 65 Sol 196.00 392.00 783.99 245 122 61 Sol# 207.65 415.30 830.61 231 116 58 La 220.00 440.00 880.00 218 109 55 La# 233.08 466.16 932.33 206 103 51 Si 246.94 493.88 987.77 194 97 49 15

Le basi musicali e il VU meter Sono inoltre presenti due basi musicali precaricate, memorizzate sulla memoria flash della scheda con lo stesso formato dei campioni, PCM a 16 bit, 48kHz, mono Mediante due switch è possibile scegliere se suonare con o senza accompagnamento e, nel primo caso, con quale base Sui display a 7 segmenti si visualizza la configurazione in uso I 18 led della scheda rappresentano l intensità del segnale audio prodotto 16

Grazie per l attenzione 17