SlideShare a Scribd company logo
1 of 20
Download to read offline
A cura di Marcello Marino
MT’s ALSA Driver Ravenna/AES67:
Audio contribution Over Ethernet
LinuxDay Napoli 2019
Software Engineer / Audio Software Engineer
AES Italia Official Member
Introduzione all’Audio Networking
● Che cos’è l’Audio Networking?
● Trasmissione o “contribution” su Audio Networks
1. Audio Contribution Over IP (AOIP)
2. Audio Contribution Over Ethernet (AOE)
Perché sono cosi forti:
LIVELLO 1
I Protocolli dell’Audio Networking (L1)
Standard aperti
● AES50
● MaGIC di Gibson
Proprietari
● SuperMAC , un'implementazione di AES50
● HyperMAC, una variante Gigabit Ethernet di SuperMAC
● A-Net di Aviom
● AudioRail
● ULTRANET By Behringer
STACK ISO/OSI
Perché sono cosi forti:
LIVELLO 2
I Protocolli dell’Audio Networking (L2)
Standard aperti
● AES51
● Audio Video Bridging (AVB)
Proprietari
● CobraNet
- RAVE di QSC Audio , un'implementazione di CobraNet
● EtherSound di Digigram
- NetCIRA, EtherSound rinominato da Fostex
● Sneak REAC e RSS di Roland
● SoundGrid di Waves Audio
● dSNAKE di Allen & Heath
STACK ISO/OSI
Perché sono cosi forti:
LIVELLO 3
I Protocolli dell’Audio Networking (L3)
Standard aperti
● AES67 sviluppato dalla Audio Engineering Society
● NetJack infrastruttura di rete per JACK
● RAVENNA di ALC Network
Proprietari
● LiveWire di Axia Audio (divisione di Telos Systems)
● Dante di Audinate
● Q-LAN
● WheatNet-IP di WheatStone Corporation
STACK ISO/OSI
Perché sono cosi forti:AUDINATE DANTE™
● Adan Williams ex-ricercatore per la Motorola, dopo la chiusura della struttura di Ricerca a
Sidney nel 2003 decise di assemblare un team per lo sviluppo di un protocollo per le
audio networks con i fondi del NICTA (National Information and Communication
Technology Australia)
● Nel 2006 fonda la società Audinate Pty Ltd. il cui prodotto commerciale viene presentato
come Dante, una tecnologia che combina hardware e software creando in un’unica
infrastruttura protocollare in contrapposizione a CobraNet (1996) e EtherSound (2001),
prima di allora first-generation tra i protocolli di rete per i dati audio.
● Prima tecnologia AOE Layer-3 sviluppata per trasmettere su LAN dati audio non
compressi (192kHz /32 bits) , multi-canale (1024 canali), a bassa latenza (150
microsecondi)
Perché sono cosi forti:RAVENNA
● Nel 2010, viene presentato alla International Broadcasting Convention di Amsterdam dalla
società ALC NetworX (ex Lawo) , in contrapposizione a Dante (non a caso il suo nome deriva
dalla omonima città in cui Dante fu sepolto) da un gruppo di sviluppatori con la passione per
l’Audio Broadcasting.
● Ravenna si presenta come un protocollo aperto over Ethernet Layer-3 progettato con lo scopo di unificare e risolvere le
esigenze delle trasmissioni broadcast in bassa latenze e di trasparenza di segnale per le radio-emittenti, per gli eventi dal vivo e
per i collegamenti inter-studio su ampia area geografica. Non ha bisogno di hardware dedicato, si appoggia infatti a dispositivi
compatibili con AES67.
● Utilizza standard IEEE come PTP per il clock and il QoS per il Data traffic Managment
● È Open, non ha una licenza proprietaria. Le specifiche tecniche sono infatti pubbliche e accessibili.
● È stato adottata da società Genelec, Merging Technologies e Neumann per la progettazione di dispositivi di riproduzione e
impianti per “audio-reti”
Perché sono cosi forti:AES67: il Peacemaker...
● Presentato e pubblicato ufficialmente nel Settembre 2013 come
protocollo standard di comunicazione high-performance
overIP/overEthernet Layer-3 per le reti audio
● Sviluppato dall’Audio Engineering Society per creare
interoperabilità tra le tecnologie Ravenna, LiveWire Q-SYS,
Dante, CobraNet, EtherSound.
● Si afferma positivamente quando viene utilizzato dalla società
Audinate e accettato anche dai meccanismi di controllo del
protocollo Dante.
● Nel 2018 viene pubblicato l’AES67-2018 , che contiene il PICS (Protocol Implementation Conformance Statement) ossia la
dichiarazione di conformità dell’implementazione del protocollo.
● Oggi è in sviluppo una versione chiamata AES70, che presenta notevoli progressi sul controllo dei segnali di sincronizzazione
(si va verso delle OCA - Open Control Architecture)
Perché sono cosi forti:MERGING TECHNOLOGIES: Linux Driver RAVENNA/AES67
● Nel 2019 la Merging Technologies annuncia sul proprio portale di aver realizzato una
Virtual Sound Card sotto licenza GNU/GPL
● Non solo…. ne distribuisce il repository su Bitbucket per permettere agli sviluppatori di
condividere, modificare e migliorare il codice del driver per le varie distribuzioni..
→ https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm/src/master/
Perché sono cosi forti:Compilazione e configurazione del LKM e del Butler (1)
● Scarichiamo il sorgente tramite shell
admim$ git clone
https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm.git
● Compiliamo tramie il comando make
cd ravenna-alsa-lkm/driver make
● Aggiungiamo il LKM al Kernel con il comando
sudo su cp MergingRavennaALSA.ko /lib/modules/$(uname -r)/kernel/drivers
● Rendiamolo disponibile per il sistema all’avvio (opzionale) inserendolo tra i moduli di etc
sudo insmod MergingRavennaALSA.ko
● Rimappiamo nuovamentei moduli con il comando
sudo depmod
● Andiamo nella directory del Butler e lanciamo il deamon Butler con grant user/file
cd ravenna-alsa-lkm/Butler chmod u+x Merging_RAVENNA_Daemon
./Merging_RAVENNA_Daemon -d
Perché sono cosi forti:Compilazione e configurazione del LKM e del Butler (2)
● Configurazione dei parametri per il Butler
Il Butler ha un file di configurazione: merging_ravenna_daemon.conf
Alcuni parametri
(interface_name ,device_name ,web_app_port ,web_app_port ,tic_frame_size_at_1fs etc) devono
essere correttamente settati prima di lanciare il deamon
● Configurazione del Firewall
La presenza di un Firewall può impedire il lancio del deamon. Bisogna assicurarsi che
le seguenti porte siano settate (i valori sono valori corretti, nulla vieta di sceglierne altri)
Porta TCP del WebServer…………………………: 9090
Porta UDP del mDNS……………………………….: 5353
Porta UDP del AES67 Discovery………………….: 9875
Perché sono cosi forti:La Fase Finale: il “SoundCheck”
● Previa verifica che i moduli ALSA siano tutti configurati e funzionanti, possiamo
monitorare che la nostra Audio Network funzioni correttamente utilizzando i comandi
ALSA:
// Invia rumore rosa sui canali collegati verso gli speakers (-c 2:=Stereo)
speaker-test -D plughw:RAVENNA -r 48000 -c 2
// Riproduce un file wav specificato
aplay -D hw:1,0 -t wav -r 48000 *.wav
// Esegue una registrazione dal primo ingresso microfonico disponibile
arecord -D hw:1,0 -f dat -d 1 -t wav filename.wav
// Crea un loopback PCM tra i dispositivi di playback e capture (*
va
modificato a seconda dell’identificativo hw)
alsaloop -P hw:1,0 -C hw:1,0*
-r 48000 -f S16_LE -l 1 -S 0
Perché sono cosi forti:OVERVIEW (1)
● MergingRavennaALSA.ko (LKM) → GNU GPL License
È il Linux Kernel Module File. Un modulo di un kernel va compilato e aggiunto ai moduli del
Kernel. Si occupa di:
1. Inviare e ricevere i pacchetti audio tramite specifiche del RTP (Real-time Protocol)
2. Scandire i tempi di invio e generare il ciclo di interruzioni hardware
3. Creare una comunicazione (Netlinking) tra il Butler e il Kernel per gli audio streams
● Merging_Ravenna_Deamon (Butler) → OEM / EULA License
È il deamon (“sentinella”) che scandisce la comunicazione e la corretta configurazione tra il
sistema operativo, l’applicazione e l’invio dei dati sulla rete LAN. È responsabile:
1. Collegamento/Riconoscimento degli hosts tramite mDNS Discovery (Multicast DNS) e
SAP Discovery (Session Announcement Protocol)
2. Monitoraggio e gestione della frequenza di campionamento in base ai dispositivi
collegati sulla rete
3. Operazioni tramite interfaccia Web
4. Controllo remoto del volume
Perché sono cosi forti:OVERVIEW (2)
Butler
|-- /webapp
|-- Merging_RAVENNA_Daemon
|-- merging_ravenna_daemon.conf
Common
Contiene le librerie necessarie al Butler e al
Driver per funzionare tra cui
MTAL_IPC.c
MTAL_IPC.h
gestori dell’Inter-Process Communication.
“MTAL” sta per MuTex Audio Locker
fondamentale per la gestione delle risorse
nella memoria condivisa.
Perché sono cosi forti:OVERVIEW (2)
Players
È la directory che rappresenta il campo in cui
si muoveranno i “giocatori” ossia i processi.
Infatti inizializza un pthread che a sua volta
chiama il metodo run(), che farà girare il
driver.
Perché sono cosi forti:OVERVIEW (3)
Perché sono cosi forti:LINUX KERNEL MODEL
Perché sono cosi forti:UN ESEMPIO DI COLLEGAMENTO
Perché sono cosi forti:Perché scegliere l’AN con «eco-sistemi» Linux?
1. Utilizzando delle tecnologie software Open, si
abbattono i costi relativi ai software utilizzati
in ambito di Audio recordings ed Audio
Broadcasting
2. Mettendo in connessione sistemi Linux-based
è possibile creare un’infrastruttura di rete
completamente Open e quindi Eco-sistemi
audio totalmente customizzabili.
3. Le comunità di sviluppatori «liberi» per l’audio
potrebbero permettere una interconnessione
più “interattiva” e continuamente editabile,
aggiornabile e modificabile.
Perché sono cosi forti:RINGRAZIAMENTI
Riferimenti Bibliografici
● https://www.merging.com/products/alsa_ravenna_aes67_driver#downloads
● https://www.ravenna-network.com/adopting-ravenna/oem-solutions/#software
● https://www.ravenna-network.com/aes67/why-was-aes67-developed/
● http://www.audiosonica.com/it/audiolinux/post/16883/Ravenna_Virtual_Soundcard_per_Linux#installazione
● http://www.aes.org/tmpFiles/aessc/20191021/aes67-2018-i.pdf
● https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm/src/master/
● Tutti gli schemi sono stati realizzati completamente con la WebApp Online https://creately.com/
UN RINGRAZIAMENTO AL NALUG PER LO SLOT
E
A VOI TUTTI PER L’ASCOLTO!

More Related Content

What's hot

Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPLorenzo Sfarra
 
BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!Alfredo Morresi
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11bAlfredo Morresi
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewallFulvio Corno
 
OpenStack Network-as-a-Service - Neutron
OpenStack Network-as-a-Service - NeutronOpenStack Network-as-a-Service - Neutron
OpenStack Network-as-a-Service - NeutronGiuseppe Casale
 
2003 CNR Security Task Force: Wireless (In)security
2003 CNR Security Task Force: Wireless (In)security2003 CNR Security Task Force: Wireless (In)security
2003 CNR Security Task Force: Wireless (In)securityFabio Pietrosanti
 
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Networkcarmine ricca
 
2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)securityFabio Pietrosanti
 
Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoStefano Scarpellini
 

What's hot (19)

Routing: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGPRouting: trattazione dei protocolli RIP, OSPF e BGP
Routing: trattazione dei protocolli RIP, OSPF e BGP
 
BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!BlueSecurity: quando il dente fa male!
BlueSecurity: quando il dente fa male!
 
(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b(in)Sicurezze delle reti wireless 802.11b
(in)Sicurezze delle reti wireless 802.11b
 
Perl SCADA & Dojo HMI
Perl SCADA & Dojo HMIPerl SCADA & Dojo HMI
Perl SCADA & Dojo HMI
 
Ap6532 ss it
Ap6532 ss itAp6532 ss it
Ap6532 ss it
 
3 H2 N Parte2
3 H2 N Parte23 H2 N Parte2
3 H2 N Parte2
 
Technical Sheet - PrivateGSM VoIP
Technical Sheet - PrivateGSM VoIPTechnical Sheet - PrivateGSM VoIP
Technical Sheet - PrivateGSM VoIP
 
3 H2 N Parte1
3 H2 N Parte13 H2 N Parte1
3 H2 N Parte1
 
Reti Domestiche
Reti DomesticheReti Domestiche
Reti Domestiche
 
Network configuration - IPTables firewall
 Network configuration - IPTables firewall Network configuration - IPTables firewall
Network configuration - IPTables firewall
 
OpenStack Network-as-a-Service - Neutron
OpenStack Network-as-a-Service - NeutronOpenStack Network-as-a-Service - Neutron
OpenStack Network-as-a-Service - Neutron
 
Arp Attack
Arp AttackArp Attack
Arp Attack
 
8 Www2009 Parte2
8 Www2009 Parte28 Www2009 Parte2
8 Www2009 Parte2
 
2003 CNR Security Task Force: Wireless (In)security
2003 CNR Security Task Force: Wireless (In)security2003 CNR Security Task Force: Wireless (In)security
2003 CNR Security Task Force: Wireless (In)security
 
Vpn Virtual Private Network
Vpn Virtual Private NetworkVpn Virtual Private Network
Vpn Virtual Private Network
 
Multicast IPv6
Multicast IPv6Multicast IPv6
Multicast IPv6
 
Technical Sheet - PrivateGSM CSD
Technical Sheet - PrivateGSM CSDTechnical Sheet - PrivateGSM CSD
Technical Sheet - PrivateGSM CSD
 
2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security2004: Webbit Padova 04: Wireless (in)security
2004: Webbit Padova 04: Wireless (in)security
 
Sistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasportoSistemi e reti : Il livello di trasporto
Sistemi e reti : Il livello di trasporto
 

Similar to [Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over ethernet

Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2pma77
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embeddedDaniele Costarella
 
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale![LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!Marcello Marino
 
JACK Audio Connection Kit
JACK Audio Connection KitJACK Audio Connection Kit
JACK Audio Connection KitNaLUG
 
SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaAndrea Tosato
 
Cloudup, cloud server al minuto
Cloudup, cloud server al minutoCloudup, cloud server al minuto
Cloudup, cloud server al minutoENTER S.r.l.
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceClaudio Cardinali
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocolmichelemanzotti
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Roberto Navoni
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemRoBisc
 
Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Giovanni Cappellini
 
Brand Rex Seminar 2009 Installation It
Brand Rex Seminar 2009 Installation ItBrand Rex Seminar 2009 Installation It
Brand Rex Seminar 2009 Installation ItGianluca Musetti
 

Similar to [Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over ethernet (20)

Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2
 
Software libero nei sistemi embedded
Software libero nei sistemi embeddedSoftware libero nei sistemi embedded
Software libero nei sistemi embedded
 
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale![LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
[LDNA2018] - JACK Audio Connection Kit: la tua Patchbay virtuale!
 
Sic
SicSic
Sic
 
JACK Audio Connection Kit
JACK Audio Connection KitJACK Audio Connection Kit
JACK Audio Connection Kit
 
Progetto Netkit
Progetto NetkitProgetto Netkit
Progetto Netkit
 
SignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancavaSignalR, il WebSocket che tanto ci mancava
SignalR, il WebSocket che tanto ci mancava
 
Network essentials
Network essentialsNetwork essentials
Network essentials
 
Cloudup, cloud server al minuto
Cloudup, cloud server al minutoCloudup, cloud server al minuto
Cloudup, cloud server al minuto
 
Hacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open SourceHacking Access Point con Firmware Open Source
Hacking Access Point con Firmware Open Source
 
Networking Hand Vocabulary Book
Networking Hand Vocabulary BookNetworking Hand Vocabulary Book
Networking Hand Vocabulary Book
 
Simple Network Management Protocol
Simple Network Management ProtocolSimple Network Management Protocol
Simple Network Management Protocol
 
TCP IP
TCP IPTCP IP
TCP IP
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
 
Reti Locali
Reti LocaliReti Locali
Reti Locali
 
Introduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name SystemIntroduzione ai protocolli tcp/ip ed al Domain Name System
Introduzione ai protocolli tcp/ip ed al Domain Name System
 
Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.Le reti - Come il nostro PC è connesso con la Internet.
Le reti - Come il nostro PC è connesso con la Internet.
 
Brand Rex Seminar 2009 Installation It
Brand Rex Seminar 2009 Installation ItBrand Rex Seminar 2009 Installation It
Brand Rex Seminar 2009 Installation It
 
Connext ita
Connext itaConnext ita
Connext ita
 
C soft brochure - ita
C soft brochure - itaC soft brochure - ita
C soft brochure - ita
 

[Ldna 2019 marcello marino] mt's driver ravenna aes67 audio contribution over ethernet

  • 1. A cura di Marcello Marino MT’s ALSA Driver Ravenna/AES67: Audio contribution Over Ethernet LinuxDay Napoli 2019 Software Engineer / Audio Software Engineer AES Italia Official Member
  • 2. Introduzione all’Audio Networking ● Che cos’è l’Audio Networking? ● Trasmissione o “contribution” su Audio Networks 1. Audio Contribution Over IP (AOIP) 2. Audio Contribution Over Ethernet (AOE)
  • 3. Perché sono cosi forti: LIVELLO 1 I Protocolli dell’Audio Networking (L1) Standard aperti ● AES50 ● MaGIC di Gibson Proprietari ● SuperMAC , un'implementazione di AES50 ● HyperMAC, una variante Gigabit Ethernet di SuperMAC ● A-Net di Aviom ● AudioRail ● ULTRANET By Behringer STACK ISO/OSI
  • 4. Perché sono cosi forti: LIVELLO 2 I Protocolli dell’Audio Networking (L2) Standard aperti ● AES51 ● Audio Video Bridging (AVB) Proprietari ● CobraNet - RAVE di QSC Audio , un'implementazione di CobraNet ● EtherSound di Digigram - NetCIRA, EtherSound rinominato da Fostex ● Sneak REAC e RSS di Roland ● SoundGrid di Waves Audio ● dSNAKE di Allen & Heath STACK ISO/OSI
  • 5. Perché sono cosi forti: LIVELLO 3 I Protocolli dell’Audio Networking (L3) Standard aperti ● AES67 sviluppato dalla Audio Engineering Society ● NetJack infrastruttura di rete per JACK ● RAVENNA di ALC Network Proprietari ● LiveWire di Axia Audio (divisione di Telos Systems) ● Dante di Audinate ● Q-LAN ● WheatNet-IP di WheatStone Corporation STACK ISO/OSI
  • 6. Perché sono cosi forti:AUDINATE DANTE™ ● Adan Williams ex-ricercatore per la Motorola, dopo la chiusura della struttura di Ricerca a Sidney nel 2003 decise di assemblare un team per lo sviluppo di un protocollo per le audio networks con i fondi del NICTA (National Information and Communication Technology Australia) ● Nel 2006 fonda la società Audinate Pty Ltd. il cui prodotto commerciale viene presentato come Dante, una tecnologia che combina hardware e software creando in un’unica infrastruttura protocollare in contrapposizione a CobraNet (1996) e EtherSound (2001), prima di allora first-generation tra i protocolli di rete per i dati audio. ● Prima tecnologia AOE Layer-3 sviluppata per trasmettere su LAN dati audio non compressi (192kHz /32 bits) , multi-canale (1024 canali), a bassa latenza (150 microsecondi)
  • 7. Perché sono cosi forti:RAVENNA ● Nel 2010, viene presentato alla International Broadcasting Convention di Amsterdam dalla società ALC NetworX (ex Lawo) , in contrapposizione a Dante (non a caso il suo nome deriva dalla omonima città in cui Dante fu sepolto) da un gruppo di sviluppatori con la passione per l’Audio Broadcasting. ● Ravenna si presenta come un protocollo aperto over Ethernet Layer-3 progettato con lo scopo di unificare e risolvere le esigenze delle trasmissioni broadcast in bassa latenze e di trasparenza di segnale per le radio-emittenti, per gli eventi dal vivo e per i collegamenti inter-studio su ampia area geografica. Non ha bisogno di hardware dedicato, si appoggia infatti a dispositivi compatibili con AES67. ● Utilizza standard IEEE come PTP per il clock and il QoS per il Data traffic Managment ● È Open, non ha una licenza proprietaria. Le specifiche tecniche sono infatti pubbliche e accessibili. ● È stato adottata da società Genelec, Merging Technologies e Neumann per la progettazione di dispositivi di riproduzione e impianti per “audio-reti”
  • 8. Perché sono cosi forti:AES67: il Peacemaker... ● Presentato e pubblicato ufficialmente nel Settembre 2013 come protocollo standard di comunicazione high-performance overIP/overEthernet Layer-3 per le reti audio ● Sviluppato dall’Audio Engineering Society per creare interoperabilità tra le tecnologie Ravenna, LiveWire Q-SYS, Dante, CobraNet, EtherSound. ● Si afferma positivamente quando viene utilizzato dalla società Audinate e accettato anche dai meccanismi di controllo del protocollo Dante. ● Nel 2018 viene pubblicato l’AES67-2018 , che contiene il PICS (Protocol Implementation Conformance Statement) ossia la dichiarazione di conformità dell’implementazione del protocollo. ● Oggi è in sviluppo una versione chiamata AES70, che presenta notevoli progressi sul controllo dei segnali di sincronizzazione (si va verso delle OCA - Open Control Architecture)
  • 9. Perché sono cosi forti:MERGING TECHNOLOGIES: Linux Driver RAVENNA/AES67 ● Nel 2019 la Merging Technologies annuncia sul proprio portale di aver realizzato una Virtual Sound Card sotto licenza GNU/GPL ● Non solo…. ne distribuisce il repository su Bitbucket per permettere agli sviluppatori di condividere, modificare e migliorare il codice del driver per le varie distribuzioni.. → https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm/src/master/
  • 10. Perché sono cosi forti:Compilazione e configurazione del LKM e del Butler (1) ● Scarichiamo il sorgente tramite shell admim$ git clone https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm.git ● Compiliamo tramie il comando make cd ravenna-alsa-lkm/driver make ● Aggiungiamo il LKM al Kernel con il comando sudo su cp MergingRavennaALSA.ko /lib/modules/$(uname -r)/kernel/drivers ● Rendiamolo disponibile per il sistema all’avvio (opzionale) inserendolo tra i moduli di etc sudo insmod MergingRavennaALSA.ko ● Rimappiamo nuovamentei moduli con il comando sudo depmod ● Andiamo nella directory del Butler e lanciamo il deamon Butler con grant user/file cd ravenna-alsa-lkm/Butler chmod u+x Merging_RAVENNA_Daemon ./Merging_RAVENNA_Daemon -d
  • 11. Perché sono cosi forti:Compilazione e configurazione del LKM e del Butler (2) ● Configurazione dei parametri per il Butler Il Butler ha un file di configurazione: merging_ravenna_daemon.conf Alcuni parametri (interface_name ,device_name ,web_app_port ,web_app_port ,tic_frame_size_at_1fs etc) devono essere correttamente settati prima di lanciare il deamon ● Configurazione del Firewall La presenza di un Firewall può impedire il lancio del deamon. Bisogna assicurarsi che le seguenti porte siano settate (i valori sono valori corretti, nulla vieta di sceglierne altri) Porta TCP del WebServer…………………………: 9090 Porta UDP del mDNS……………………………….: 5353 Porta UDP del AES67 Discovery………………….: 9875
  • 12. Perché sono cosi forti:La Fase Finale: il “SoundCheck” ● Previa verifica che i moduli ALSA siano tutti configurati e funzionanti, possiamo monitorare che la nostra Audio Network funzioni correttamente utilizzando i comandi ALSA: // Invia rumore rosa sui canali collegati verso gli speakers (-c 2:=Stereo) speaker-test -D plughw:RAVENNA -r 48000 -c 2 // Riproduce un file wav specificato aplay -D hw:1,0 -t wav -r 48000 *.wav // Esegue una registrazione dal primo ingresso microfonico disponibile arecord -D hw:1,0 -f dat -d 1 -t wav filename.wav // Crea un loopback PCM tra i dispositivi di playback e capture (* va modificato a seconda dell’identificativo hw) alsaloop -P hw:1,0 -C hw:1,0* -r 48000 -f S16_LE -l 1 -S 0
  • 13. Perché sono cosi forti:OVERVIEW (1) ● MergingRavennaALSA.ko (LKM) → GNU GPL License È il Linux Kernel Module File. Un modulo di un kernel va compilato e aggiunto ai moduli del Kernel. Si occupa di: 1. Inviare e ricevere i pacchetti audio tramite specifiche del RTP (Real-time Protocol) 2. Scandire i tempi di invio e generare il ciclo di interruzioni hardware 3. Creare una comunicazione (Netlinking) tra il Butler e il Kernel per gli audio streams ● Merging_Ravenna_Deamon (Butler) → OEM / EULA License È il deamon (“sentinella”) che scandisce la comunicazione e la corretta configurazione tra il sistema operativo, l’applicazione e l’invio dei dati sulla rete LAN. È responsabile: 1. Collegamento/Riconoscimento degli hosts tramite mDNS Discovery (Multicast DNS) e SAP Discovery (Session Announcement Protocol) 2. Monitoraggio e gestione della frequenza di campionamento in base ai dispositivi collegati sulla rete 3. Operazioni tramite interfaccia Web 4. Controllo remoto del volume
  • 14. Perché sono cosi forti:OVERVIEW (2) Butler |-- /webapp |-- Merging_RAVENNA_Daemon |-- merging_ravenna_daemon.conf Common Contiene le librerie necessarie al Butler e al Driver per funzionare tra cui MTAL_IPC.c MTAL_IPC.h gestori dell’Inter-Process Communication. “MTAL” sta per MuTex Audio Locker fondamentale per la gestione delle risorse nella memoria condivisa.
  • 15. Perché sono cosi forti:OVERVIEW (2) Players È la directory che rappresenta il campo in cui si muoveranno i “giocatori” ossia i processi. Infatti inizializza un pthread che a sua volta chiama il metodo run(), che farà girare il driver.
  • 16. Perché sono cosi forti:OVERVIEW (3)
  • 17. Perché sono cosi forti:LINUX KERNEL MODEL
  • 18. Perché sono cosi forti:UN ESEMPIO DI COLLEGAMENTO
  • 19. Perché sono cosi forti:Perché scegliere l’AN con «eco-sistemi» Linux? 1. Utilizzando delle tecnologie software Open, si abbattono i costi relativi ai software utilizzati in ambito di Audio recordings ed Audio Broadcasting 2. Mettendo in connessione sistemi Linux-based è possibile creare un’infrastruttura di rete completamente Open e quindi Eco-sistemi audio totalmente customizzabili. 3. Le comunità di sviluppatori «liberi» per l’audio potrebbero permettere una interconnessione più “interattiva” e continuamente editabile, aggiornabile e modificabile.
  • 20. Perché sono cosi forti:RINGRAZIAMENTI Riferimenti Bibliografici ● https://www.merging.com/products/alsa_ravenna_aes67_driver#downloads ● https://www.ravenna-network.com/adopting-ravenna/oem-solutions/#software ● https://www.ravenna-network.com/aes67/why-was-aes67-developed/ ● http://www.audiosonica.com/it/audiolinux/post/16883/Ravenna_Virtual_Soundcard_per_Linux#installazione ● http://www.aes.org/tmpFiles/aessc/20191021/aes67-2018-i.pdf ● https://bitbucket.org/MergingTechnologies/ravenna-alsa-lkm/src/master/ ● Tutti gli schemi sono stati realizzati completamente con la WebApp Online https://creately.com/ UN RINGRAZIAMENTO AL NALUG PER LO SLOT E A VOI TUTTI PER L’ASCOLTO!