Archivio mensile 26 Aprile 2020

Virtual device Audio per apple MAC

Se giochi con streaming, podcast, missaggio, webradio o vuoi allestire uno studio di registrazione audio a casa, potresti trovare difficile ottenere l’audio da alcune fonti e registrare o utilizzare nel tuo live set.

Mentre in un vero mondo analogico, questo può essere risolto con cavi e mixer, suddividendo parte dell’uscita in altri ingressi e cose simili, in un mondo digitale questo sembra difficile ed è complicato, ad esempio registrare l’audio dal browser o ottenere l’audio da skype o simili. Ci sono alcune soluzioni che voglio condividere con te, 2 su 3 sono completamente gratuite:

Soundflower

FREEWARE. Estensione del sistema MacOS che consente alle applicazioni di trasferire l’audio ad altre applicazioni. Soundflower funziona su macOS Catalina. Segui le istruzioni a questo link (link ufficiale) dopo un riavvio vedrai 2 nuovi dispositivi di output disponibili nel tuo menu. Puoi impostare l’output su soundflower e impostare soundflower come input, nel tuo software di registrazione e il gioco è fatto!

 

 

 

 

BlackHole

FREEWARE. BlackHole è un moderno driver audio virtuale per macOS che consente alle applicazioni di trasferire l’audio ad altre applicazioni senza alcuna latenza aggiuntiva. Segui le istruzioni a questo link (link ufficiale). Funziona proprio come Soundflower: aggiunge un nuovo dispositivo virtuale Blackhole 16ch e puoi utilizzare l’ingresso di Blackhole 16ch per ottenere l’audio di ogni app, semplicemente impostando l’uscita su Blackhole 16ch.


 

 

 

 

 

 

 

LOOPBACK

99$, 14 days trial. Crea dispositivi audio virtuali per prelevare il suono da app e dispositivi di input audio, quindi passarlo a qualsiasi software di elaborazione audio. Con un’interfaccia cablata di facile utilizzo, Loopback ti offre la potenza di un mixer da studio di fascia alta, direttamente all’interno del tuo computer. Dettagli qui mentre Loopback non è un software gratuito, ha il potere di un’interfaccia utente super facile da capire in cui è possibile configurare più fonti come un nuovo dispositivo virtuale.

E poi puoi usare questo nuovo dispositivo virtuale creato nel tuo software di registrazione

Il mio caso d’uso è qualcosa di un po’ complicato rispetto alla registrazione da una fonte interna nel mio computer: voglio trasmettere in streaming il mio programma webradio da casa e avere qualcun altro che parla con me durante lo spettacolo, ma lui/lei è a casa. Quello che sto usando è MIXX un software gratuito che può facilmente trasmettere l’audio al server shoutcast o icecast, puoi aggiungere più microfoni (fino a 4 microfoni) quindi voglio che l’output di Skype sia visto come un microfono, per fare questo ho installato Soundflower e utilizzato come dispositivo di output in Skype

E imposta Soundflower 2ch come microfono in MIXX

E funziona! Questo è solo un caso d’uso, ma puoi risolvere molti problemi con queste soluzioni. Quindi probabilmente vorrai anche funzionalità aggiuntive come: inviare una sorgente a due dispositivi diversi (ad esempio altoparlanti reali e uno del dispositivo virtuale) in modo da poter ascoltare ciò che stai registrando o utilizzare come sorgente (il microfono virtuale skype nel mio caso d’uso). Questo può essere fatto utilizzando il dispositivo audio integrato dell’Apple MAC, basta aprire il dispositivo audio, fare clic sul pulsante + nell’angolo in basso a sinistra e selezionare “crea dispositivo multi output

È quindi possibile selezionare qualcosa come l’uscita integrata (gli altoparlanti) e l’uscita Soundflower (impostare la correzione della deriva, risultato migliore)

Quando dispositivo a uscita multipla viene selezionato dal menu audio…

…tutto ciò che viene inviato all’uscita integrata verrà inviato anche al Soundflower.

Ti è piaciuto questo articolo? Considera una donazione!

Audio virtual device for MAC

If you play with streaming, podcast, mixing, webradio or you want to setup an audio recording studio at home you may find difficult to get audio from some sources and record or use in your live set. 

While in a real analog world, this can be solved with cables and mixers, by splitting some output to other inputs and similar stuff, in a digital world this seems difficult and it’s complicated, for example, record the audio from the browser, or get the audio from skype or similar. There are some solution that I want to share with you, 2 out of 3 of them are completely free:

Soundflower

FREEWARE. MacOS system extension that allows applications to pass audio to other applications. Soundflower works on macOS Catalina. Follow the instruction at this link (official link) after a restart you’ll see 2 new output device available on your menu. You can set the output to soundflower and set soundflower as input, in your record software and done!

 

 

 

 

BlackHole

FREEWARE. BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency. Follow the instruction at this link (official link). It works just like Soundflower: it adds a new virtual device Blackhole 16ch and you can use the input of Blackhole 16ch to get the audio of every app, just setting the output to Blackhole 16ch.


 

 

 

 

 

 

 

LOOPBACK

99$, 14 days trial. It creates virtual audio devices to take the sound from apps and audio input devices, then pass it to any audio processing software. With an easy-to-use wire-based interface, Loopback gives you the power of a high-end studio mixing board, right inside your computer. Details here while Loopback is not a free software, it has the power of super easy to understand user interface where you can configure multiple sources as a new virtual device.

And then you can use this new created virtual device in your recording software

My use case it’s something a little bit complicated than record from an internal source in my computer: I want to stream my webradio show from home, and have someone else talking with me in the show, but he/she is at home. What I’m using is MIXX a free software that can easily stream audio to shoutcast or icecast server, you can add multiple microphones (up to 4 microphones) so I want that Skype output is seen as a microphone, to do this I’ve installed Soundflower and used as output device in Skype

And set Soundflower 2ch as mic in MIXX

And it works! This is just a use case, but you can solve a lot of problem with these solutions. Then you probably want also and additional feature like: sending a source to two different device (for example real speakers and one of the virtual device) so that you can listen to what you are recording, or using as a source (the skype virtual microphone in my use case). This can be done using the built in Audio device of the Apple MAC, just open Audio device click on + button on the left bottom corner and select “create multi output device”

You can then select something like Built-in output (the speakers) and Soundflower output (set Drift correction, better result)

When Multi-output device is selected from the sound menu….

..everything that is sent to the Built-in output will also be sent to the Soundflower. 

Liked this article? Consider a donation!

Automatic check for unbalanced audio, or bad level

I have a radio show and I’m also one of the people much involved in all the tech-related stuff in the Radio. There are multiple system that automatically, and manually, record the podcast of a show, upload it online and similar stuff.

Sometimes the recorded podcasts have some problems, typically:

  • The audio of the left channel is unbalanced with the respect of the right channel, or viceversa (Unbalanced volume level)
  • The audio is too high
  • The audio is too low

It may happen because the analogic audio system, before the audio card sampler, was misconfigured, or someone move some knobs, or maybe the cable are too long and of bad quality. Anyway, when this happen, there is no way I can understand it other than listen to all the recorded files. 

We are around 40 speakers, we broadcast liver from 8:00 to 24:00… it’s not something that a human want (and can) do. So for this type of problem computer systems is the way. I need

something that automatically can understand if a file is unbalanced, too high or too low in volume

I think that Linux is a super operating system and it’s full of library, tool, script and community that can help you find the right solution, but sometimes it’s not so simple. The siwss-knife I was looking for is called sox. Sox is a command line tool that can do tons of stuff (see here for the documentation). What I used for this is the stats option

sox FILE_NAME.mp3 -n stats

stats returns a lot of info, and what I was looking at was the RMS db level, global and for each channel (left right). To filter out these result we can use a simple grep command:

sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB'

And with some ‘magic’ get the numeric info about TOTAL level, LEFT and RIGHT level:

LINE=$(sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB')

TOTAL=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 4)
LEFT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 5)
RIGHT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 6)
BAL_DIFF=$(echo "($LEFT)-($RIGHT)" | bc)

What we have done here? Saved the output of the sox command to the variable LINE:

LINE=$(sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB')

and then we’ve parsed it 3 times:

TOTAL=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 4)
LEFT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 5)
RIGHT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 6)

and stored the LEFT/RIGHT difference to a variable BAL_DIFF

BAL_DIFF=$(echo "($LEFT)-($RIGHT)" | bc)

from now on what you need to do with these value is up to you, you can check if values are less then a threshold and send an email, store the value somewhere, push an alert.

 

Controllo automatico di livelli sbilanciati o troppo alti

Ho un programma radiofonico e sono anche una delle persone più coinvolte in tutte le cose relative alla tecnologia della radio. Esistono più sistemi che automaticamente e manualmente registrano il podcast di uno spettacolo, lo caricano online e cose simili.

A volte i podcast registrati presentano alcuni problemi, in genere:

  • L’audio del canale sinistro è sbilanciato rispetto al canale destro, o viceversa (Livello volume non bilanciato)
  • L’audio è troppo alto
  • L’audio è troppo basso

Può succedere perché il sistema audio analogico, prima del campionatore della scheda audio, è stato mal configurato, oppure qualcuno ha spostato delle manopole, o forse il cavo è troppo lungo e di cattiva qualità. Ad ogni modo, quando ciò accade, non c’è modo che io possa capirlo se non ascoltando tutti i file registrati.

Siamo circa 40 relatori, trasmettiamo live dalle 8:00 alle 24:00… non è qualcosa che un essere umano vuole (e può) fare. Quindi per questo tipo di problemi i sistemi informatici sono la soluzione. Ho bisogno

qualcosa che automaticamente può capire se un file è sbilanciato, troppo alto o troppo basso di volume

Penso che Linux sia un super sistema operativo ed è pieno di librerie, strumenti, script e comunità che possono aiutarti a trovare la soluzione giusta, ma a volte non è così semplice. Il coltello siwss che stavo cercando si chiama sox. Sox è uno strumento a riga di comando che può fare un sacco di cose (vedi qui per la documentazione). Quello che ho usato per questo è l’opzione stats

sox FILE_NAME.mp3 -n stats

stats restituisce molte informazioni e quello che stavo guardando era il livello RMS db, globale e per ogni canale (sinistra destra). Per filtrare questi risultati possiamo usare un semplice comando grep:

sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB'

E con un po’ di “magia” ottieni le informazioni numeriche sul livello TOTALE, SINISTRO e DESTRO:

LINE=$(sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB')

TOTAL=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 4)
LEFT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 5)
RIGHT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 6)
BAL_DIFF=$(echo "($LEFT)-($RIGHT)" | bc)

Cosa abbiamo fatto qui? Salvato l’output del comando sox nella variabile LINE:

LINE=$(sox FILE_NAME.mp3 -n stats | grep 'RMS lev dB')

e poi l’abbiamo analizzato 3 volte:

TOTAL=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 4)
LEFT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 5)
RIGHT=$(echo $LINE | tr -s ' ' | cut -d ' ' -f 6)

e memorizzato la differenza LEFT/RIGHT in una variabile BAL_DIFF

BAL_DIFF=$(echo "($LEFT)-($RIGHT)" | bc)

d’ora in poi ciò che devi fare con questi valori dipende da te, puoi verificare se i valori sono inferiori a una soglia e inviare un’e-mail, archiviare il valore da qualche parte, inviare un avviso.

 

Un mese di quarantena

Non andrà bene, ma non moriremo. Perché prima o poi finirà, finirà tutto quanto (cit.)

 

Mi sono rotto il cazzo dei flashmob. Di chi si lamenta dei flashmob, dei cani e dei padroni dei cani, dei runner e degli accusatori dei runner.

Mi sono rotto il cazzo degli sceriffi di quartiere, giustificati da un concorso fatto anni addietro che gli ha regalato una divisa, ed ora si sentono i capetti.

Le regole che non dicono di portare la mascherina e poi non puoi entrare al supermercato se non ce l’hai, come se fosse il Berghain a Berlino. Mi sono rotto il cazzo dell’ottimismo manifestato i primi 3 giorni e poi quando ci siamo resi conto che non sarebbe stato uno scatto, ma una maratona di mesi, allora niente più ottimismo (sono capaci tutti a fare gli ottimisti il primo giorno).

Mi sono rotto il cazzo di lavorare, che è l’unica cosa che mi tiene sano ed occupato per la maggior parte del giorno, se non fosse che mi rendo conto che lavoro per produrre beni e servizi che non vengono acquistati da nessuno, visto che siamo tutti a casa. Quindi il lavoro è ormai diventato solo un tempo occupato da attività, per lo più, inutili. E io sono uno di quelli fortunati che fa smart working anche in maniera seria.

Le videochiamate non sono come vedere le persone in prima persona, no non lo sono e mi sono rotto il cazzo di parlare tutti insieme dentro ad uno schermo. Se non l’avessi avuto starei impazzendo da molto prima. Ma mi sono rotto il cazzo.

“Dicono…” “ho sentito che fino a ..” “comunque prima di ..” mi hanno stufato. Finirà quando sarà finita, che ne parliamo a fare? 

Mi sono rotto il cazzo dei numeri. E solo i numeri possono dirci se e quando sarà finita. Mi sono rotto il cazzo di chi uscirà a Pasqua e poi farà risalire i numeri e io che sto a casa da 1 mese sarò l’eroe. L’eroe stupido come quelli che pagano le tasse e l’altro 60% le evade. 

 

Mi ha stufato i vostri ricordi dei social, i vari “un anno fa, quando potevamo uscire” i vostri “torneremo a rivederci come in questa foto di Salento 2004” forse non ci torneremo, qualcuno morirà e qualcun altro impazzirà. O più semplicemente torneremo delle mediocri persone come prima.

La televisione con gli inviati da casa davanti a finte librerie, con quelle cuffiette orribili, le luci impostate malissimo, la definizione da webcam primi anni 90 mi ha rotto il cazzo. Se continua a lungo in questa maniera, potrei valutare di iniziare a vedere musical anni 60 (odio i musical, per chi non lo sapesse. Li odio da sempre)

No, l’Europa non è cattiva perché non ci vuole dare i soldi. Siamo noi il figlio che si sperpera tutto quello che gli dai, che se lo gioca al picchetto, che se lo perde perché è sbadato, che lo regala a maghi, truffatori o malavitosi. Ad un certo punto anche tua madre non ti darebbe più i soldi, anche se stai alla canna del gas. La storia è quella del tizio che grida sempre “Al Lupo al lupo”. E sappiamo come è andata a finire.

Non siamo in guerra, non siamo in galera, non siamo eroi, non siamo martiri, non siamo persone migliori, non ne usciremo meglio, non ne usciremo peggio, non siamo più bravi noi mica come quelli di …. (potete inserire la categoria o nazionalità che volete) e non lo siamo perché abbiamo fatto i nostri sbagli e le nostre scelte buone.

Andrà tutto medio, come è sempre stato e come sempre sarà. 

Ma io nel frattempo mi sono rotto il cazzo.

WebRadio, FM Radio, streaming and similiar stuff. A Webinair

Mirobarsa, speaker at https://www.radiocittaperta.it with a 30 minutes Webinair about: WebRadio, FM Radio, streaming and similiar stuff. Also some usefull resources on How to start your webradio.