Materiale Terzo Incontro
Infrastruttura Hardware
Uno dei problemi maggiori nell'utilizzo di GNU/Linux nella musica e nell'audio consiste nel limitato supporto hardware, in special modo di hardware professionale. Vi sono tuttavia alcune ottime schede audio che possono rispondere abbastanza bene e con uno standard molto elevato di qualità.
Vi è poi l'aspetto di tutto ciò che è fuori dal computer, ovvero l'audio che esce dalla scheda, tipicamente collegato a degli altoparlanti amplificati (detti in gergo ascolti o monitor) o ad un mixer, e l'audio che entra nella scheda che può provenire dalle fonti più svariate come mixer, preamplificatori microfonici, lettori CD, tastiere musicali, radio, etc...
Definire le caratteristiche della scheda audio
Innanzitutto è necessario capire cosa ci serve da un punto di vista hardware per metterci in condizione di lavorare bene con l'audio. Le schede audio integrate nei computer solitamente sono di scarsa qualità, immediatamente avvertibile come rumore di fondo, sono carenti da un punto di vista di connessioni audio analogiche (soprattutto in ingresso), e inoltre hanno un numero di canali limitato (di solito sono schede stereo, ovvero a due canali). Normalmente comunque sono utilizzabili, e se l'audio è generato tutto all'interno del computer (ad esempio musica esclusivamente elettronica), la scarsa qualità della scheda non ha alcuna influenza sul risultato finale. Bisogna inoltre dire che alcune ottime schede hanno cessato la produzione, ma grazie ai driver liberi possono essere utilizzate perfettamente su GNU/Linux: è quindi opportuno vagliare anche il mercato dell'usato, dove in genere si possono strapapre prezzi molto convenienti. Per orientarci nella scelta, dovremo stabilire alcune caratteristiche della scheda ideale, basate principalmente su due fattori: Se per esempio siete musicisti e lavorate da soli, è sufficiente una buona scheda stereo, in quanto raramente utilizzerete canali separati in registrazione (a meno che non siate dei batteristi - una batteria può richiedere molti microfoni ed è auspicabile poter registrare ogni segnale in una traccia audio separata). Vi sono molte schede stereo con diversi tipi di interfaccia che sono ben supportate da Linux, eccone alcune: Se invece due canali vi stanno stretti, ad esempio volete registrare una band dal vivo, ci sono anche schede multicanale supportate, solitamente a 4 o 8 canali, fino a 16 per la serie RME con un convertitore ADAT esterno:
Le periferiche MIDI ci permettono di inviare e ricevere dati MIDI al computer: ad esempio possiamo pilotare con una tastiera MIDI un sintetizzatore software, o registrare una performance musicale su un sequencer (che è nient'altro che un registratore/editor di dati MIDI), o ancora fare eseguire ad un sintetizzatore esterno uno spartito creato sul computer. Le periferiche MIDI si possono dividere in tre categorie principali: Tastiere MIDI USB: sono tastiere midi mutePeriferiche MIDI
dette anche master keyboard e includono una interfaccia MIDI USB integrata che consente di attaccarle direttamente al computer.
La quasi totalità delle tastiere e dei controller MIDI USB può essere utilizzato semplicemente attaccando la periferica al computer, e viene riconosciuta immediatamente ed è subito pronta all'uso. Alcune di queste apparecchiature hanno a corredo dei software con i quali è possibile una gestione avanzata delle funzionalità, con possibilità di salvataggio di preset, etc... Tali software sono di solito per windows e spesso è possibile utilizzarli tramite wine. Un esempio è il Korg Kontrol Editor per la serie nano (nanokontrol, nanokey, nanopad) di KorgTM.
Attrezzatura audio
Se intendete registrare strumenti reali o parti vocali nelle vostre produzioni, sono necessari a monte della scheda audio alcuni dispositivi audio analogici. Certe schede ne integrano alcuni, tipicamente i preamplificatori microfonici. Spesso per comodità di routing e cablaggio si ricorre ad un mixer. Inutile dire che la qualità audio che otterrete dipende in grande misura dalla qualità di questi componenti.
monitor e cuffie
Uno degli elementi essenziali in un home studio è quello che ci permette di ascoltare l'audio prodotto. La risorsa minima in questo caso è rappresentata da un buon paio di cuffie, ma per giudicare bene quello che si sta facendo una coppia di monitor è quasi indispensabile.
I monitor da studio solitamente sono casse amplificate che hanno una risposta in frequenza molto lineare, a differenza degli impianti stereofonici da casa che tendono a colorare il suono. Specialmente in fase di missaggio è invece indispensabile avere una chiara e fedele rappresentazione di ciò che si sta facendo per effettuare scelte imparziali: se i vostri ascolti hanno troppi bassi, il mix che produrrete ne sarà privo, perchè l'ascolto vi avrà indotto a togliere dei bassi per compensare il difetto dei monitor.
Per questo i monitor da studio di solito hanno prezzi abbastanza alti, ma sono un investimento in quanto se trattati bene durano per anni. La scelta dei monitor dev'essere fatta in modo oculato, leggendo molto su internet le caratteristiche e le opinioni degli utenti e dei professionisti, e soprattutto sarebbe auspicabile poterli ascoltare con materiale a noi familiare, e possibilmente confrontarli tra loro.
Bluetooth stereo headset
Il protocollo Bluetooth permette due profili per trasmettere i segnali audio: SCO (Synchronous Connection Oriented = Connessione sincrona) e A2DP (Advanced Audio Distribution Profile = Profilo di distribuzione audio avanzato). Il profilo SCO è bidirezionale con una risposta veloce (bassa latenza) per le trasmissioni della voce. SCO è usato normalmente per la trasmissione mono. Il profilo SCO permette all'utilizzatore di trasmettere e ricevere suoni contemporaneamente. Al contrario, il profilo A2DP è progettato per un segnale sonoro stereo di alta qualità. Per raggiungere questo alto livello qualitativo, l'A2DP utilizza una connessione unidirezionale con alta latenza (risposta lenta). Un headset Bluetooth può supportare solo il protocollo SCO, solo l'A2DP, o entrambi i profili. Single-ear headsets of the type common for mobile telephony typically support just the SCO profile, whereas stereo headsets often support both.
One of the biggest advantages of the Bluetooth approach compared with legacy wireless headsets is that you can use a Bluetooth headset to send commands to your Linux computer. For example, you can stop the player, move to the next track, or backtrack.
The advanced audio distribution profile, A2DP, provides the basis for high-fidelity audio. The bandwidth of bluetooth cannot accommodate uncompressed high-quality stereo audio, so the audio stream must be digitally compressed. Pausing, playing, advancing the track are features of the AVRCP profile, most commonly combined with A2DP.
As the data channel used by A2DP is only 721 kbps wide some data reduction scheme is required. While BT specifications allow using of different audio codecs (mp2, mp3, wma, aac and even atrac) the only mandatory codec for all BT audio devices is subband codec (SBC). In fact many BT headphones (including above mentioned DR-BT50) already support mp3 codec but in real life it remains unused. Obviously it was made for the sake of compatibility but the same time portable devices could benefit from direct streaming of mp3 files through BT interface saving both audio quality and battery life. However in today's practice all high quality audio still transfers over A2DP by means of SBC codec.
SBC codec appeared in SoundExpert ratings more than two years ago (see 320+ kbit/s section). The bitrate used for testing (372 kbps) showed good potential of this compression scheme but it’s clear now that above setting doesn’t reflect real-life scenario of the codec use. Let’s look for example at these two major BT applications:
Toshiba Bluetooth stack for Windows (6.10) has three quality modes for SBC codec
- High Quality – 328 kbps
- Middle Quality – 229kbps
- Low Quality – 201 kbps
IVT Corp. Bluesoleil (5.0.5) has two quality modes: High and Middle. It’s not mentioned what bitrates are used but the application has special “Status Window” available for any BT connection. Among other information it shows amount of bytes sent to and received from connected device. Simple calculations reveal the same bit rates for High and Middle quality modes – 328 kbps and 229 kbps. As Bluesoleil is capable of both sending and receiving A2DP audio data its status window helps to discover actual bitrates used by any connected BT device. For example cell phone Nokia 6500 classic also sends music to BT interface at 229 kbps and the bitrate can’t be altered in phone’s settings (may be some advanced music phones and players have such possibility, though).
Such unanimity in choosing SBC codec settings is not surprising. Bluetooth Special Interest Group (SIG) recommends using of those settings in A2DP specifications (A2DP_SPEC, Revision V12): Table 4.7: Recommended sets of SBC parameters in the SRC device
|
Middle Quality |
High Quality |
||||||
SBC encoder settings* |
Mono |
Joint Stereo |
Mono |
Joint Stereo |
||||
Sampling frequency (kHz) |
44.1 |
48 |
44.1 |
48 |
44.1 |
48 |
44.1 |
48 |
Bitpool value |
19 |
18 |
35 |
33 |
31 |
29 |
53 |
51 |
Resulting frame length (bytes) |
46 |
44 |
83 |
79 |
70 |
66 |
119 |
115 |
Resulting bit rate (kb/s) |
127 |
132 |
229 |
237 |
193 |
198 |
328 |
345 |
*Other settings: Block length = 16, Allocation method = Loudness, Subbands = 8
Taking all this into account it was decided to add SBC codec to SE testing engine with these new settings:
- SBC 229kbps (Middle Quality) – in 224 kbit/s section SBC 328kbps (High Quality) – in 320+ kbit/s section
It’s worth to add that A2DP limits the available maximum bit rate to 320 kbps for mono and to 512 kbps for stereo modes allowing the use of many other codecs besides SBC. So audio manufacturers (of headphones especially) have wide choice of compression technologies capable of delivering high definition sound through the wireless digital channel at reasonable cost.
http://soundexpert.org/news/-/blogs/bluetooth-audio-quality-a2dp
mixer
Il mixer audio analogico o console, è un dispositivo che riceve in ingresso più segnali audio, ne aggiusta le caratteristiche (guadagno, equalizzazione, etc...) e li miscela tra loro facendoli uscire da una o più uscite: di solito un master L+R (left-right) stereo ed eventualmente selettivamente su dei sub-groups (gruppi) o ancora su delle mandate ausiliarie (aux) per esempio per aggiungere effetti o per il monitor del segnale.
Il mixer non è indispensabile, soprattutto in configurazioni di una persona che suona/opera sul computer da sola, ma consente (a seconda delle dimensioni e delle caratteristiche) una notevole flessibilità e comodità della connessione e gestione dell'audio, soprattutto in contesti con molte sorgenti sonore esterne al computer.
Il mixer comprende di solito, per ogni canale di ingresso, un preamplificatore microfonico e un ingresso linea che permettono il collegamento di microfoni dinamici o a condensatore (in questo caso deve possedere l'alimentazione phantom a +48v) e segnali di linea (tastiere, lettori cd, drum machines, etc...)
Esistono anche mixer con integrata una interfaccia audio USB o firewire.
preamplificatori microfonici
Esistono anche preamplificatori microfonici (preamp) dedicati, solitamente più costosi e di migliore qualità di quelli reperibili in un mixer. I preamp si occupano di elevare il bassissimo segnale in ingresso proveniente dal microfono fino ad un segnale di linea, che è possibile convogliare direttamente in ingresso alla scheda audio. Per le esigenze di un musicista/vocalist singolo che non utilizzerà mai più di un microfono, la scelta del preamp dedicato potrebbe essere sensata, nel caso che la scheda non ne sia già dotata.
Collegamenti e cablaggi
Altra parte importantissima e spesso sottovalutata (anche nel costo) della catena analogica che sta fuori dal computer sono i cavi di collegamento, che devono essere sempre ben funzionanti e della massima qualità possibile. Non lesinate sui cavi e trattateli bene (non calpestandoli, ad esempio) e anche qui l'investimento pagherà, sul lungo termine.
Potrebbero servire anche degli adattatori o dei cavi fatti su misura: anche qui non lesinate e cercate di comprare cavi della giusta lunghezza: più lungo è il cavo e più è suscettibile ad interferenze e rumore.
Se avete a che fare con un gran numero di cavi potrebbe essere consigliabile l'acquisto di un cable tester per verificarne l'efficienza in modo rapido.
Nel caso della presenza di un mixer, potreste voler collegare i monitor all'uscita del mixer e non direttamente alla scheda audio. Quest'ultima è quindi collegata al mixer sia in uscita che in ingresso; questa configurazione è potenzialmente pericolosa perchè se diamo in ingresso alla scheda audio un segnale contenente anche la sua uscita, si creerà un loop molto fastidioso per l'orecchio, e potenzialmente pericoloso per le apparecchiature. In questo caso di solito si usano le porte tape del mixer che sono fatte apposta e non rientrano l'una nell'altra. Naturalmente tutto dipende dal modello e dalle caratteristiche del mixer. Approfondimenti con questa ottima dispensa http://www.di.unipi.it/~romani/DIDATTICA/AD/AD%2014%20cavi.pdf http://www.ageofaudio.com/hardware/cavi-musica/
HDMI e DVI http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01428471&lc=it&cc=it&dlc=it&product=3996621#N58 http://it.wikipedia.org/wiki/High-Definition_Multimedia_Interface S/PDIF COAX/TOSLINK IEC 958 http://it.wikipedia.org/wiki/SPDIF ADAT AES/EBU http://it.wikipedia.org/wiki/AES/EBU
http://it.wikipedia.org/wiki/Amplificatore_%28elettronica%29#Amplificatori_audio
L'amplificatore in Classe D si basa sul principio che è possibile ricostruire un’onda con un filtro a partire da una serie di livelli discreti. Se questi livelli discreti sono degli zero (stadio d’uscita completamente spento) e degli uno (stadio d’uscita completamente acceso), l’efficienza del sistema di amplificazione si avvicinerà al 100%. I periodi di accensione e spegnimento, i momenti in cui i transistor di uscita staranno in massima conduzione o in interdizione, dovranno essere decisi sulla base del segnale in ingresso. E’ necessario, quindi, che il segnale venga, in qualche modo, comparato un certo numero di volte per secondo e trasformato in un treno di impulsi a larghezza variabile, la cui energia media è pari a quella del segnale in ingresso, opportunamente amplificato. Servono un oscillatore (per stabilire la frequenza) e un comparatore (per decidere se il segnale, confrontato con quello dell’oscillatore, garantisce l’accensione o lo spegnimento dello stadio d’uscita) per costruire gli switch (da quelli dipende il nome familiare di "amplificatori switching" che si dà agli amplificatori PWM). Il filtro ricostruisce l’onda, smussando le transizioni e fornendo, sui morsetti, un segnale quanto più possibile uguale a quello in ingresso. (tratto da http://www.videohifi.com/15_classeDintro.htm) http://upload.wikimedia.org/wikipedia/commons/4/4c/Pwm_amp.svg
Il Sonic Impact T-Amp è un amplificatore integrato a stato solido, in una cosiddetta classe T, basato sul chip integrato TA2024 della Tripath che funziona, secondo il Costruttore, con una tecnologia detta di "Digital Power Processing". Offrirebbe, sempre secondo la letteratura allegata, la qualità di un ampli in classe A/B con l'efficienza di una Classe D. Il datasheet ufficiale lo potete trovare sul sito della Tripath . Il T-Amp non è nient'altro che l'applicazione pedissequa di quanto consigliato nel datasheet. Non è l'implementazione che fa miracoli, quindi, ma il chip stesso. Il giocattolino offre una potenza continua di circa 6 watt per canale su 8 ohm, può essere collegato a diffusori da 8 o 4 ohm e funziona anche con 8 batterie stilo da 1,5 volts, oltre che con un eventuale alimentatore esterno. Chip Tripath in kit http://www.moxied.com/Tripath.htm
In questa era digitale, sappiamo che quasi tutti i formati di musica vengono generati in un formato digitale come CD, MP3, AAC ecc, tuttavia, come avveniva nella riproduzione di formati analogici, l'audio deve essere poi ascoltato da cuffie e diffusori acustici. Pertanto, non importa quanto alto sia il bit rate del file di musica digitale, perchè poi dovrà essere convertito in un segnale analogico audio prima di poterlo ascoltare. Il dispositivo che fa questa conversione è chiamato "Digital-to-Analog Converter", in breve, DAC. E' un DAC la scheda Audio di un PC, sono DAC le schede integrate nei lettori CD ed MP3, è presente sempre un DAC ogni volta che sentiamo un suono provenire da fonte digitale. La maggior parte dei DAC sono mirati per gli audiofili che desiderano effettuare un upgrade dei loro lettori CD e DVD, ma anche per la musica liquida da PC e per la riproduzione dell'audio digitale di sistemi wireless. Inclusi server wireless SB3, Airport Express, Radio DAB, audio da satellite e internet radio stream. Alcuni esempi: amplificatori per cuffie Linux compatibili.
I driver audio ALSA ALSA è un acronimo che sta per Advanced Linux Sound Architecture, ed è l'infrastruttura dei driver dedicati alla gestione delle periferiche audio e MIDI per il kernel Linux. Essi si occupano di fornire un'interfaccia tra il kernel e l'hardware audio. Si tratta di un'architettura modulare che offre una serie di driver per schede audio sia di fascia consumer che di fascia pro e che ci permettono di utilizzare le caratteristiche di queste schede con GNU/Linux. A meno di problemi, la presenza dei driver ALSA dovrebbe essere quasi completamente trasparente per l'utente. Il supporto è fornito per molte schede audio, ma è opportuno controllare l'effettiva compatibilità dell'hardware audio che vogliamo usare prima dell'acquisto sul sito web del progetto ALSA (http://alsa-project.org/alsa-doc/). Ad esempio un buon acquisto per un uso professionale sono le schede audio basate sul chipset ICE1712 (Envy24), come molte schede di m-audio e di altri produttori. I moduli ALSA creano dei cosiddetti dispositivi a caratteriCablaggi digitali
Amplificatori
Classe D
T-amp
Amplificatori DAC USB/COAX/TOSLINK
Infrastruttura software
alsa
- cat /proc/asound/version
ci restituisce la versione dei driver ALSA installati, e il comando
- cat /proc/asound/cards
ci mostra le schede audio installate nel sistema.
E' infatti possibile utilizzare più di una scheda audio sullo stesso sistema, tenendo presente che ALSA ne identifica una principale (di solito la prima, hw:0) e la considera la scheda di default, sulla quale suonare tutto ciò per cui non viene specificato un output esplicitamente.
Potrebbe essere conveniente utilizzare la scheda audio integrata nella motherboard come default, per i suoni delle applicazioni non strettamente audio, come ad esempio il web browser o programmi di comunicazione istantanea come skype etc... e usare invece la scheda professionale solamente mediante il server audio JACK, che descriveremo nelle prossime lezioni.
Anche le interfacce MIDI vengono gestite da ALSA, che le tratta esattamente come ulteriori schede audio installate nel sistema.
A corredo con i driver e la libreria ALSA vengono fornite una serie di utility a linea di comando, contenute nel pacchetto alsa-utils:
- alsamixer è un applicazione ncurses per controllare il mixer di ALSA
- amixer è un mixer solo testuale
- amidi è una utility per leggere/scrivere dati MIDI grezzi
- aplay è un semplice player di file wave
- arecord è un semplice registratore audio
- speaker-test è un generatore di segnali di test
- aconnect gestisce le connessioni del sequencer MIDI di ALSA
- aplaymidi è un semplice player di file MIDI
- arecordmidi è un semplice registratore MIDI
- aseqdump mostra come testo gli eventi MIDI di una porta ALSA
dmix
ALSA provides a software mixer called dmix, which was developed prior to PulseAudio. This is available on almost all Linux distributions and is a more minimal PCM audio mixing solution, although it does not provide the advanced features (such as high quality resampling, device aggregation, timer-based scheduling and network audio) of PulseAudio.
motori audio
audio e video
- gstreamer
- xine
- mplayer
- vlc
audio
- audacious2
- xmms2
server audio
Pulseaudio
Le caratteristiche più interessanti di questo prodotto sono:
• la possibilità di mixare più stream audio, bypassando le restrizioni hardware • la trasparenza rispetto alla rete, cioè la possibilità delle applicazioni di riprodurre o registrare l’audio su una macchina diversa rispetto a quella su cui sta girando. • un livello di astrazione hardware che gli permette di gestire i flussi di dati in entrata e in uscita da più applicazioni, senza che nessuna prenda il controllo, da sola, dell’input o dell’output della scheda. • la possibilità di gestire in maniera indipendente il volume delle applicazioni • il “conditional dynamic volume adjustment”, grazie al quale può abbassare automaticamente il volume del Player musicale quando ad esempio arriva una chiamata VoIP • la funzionalità di hotpluggin intelligente, che permette al sistema di dirottare gli stream audio di un programma quando inseriamo o togliamo periferiche esterne come le cuffie
The main PulseAudio features include:
- Per-application volume controls[3]
- An extensible plugin architecture with support for loadable modules
- Compatibility with many popular audio applications[4]
- Support for multiple audio sources and sinks
- Low-latency operation[citation needed] and support for latency measurement
- A zero-copy memory architecture for processor resource efficiency
Ability to discover other computers using PulseAudio on the local network and play sound through their speakers directly
- Ability to change which output device an application plays sound through while the application is playing sound (without the application needing to support this, and indeed without even being aware that this happened)
- A command-line interface with scripting capabilities
- A sound daemon with command line reconfiguration capabilities
- Built-in sample conversion and resampling capabilities
- The ability to combine multiple sound cards into one
- The ability to synchronize multiple playback streams
- Bluetooth audio devices with dynamic detection
- The ability to enable system wide equalization
What is this RTP/SDP/SAP thing all about? ¶
- RTP is the Realtime Transfer Protocol. It is a well-known protocol for transferring audio and video data over IP. SDP is the Session Description Protocol and can be used to describe RTP sessions. SAP is the Session Announcement Protocol and can be used to announce RTP sessions that are described with SDP. (Modern SIP based VoIP phones use RTP/SDP for their sessions, too)
All three protocols are defined in IETF RFCs (RFC3550, RFC3551, RFC2327, RFC2327). They can be used in both multicast and unicast fashions. PulseAudio exclusively uses multicast RTP/SDP/SAP containing audio data.
pulseaudio via rete
Note that this can use pretty much network bandwidth (around 1.3Mbps for 44100Hz sound).
RTP/SDP/SAP Transport
PulseAudio can stream audio data to an IP multicast group via the standard protocols RTP, SAP and SDP (RFC3550, RFC3551, RFC2327, RFC2327). This can be used for multiple different purposes: for sharing a single microphone on multiple computers on the local LAN, for streaming music from a single controlling PC to multiple PCs with speakers or to implement a simple "always-on" teleconferencing solution.
The current implementation is designed to be used exclusively in local area networks, though Internet multicasting is theoretically supported. Only uncompressed audio is supported, hence you won't be able to multicast more than a few streams at the same time over a standard LAN.
PulseAudio implements both a sender and a receiver for RTP traffic. The sender announces itself via SAP/SDP on the same multicast group as it sends the RTP data to. The receiver picks up the SAP/SDP announcements and creates a playback stream for each session. Alternatively you can use any RTP capable client to receive and play back the RTP data (such as mplayer, see HowToListenToTheRtpStream). How can I use PulseAudio as an RTP based N:N multicast conferencing solution for the LAN? ¶
- After loading all the necessary audio drivers for recording and playback, just load the RTP reciever and sender modules with default parameters: load-module module-rtp-send load-module module-rtp-recv
As long as the PulseAudio daemon runs, the microphone data will be streamed to the network and the data from other hosts is played back locally. Please note that this may cause quite a lot of traffic. Hence consider passing rate=8000 format=ulaw channels=1 to the sender module to save bandwith while still maintaining good quality for speech transmission.
How can I use PulseAudio to stream music from my main PC to my LAN with multiple PCs with speakers? ¶
- On the sender side create an RTP sink: load-module module-null-sink sink_name=rtp load-module module-rtp-send source=rtp.monitor set-default-sink rtp This will make rtp the default sink, i.e. all applications will write to this virtual RTP device by default. On the client sides just load the reciever module: load-module module-rtp-recv Now you can play your favourite music on the sender side and all clients will output it simultaneously. BTW: You can have more than one sender machine set up like this. The audio data will be mixed on the client side.
How can I use PulseAudio to share a single LINE-IN/MIC jack on the entire LAN? ¶
- On the sender side simply load the RTP sender module: load-module module-rtp-send On the reciever sides, create an RTP source: load-module module-null-sink sink_name=rtp load-module module-rtp-recv sink=rtp set-default-source rtp_monitor Now the audio data will be available from the default source rtp_monitor.
How to listen to the pulseaudio RTP Stream
http://pulseaudio.org/wiki/HowToListenToTheRtpStream
Jack
Introduzione
Da Wikipedia, l'enciclopedia libera. http://jackaudio.org/
JACK Audio Connection Kit o JACK è un server audio o demone che fornisce connessioni a bassa latenza tra le cosiddette applicazioni jackified, per dati sia audio che midi. È stato creato da Paul Davis. Il server è concesso sotto licenza GNU GPL, mentre la libreria sotto GNU LGPL.
JACK può usare ALSA, PortAudio, CoreAudio, FreeBOB e (ancora in fase di sperimentazione) OSS come back-end. Ad oggi (2008) può essere installato funzionante su Linux, FreeBSD e Mac OS X. C'è anche una versione JACKDMP per Windows.
Latenza in campo di elaborazione audio digitale
È il tempo che passa tra la conversione analogico-digitale del segnale in ingresso ad un sistema (ad esempio nell'ingresso microfonico della scheda audio di un computer), l'elaborazione del segnale stesso e la sua successiva conversione digitale-analogico in fase di riproduzione. In termini pratici è il tempo che intercorre tra l'acquisizione di un segnale audio in ingresso da parte di un sistema digitale e la sua (quanto possibile immediata) riproduzione in uscita. Si parla di latenza anche nel caso dell'intervallo di tempo tra la pressione di una nota su una tastiera MIDI (o analogo controller) collegata ad un pc o expander e la riproduzione del suono corrispondente da parte di quest'ultimo.
Di norma per elaborazioni in tempo reale si cerca di avere un valore basso di latenza, il limite massimo può essere considerato di circa 30 ms in quanto al di sopra di esso il suono verrebbe percepito come eco, è tuttavia pratica comune tenersi ben al di sotto di questo valore. Allo stato dell'arte con un calcolatore dedicato ad alte prestazioni (DAW) ed una scheda audio professionale o semi-pro si possono raggiungere latenze inferiori ai 5 ms.
Qjackctl
Qjackctl http://qjackctl.sourceforge.net è una interfaccia grafica per il server audio Jack, con cui si possono impostare e gestire i parametri e le connessioni del server senza utilizzare la command line.
La finestra "setup" è il punto in cui si impostano i valori con cui far girare Jack, come quale scheda audio usare, la dimensione del buffer, il numero di periodi nel buffer, etc...
La finestra "connect" rappresenta invece un centro di smistamento dei flussi audio del sistema, tutte le porte audio (sia che siano porte hardware o porte virtuali software) possono essere collegate tra loro arbitrariamente.
Salvare le connessioni
jack_snapshot http://tapas.affenbande.org/wordpress/?page_id=14
- jmess (xml)
Registrare audio
compressione audio
consultare: http://www.audiomaster.it/tutorial/compressorielimiter.htm
estratto da: http://www.homerecording.it/articoli/tecnica/42-i-compressori-audio.html
I compressori audio
Se c'è uno strumento in ambito audio del quale si dice tutto e il contrario di tutto, e il cui stesso ruolo può risultare quasi incomprensibile ai neofiti, questo è il compressore. Cosa è e soprattutto a cosa serve, un compressore? Cerchiamo di fare un po' di chiarezza. Un compressore è uno strumento, analogico o digitale, hardware o software, che permette di intervenire sulla dinamica dell'audio; il modo in cui interviene è regolato da una serie di parametri, che ne modificano il funzionamento. In genere, l'utilizzo di un compressore mira a ridurre l'estensione dinamica dell'audio su cui agisce, per poterne poi successivamente aumentare il volume. Prendiamo come riferimento una traccia audio qualsiasi. Cosa si intende per dinamica di una traccia audio? La dinamica di una traccia audio definisce l'ampiezza della variazione, in termini di volume, della traccia stessa: in pratica, la differenza fra il volume massimo e quello minimo. Facciamo un esempio. Considerato che siamo in ambito digitale, il volume di una traccia audio potrebbe ad esempio variare fra -50 dB (leggero rumore di fondo) e -5 dB (volume elevato): la dinamica (ovvero la differenza fra il valore minimo e il picco più elevato) in questo caso sarebbe di 45 dB. La compressione della traccia, può abbassare i picchi elevati riducendoli ad esempio a -10 dB, con un abbassamento della dinamica complessiva a 40 dB: l'estensione dinamica è dunque diminuita, ovvero, attenuando i livelli del segnale più elevati abbiamo limitato la differenza di volume degli stessi con quelli più bassi. Ma perché dovrei voler ridurre la dinamica di una traccia? Fondamentalmente, perché avendo abbassato i picchi più elevati, potrei adesso aumentare il volume generale di tutta la traccia, rendendo udibili suoni che prima erano troppo bassi (o troppo nascosti da suoni troppo più forti) per essere ascoltati.
Come funziona un compressore
Il compressore, in genere, lavora sulla base di pochi parametri definiti dall'utente:
- soglia (threshold): generalmente espressa in dB, stabilisce il livello di volume a partire dal quale desiderate il compressore inizi ad agire. Ad esempio, impostando una soglia di -10 dB, il compressore agirà su tutti i suoni che superano in volume tale soglia.
- rapporto di compressione (ratio): stabilisce quanto deve essere compresso il segnale che oltrepassa la soglia. La ratio è espressa da un rapporto: ad esempio, una ratio di 2:1, significa che un segnale che superava la soglia di 10 dB, dopo la compressione la supererà di 5 dB soltanto. Ovvero, una ratio di 2:1 dice al compressore di ridurre a 1/2 lo sforamento del segnale oltre la soglia. Quando si usano rapporti di compressione molto elevati (oltre 10:1), si parla di limiting (e il compressore può allora definirsi limiter), ovvero una compressione estrema che in pratica non permette a niente o quasi di oltrepassare la soglia. Quando invece si usa un rapporto di compressione inverso (es. 1:3), si parla di expander anzichè di compressore: l'expander ha un'azione opposta, ovvero cerca di aumentare la dinamica di una traccia audio riducendo il volume dei segnali al di sotto di una certa soglia. Per esempio, un expander può essere utilizzato come noise reduction, azzerando i segnali al di sotto di una soglia molto bassa (ovvero azzerando di fatto il rumore di fondo).
- tempo di attacco (attack time): espresso generalmente in millisecondi (ms), stabilisce la velocità con cui deve cominciare ad agire il compressore quando il segnale supera la soglia. Un attacco medio o lungo, rende generalmente l'azione del compressore più naturale e morbida, ma di contro lascerà probabilmente il tempo a un po' di segnale di "schizzare" oltre la soglia prima di venir compresso. All'opposto, un attacco molto breve renderà l'azione di compressione quasi immediata, rischiando però di chiudere un po' troppo l'attacco di alcuni strumenti.
- tempo di rilascio (relase time): espresso in ms o in secondi, generalmente più lento dell'attacco, stabilisce quanto tempo debba impiegare il compressore a terminare la sua azione. Un tempo di rilascio molto breve porta il compressore a seguire fedelmente le variazioni in volume del segnale, rischiando un effetto di distorsione o oscillazione continua del volume stesso; un rilascio più lungo è generalmente più naturale, ma può finire con il prolungare l'azione del compressore anche quando il segnale è ormai rientrato sotto soglia (agendo dunque anche su suoni che non si vorrebbero comprimere).
- gain (o output): stabilisce quanto guadagno applicare al segnale compresso in uscita, per compensare la perdita di volume dovuta alla compressione stessa.
- Talvolta, vi sono anche altri parametri "minori", come ad esempio il knee, che impostato su "soft" o "hard" modifica la dolcezza o la durezza dell'azione del compressore.
Non esistono, ovviamente, settaggi giusti e sbagliati in assoluto, nemmeno per un certo strumento: dipende molto da quel che si vuole ottenere, oltre che dal suono iniziale... la maggior parte dei compressori software propone tutta una serie di presets per i vari strumenti, che possono essere un buon punto di partenza per cominciare a sperimentare e capire come funziona la compressione.
Usare un compressore
L'uso di un compressore audio, può avere molti scopi. In linea di massima, abbiamo già detto come il fine sia spesso quello di ridurre la dinamica di una traccia per poi poterne alzare il volume generale... ma, oltre a una questione di volume, è il suono stesso della traccia che risulta modificato. Tipicamente, batteria e basso sono strumenti che molto spesso vengono compressi: una batteria ben compressa potrà risultare più netta, più potente... un traccia di basso potrà diventare più decisa, forse sembrare anche meglio suonata. Anche la voce a volte viene compressa, sebbene, almeno a mio avviso, ci voglia più cautela in questo senso (dipende molto anche dai gusti e dalle scelte artistiche, ovviamente). Abbiamo già visto come un processore di dinamica possa essere usato anche come expander (detto in questo caso anche gate) per eliminare il rumore di fondo. La compressione è infine un passo fondamentale nel lavoro di mastering: in questo caso si lavora su un intero mix, e si utilizzano solitamente compressori multibanda (ovvero, con la possibilità di agire in modo indipendente sulle diverse frequenze), strumenti ovviamente più complessi.
Software per la registrazione
Con interfaccia grafica
gnome-sound-recorder : http://docs.fedoraproject.org/user-guide/f12/en-US/html/sect-User_Guide-Playing_multimedia-Sound_Recorder.html ; funziona; unica avvertenza fare sempre prima un salva con nome altrimenti in caso di crash bisogna andare a recuperare il file in /tmp
audio-recorder può registrare dalla scheda audio di sistema, microfoni, browsers, webcams e altro. Dicendolo semplicemente, tutto quello che puoi ascoltare dali tuoi altoparlanti può essere registrato. Possiede un timer evoluto che può:
- Start, stop o pause registrazione a una data ora.
- Start, stop o pause dopo un certo periodo di tempo.
- Stop quando la dimensione del file registrato supera un limite.
- Start registrazione al rilevamento di voce o suono (l'utente può impostare il livello audio e il ritardo).
- Stop o pause registrazione sui "silenzi" (l'utente può impostare il livello audio e il ritardo).
qarecord: A simple recorder application for ALSA and Jack. Produce solo file WAV.
flrec : Flrec - Simple audio hard disk recorder and player (sox frontend). Flrec (Fast and Light RECorder) is a simple audio hard disk recorder written using FLTK toolkit (www.fltk.org). It can directly record in wav, mp3, ogg-vorbis, ecc. Uses sox (sox.sourceforge.net) that is command line program for sound conversion. (problemi su Fedora 16 -non produce files-)
jack_capture : sostanzialmente a riga di comando: con interfaccia grafica; scadente su formati lossy
Rotter: Rotter is a Recording of Transmission / Audio Logger for JACK. It was designed for use by radio stations, who are legally required to keep a recording of all their output. Rotter runs continuously, writing to a new file every hour.
A linea di comando
- arecord : is a command-line soundfile recorder for the ALSA soundcard driver. It supports several file formats and multiple soundcards with multiple devices. If recording with interleaved mode samples the file is automatically split before the 2GB filesize.
esempio: arecord -f cd -t wav prova.wav
- parecord : Capture audio data and write it to the specified file or to STD-OUT if none is specified.
esempio: parecord --file-format=flac /tmp/tmp.flac
splitter
mp3splt-gtk (mp3 e ogg/vorbis)
Utility for mp3/ogg splitting without decoding
http://www.simple-linux.com/it/tagliare-un-file-mp3-con-mp3splt-gtk/
Editing
Editing significa montaggio. In ambito audio/video l'editing viene storicamente diviso in due tipologie, a seconda degli strumenti che si utilizzano per operare:
- Editing non lineare: venuto alla ribalta negli ultimi anni e ormai metodo principale sia prosumer che consumer, si basa sul fatto che gli spezzoni da montare vengono prima selezionati, tagliati, rifiniti, ordinati e associati tramite software e solo alla fine riversati. Questo è possibile solo utilizzando un dispositivo hardware (es: un PC) che consente di memorizzare le clip grezze, applicare loro gli effetti e poi compilare tutto. I sistemi non lineari che consentono anche l'inserimento di effetti speciali accurati e altamente configurabili.
- Editing non lineare, indicherà quindi montaggio di una clip utilizzando il computer.
- Editing lineare viene effettuato tramite dispositivi analogici (centraline di montaggio, titolatrici, ecc...) che si interfacciano con registratori magnetici o altre fonti analogiche e consentono di applicare effetti sul segnale video che passa. Questa tecnica è molto costosa e necessita di particolare abilità ed esperienza poiché tagli, effetti ed altro avvengono "in diretta". Tutto il procedimento è cronologico e "lineare", appunto.
- Noi intenderemo per montaggio non lineare quello che potremmo effettuare con due registratori magnetici collegati, al più, ad una centralina.
E' immediato quindi capire quanto sia più economico e semplice montare un filmato in maniera non lineare. Non solo, risulta più versatile lavorando su dati digitali (quindi bit) che consentono l'applicazione di effetti software complessi e il mantenimento della qualità iniziale.
Editing non distruttivo e undo
Editing functions non-destructive and non-linear, meaning you can undo one or many editing revisions, no matter what order they are applied. Linear undo requires the user to revert the latest action before undoing earlier ones. With non-linear undo, the action to be reverted can be freely picked from the action history list.
Audacity
Audacity è un editor e registratore audio libero, facile da usare e multilingua per Windows, Mac OS X, GNU/Linux e altri sistemi operativi. Potete usare Audacity per:
- Registrare audio dal vivo.
- Convertire nastri e dischi in registrazioni digitali o CD.
- Modificare i file audio Ogg Vorbis, MP3, WAV o AIFF.
- Tagliare, copiare, unire o miscelare audio.
- Cambiare la velocità o l'intonazione di una registrazione.
- E molto altro ancora!
funzionalità
Registrazione
Audacity può registrare audio dal vivo attraverso un microfono o un mixer, può digitalizzare registrazioni da musicassette, dischi in vinile o minidisc. Con alcune schede audio può anche catturare flussi audio in streaming.
- Registrare da microfoni, dalla porta line in e da altre sorgenti.
- Miscelare tracce esistenti per creare registrazioni multitraccia.
- Registrare fino a 16 canali in contemporanea (richiede hardware multicanale).
- Con i monitor potete monitorare i livelli di volume prima, durante e dopo la registrazione.
Importazione ed esportazione
Importare file audio, modificarli e unirli con altri file o registrazioni. Esportare le vostre registrazioni in numerosi formati audio
- Importare ed esportare file WAV, AIFF, AU e Ogg Vorbis.
- Importare audio MPEG (compresi i file MP2 e MP3) usando libmad.
- Esportare file MP3 usando la libreria opzionale LAME.
- Creare file WAV o AIFF pronti per essere masterizzati su CD.
- Importare ed esportare tutti i formati file gestiti da libsndfile.
- Aprire file audio raw (senza header) usando il comando "Importa dati raw"
- Nota: attualmente Audacity non supporta WMA, AAC, o altri formati file proprietari o con restrizioni.
Modifica
- Modificare con facilità usando i comandi Taglia, Copia, Incolla ed Elimina.
- Usare la funzione illimitata Annulla (e Ripristina) per tornare indietro per un qualsiasi numero di passaggi.
- Modificare velocemente file di grandi dimensioni.
- Modificare e miscelare un numero illimitato di tracce.
- Usare lo strumento Disegno per modificare singoli campioni.
- Modificare il volume con lo strumento Inviluppo.
Effetti
- Cambiare l'intonazione senza alterare la velocità, o vice-versa.
- Rimuovere vari tipi di rumore di fondo.
- Alterare le frequenze con l'Equalizzazione, il filtro FFT e l'effetto "Esalta i bassi".
- Regolare il volume con gli effetti Compressione, Amplifica e Normalizza.
- Altri effetti tra i quali:
- o Eco o Phaser
o WahWah o Inverti
- o Eco o Phaser
Qualità audio
- Registrare e modificare audio campionato a 16-bit, 24-bit e 32-bit (floating point)
- Registrare fino a 96 Khz.
- I formati audio e le frequenze di campionamento sono convertiti mantenendo un'alta qualità.
- Miscelando tracce con differenti frequenze di campionamento o in diversi formati audio, Audacity eseguirà automaticamente la conversione in tempo reale.
Plug-in
- Aggiungere nuovi effetti usando il plugin LADSPA.
- Audacity include alcuni plugin creati da Steve Harris.
- Caricare plugin VST per Windows e Mac, attraverso il modulo opzionale VST Enabler.
- Scrivere nuovi effetti usando il linguaggio di programmazione incluso Nyquist.
Analisi
- Modalità Spettrogramma per visualizzare le frequenze.
- Opzione “Mostra spettro” per un'analisi dettagliata delle frequenze.
Libero e Multi-Piattaforma
- Rilasciato sotto la GNU General Public License (GPL).
- Disponibile per Mac OS X, Windows, e GNU/Linux.
altri editor
http://www.brighthub.com/computing/linux/articles/23385.aspx
rezound
No multitrack ability.
ReZound is an digital audio editor primarily for, but not limited to, the Linux operating system. Licensed under the GPL. ReZound is free software. Presently, ReZound’s focus is on editing audio files for permanent change as opposed to arranging and/or filtering existing audio files to produce a composite work. It can optionally load a variety of audio file formats being dependent upon several audio file libraries. ReZound implements a standard set of editing tools and digital filters (some these tools with useful twists on the usual theme). Additionally, it supports loading LADSPA plugins. The last ReZound version, 0.12.3beta, was released on January 13, 2007. The project seems to be stalled as of 2008-01-26.
sweep
Sweep is a digital audio editor and live playback tool for Linux, BSD and compatible systems. It is able to handle many sound formats, including MP3, WAV and Vorbis. The most notable feature of Sweep is its stylus-like cursor tool called Scrubby. Sweep is included in most modern Linux distributions. Released under the GNU General Public License, Sweep is free software.
BFSF Wiki