Strumenti hardware e software per l elaborazione di segnali audio Laboratorio per l Elaborazione Multimediale a.a. 2009 2010 Danilo Comminiello
Sommario PARTE I: Strumenti Hardware Sistemi e dispositivi di acquisizione audio PARTE II: Strumenti Software NU Tech: Un software versatile per il trattamento dei segnali in tempo reale Strumenti hardware e software per l elaborazione di segnali audio 2
PARTE I Strumenti hardware SISTEMI E DISPOSITIVI DI ACQUISIZIONE AUDIO
Sommario PARTE I Sistemi e dispositivi di acquisizione audio Descrizione degli strumenti hardware utilizzati nelle acquisizioni audio: Digital Audio Workstation Microfoni a condensatore Interfacce audio ADAT e MADI Strumenti hardware e software per l elaborazione di segnali audio 4
Digital Audio Workstation Una digital audio workstation (DAW) è un sistema elettronico progettato per la registrazione, l'editing e la riproduzione dell'audio digitale. Il termine "DAW" semplicemente si riferisce a una combinazione di software per la registrazione multitraccia e di hardware audio di alta qualità quest'ultimo deve avere la capacità di convertire il segnale audio tramite un convertitore analogico digitale. Tipi di DAW: DAW basate su computer DAW integrate Strumenti hardware e software per l elaborazione di segnali audio 5
Interfacce audio E il cuore di un sistema DAW basato su computer insieme al PC stesso. La Scheda audio è la periferica che converte l'audio analogico di microfoni, strumenti musicali o sorgenti analogiche in digitale, ma allo stesso tempo permette di convertire le elaborazioni digitali del PC in analogico. Una scheda audio professionale ha caratteristiche di norma superiori rispetto ad una di fascia economica, soprattutto per quanto concerne la qualità dei propri convertitori A/D per la registrazione e D/A per la riproduzione. Le interfacce più accessoriate sono dotate di alimentazione phantom per il supporto di microfoni a condensatore. Strumenti hardware e software per l elaborazione di segnali audio 6
Microfoni a condensatore Sfrutta l effetto capacitivo: le due lamine che compongono la capsula sono sollecitabili dalla variazione di pressione che un suono provoca nel mezzo di propagazione (aria). Può essere ritenuto qualitativamente migliore perché più sensibile ai transienti e alle sollecitazioni. Tuttavia la capsula non ha un grande rendimento viene aggiunto nel corpo del microfono un preamplificatore preposto ad alzare il livello del segnale generato, il quale però necessita di essere alimentato. l preamplificatore rappresenta però anche il punto debole di un microfono a condensatore perché se di bassa qualità può indurre saturazioni, distorsioni e introdurre rumore. Strumenti hardware e software per l elaborazione di segnali audio 7
Alimentazione Phantom Tecnica di alimentazione phantom: consiste nel far passare l'alimentazione elettrica lungo gli stessi cavi audio in cui passa il segnale. Utilizzata per alimentare i microfoni a condensatore che producono segnali elettrici troppo bassi e che quindi necessitano di un preamplificatore per far sì che l'effetto del rumore sul segnale che passa nel cavo sia trascurabile. Il nome "phantom" derivadalfattochetalealimentazioneèstatastudiataper essere totalmente invisibile ai dispositivi che non ne fanno uso. Le schede audio di fascia medio alta hanno ingressi audio provvisti di alimentazione phantom a 48 V. Strumenti hardware e software per l elaborazione di segnali audio 8
Connettori XLR Comunemente chiamato connettore Cannon viene usato per la terminazione di linee audio bilanciate (ma spesso anche per segnali sbilanciati). È praticamente l'unico tipo di connettore impiegato per il collegamento di microfoni, mentre per i segnali a livello di linea è più comunemente usato il jack stereo. Strumenti hardware e software per l elaborazione di segnali audio 9
Interfaccia ADAT L'Alesis Digital Audio Tape, anche detto ADAT, introdotto inizialmente nel 1991, nacque allo scopo di registrare contemporaneamente otto tracce di audio digitale per volta. Grazie alla sincronizzazione di diversi dispositivi ADAT è possibile registrare un elevato numero di tracce audio. Strumenti hardware e software per l elaborazione di segnali audio 10
Interfaccia ADAT Il termine "ADAT" è usato anche come abbreviazione per il protocollo ADAT Lightpipe, capace di trasferire 8 tracce su una singola fibra ottica. L'ADAT è un formato professionale e, nonostante sia stato progressivamente sostituito dalle Digital Audio Workstation (DAW), è ancora ampiamente usato nell'industria della registrazione discografica. Grazie alla sua grande affidabilità, tale standard è ancora usato a scopo scientifico. Strumenti hardware e software per l elaborazione di segnali audio 11
Interfaccia MADI Il sistema MADI (Multi channel Audio Digital Interface) è un riconosciuto protocollo standard per la trasmissione di segnali audio, che definisce il formato dei dati e le caratteristiche elettriche di un interfaccia in grado di trasferire un gran numero di canali audio digitali. Il link MADI è definito come un mezzo di trasporto di 56 canali (AES 10 1991). Il formato viene trasmesso su coassiale, fibra ottica o cavo CAT5. Strumenti hardware e software per l elaborazione di segnali audio 12
Interfaccia MADI Lo standard MADI supporta 28, 56 o 64 canali con sampling rate fino a 96kHz e risoluzione fino a 24 bit/canale. Vantaggi rispetto ad altri protocolli e standard di trasferimento digitale (AES3, ADAT, TDIF, S/PDIF, CobraNet,...): numero elevato di canali su una stessa linea; uso di coassiali o fibre ottiche (per il trasferimento su tratte estremamente lunghe); sistema punto punto, senza necessità di indirizzamento dei canali o strutture dati a pacchetto; bassa latenza. Strumenti hardware e software per l elaborazione di segnali audio 13
PARTE II Strumenti software NU Tech: Un software versatile per il trattamento dei segnali in tempo reale
Sommario PARTE II NU Tech: il framework Cos è NU Tech? Il ciclo di sviluppo in NU Tech La struttura logica del framework L ambiente di sviluppo in NU Tuch Applicazioni tipiche ed esempi NU Tech: il framework 15
Cos è NU Tech? NU Tech è una potente piattaforma software per l implementazione real time di algoritmi DSP in scenari multicanale. NU Tech lavora su un comune PC. NU Tech si basa su una semplice architettura di plug in che consente all utente di connettere tra loro blocchi specifici. Ciascun blocco, chiamato NUTS (NU Tech Satellite), viene creato precedentemente in linguaggio C++. Un interfaccia ASIO 2.0 consente di controllare con precisione i tempi di latenza. NU Tech: il framework 16
Il ciclo di sviluppo in NU Tech NU Tech: il framework 17
Il prodotto audio realizzato con NU Tech La scelta di una soluzione hardware è un tema chiave nello processo generale di sviluppo. Processore on chip è l opzione naturale. Influenza le fasi di system design e code generation (e.g. Code ComposerStudio, VisualAudio). Dispositivo audio PC consente di separare la fase algoritmica dal porting finale. L intero processo di design è più veloce e flessibile. NU Tech: il framework 18
La struttura logica del framework (1/2) NU Tech: il framework 19
La struttura logica del framework (2/2) Primo livello: interfaccia con la scheda audio si occupa degli stream dei canali di I/O della scheda audio tramite un accurata gestione dei tempi di latenza. Secondo livello: architettura plug in permette all utente di sviluppare i propri algoritmi attraverso schemi grafici che riproducono la struttura MIMO della scheda audio. NU Tech può essere pensato come un ambiente di sviluppo per l interazione di algoritmi DSP. NU Tech: il framework 20
L interfaccia con la scheda audio del PC Questo primo livello giace fra il framework e la scheda audio. L interfaccia audio è composta da due elementi: il protocollo standard ASIO (Audio Stream Input Output); il driver ASIO. Il driver ASIO gestisce l interazione fra il protocollo e le procedure DSP di alto livello. ASIO garantisce tempi di latenza molto bassi e il vantaggio di essere compatibile con svariate schede audio commerciali. NU Tech: il framework 21
L architettura plug in (1/2) Questo livello presenta due aspetti fondamentali: la Board: un interfaccia grafica che riproduce direttamente la struttura MIMO della scheda audio tramite la quale l utente può definire le interconnessioni fra ingressi e uscite; i NUTSs (NU Tech Satellites): oggetti C/C++ definiti dall utente da inserire all interno della Board. L utente può programmare i suoi algoritmi e considerarli come blocchi operativi dell applicazione DSP progettata. NU Tech: il framework 22
L architettura plug in (2/2) Un applicazione base è il routing I/O rappresentata da una semplice sequenza di interconnessioni. L architettura plug in di NU Tech può essere usata indipendentemente dall hardware dell interfaccia audio, anche per diverse applicazioni non esclusivamente audio; da questo punto di vista NU Tech è molto simile al framework Simulink di Mathworks per la progettazione basata sui modelli. NU Tech: il framework 23
L ambiente di sviluppo in NU Tech NU Tech: il framework 24
NU Tech Satellites (NUTSs) Una NUTS è semplicemente una DLL standard. Ogni NUTS presenta dei pin di ingresso e di uscita che possono essere interconnessi con altre NUTSs. Ciascuna NUTS può avere la propria setting window personalizzabile. La setting window può essere liberamente convertita in una graphical interface per creare strumenti personalizzati. Alcune NUTSs di base sono già disponibili in NU Tech, elencate nella barra dei comandi. NU Tech: il framework 25
Supporto VST Il Virtual Studio Technology (VST) della Steinberg è un interfaccia di integrazione software di sintetizzatori ed effetti audio con sistemi di editor audio. NU Tech supporta i plug in VST. I plug in VST sono mostrati nel VST Tree. I plug in VST possono essere aggiunti sulla board insieme ai NUTSs e connessi liberamente fra loro. I plug in VST appaiono come NUTSs gialle. NU Tech: il framework 26
Real Time Watch: la finestra di traccia Ciascuna NUTS in modo programmato può esporre variabili interne da tracciare durante l esecuzione in tempo reale. Le variabili possono essere anche forzatamente modificate durante la fase di testing dell algoritmo senza necessità di stoppare l applicazione. NU Tech: il framework 27
Gestione dei buffer Questa proprietà è disponibile solamente in ASIO mode. ToolBar >Settings >Driver qui si trova la check box chiamata Software Buffer. Attivando questa proprietà l utente può inserire un valore arbitrario nella casella Software Frame Size. Questa proprietà è molto utile nel caso in cui lo sviluppatore necessiti di una dimensione di buffer diversa da quella fornita dal driver audio. NU Tech: il framework 28
I vantaggi di NU Tech NU Tech permette di testare algoritmi, salvare le proprie configurazioni e utilizzarle nel proprio codice. Il core DPS dell intero progetto può essere riutilizzato in NU Tech senza doverlo riprogettare dall inizio. Le NUTSs sono DLL standard: facilità di aggiornamento. NU Tech consente di creare la propria applicazione a distribuirla come un eseguibile. NU Tech: il framework 29
Target di applicazione Applicazioni tipiche: Scenari di acquisizione multi microfono Testing di algoritmi Piattaforme dimostrative per le prime fasi dello sviluppo Strutture complesse di routing Esempi tipici di scenario: Beamforming Applicazioni line array Cancellazione di eco acustica Sistemi audio multicanale per l automotive NU Tech: il framework 30
Esempio: cancellazione di eco acustica design Schema a blocchi del cancellatore di eco acustica. La prima fase è quella di system design in cui vengono formulati i requisiti del sistema e scelti gli algoritmi opportuni che soddisfino le specifiche. NU Tech: il framework 31
Esempio: cancellazione di eco acustica implementazione Vantaggi principali: Sviluppo veloce Nessun bisogno di hardware specifico Riuso del codice (NUTSs precedentemente implementate) Rapido utilizzo (creazione dell EXE e distribuzione) NU Tech: il framework 32
Esempio: cancellazione di eco acustica convalida NU Tech: il framework 33
Esempio 2: riproduzione di un file video NUDiSh: gestisce semplicemente I file video ed è in grado di dividere I flussi audio e video fra I diversi pin. E basato sulla tecnologia Microsoft DirectShow. Bisogna avere I codec microsoft istallati sul pc in quanto NU Tech non li fornisce. VRender: non è nient altro che un render video che consente di vedere lo streaming video. NU Tech: il framework 34
Esempio 2: riproduzione di un file video procedura 1. Lanciare NU Techin Trigger Mode. 2. Inserire un NUDiSh NUTS sulla board (doppio click sull elemento NUDiSh nel NUTSs Tree View o semplicemente fare un drag and drop). 3. Doppio click sul nuovo NUTS per chiamare la sua GUI. 4. Click su Open per selezionare il file video da riprodurre. 5. In base alle proprietà del file selezionato apparirà un certo numero di pin. La GUI riassumerà tutte le informazioni utili degli stream (numero di canali, ecc ). 6. Inserire un VRender NUTS (sitrova nel NUTSTree). 7. Connettere il primo pin del NUDiSh al pin di ingresso del VRender; doppio click per aprire la GUI. 8. Click su Start sul Transport Panel ed eccofatto! 9. Se si vuole ascoltare cosa accade basta inserire un AudioTrigger NUTS e scegliere un driver audio stoppando la riproduzione. Connettere i pin audio del NUDiSh al NUTS AudioTrig e fare attenzione a settare la stessa frequenza di campionamento dello stream audio. NU Tech: il framework 35
Utilizzare il sito di NU Tech Sito internet di NU Tech: http://www.nu tech dsp.com/ Registrazione Download del software NU Tech Aggiornamento del software NU Tech e dei NU Tech Satellites Download dell NDK Accesso al forum e alle FAQ Download del materiale NDK extras NU Tech: Un software versatile per il trattamento dei segnali in tempo reale 36
Strumenti hardware e software per l elaborazione multimediale Laboratorio per l Elaborazione Multimediale a.a. 2009 2010 Danilo Comminiello danilo.comminiello@uniroma1.it Dip. INFOCOM Laboratorio ISPAMM Strumenti hardware e software per l elaborazione di segnali audio 37