Music Player Network
Previous Thread
Next Thread
Print Thread
A simple cloud audio processing example
#3016443 11/17/19 01:47 PM
Joined: Feb 2010
Posts: 4,400
Likes: 8
MP Hall of Fame Member
OP Offline
MP Hall of Fame Member
Joined: Feb 2010
Posts: 4,400
Likes: 8
Hi all,

Apart from working with the Linux/jack/ladsa and other digital signal processing tools, I've looked at cloud processing in general (I'm EE after all) but also specifically for music applications, starting a bit bottom up.

So, I've made use here of a free (actually free, though there's a need to connect a billing account) AWS "ec2" Linux node. That's Linux based on Red Hat Enterprise Linux, kernel (like on you Android phone/pad/TV) 4.14+, essentially running on a single (virtual) thread of a 2.5GHz Xeon processor in the Amazon server farm.

Because that single thread processor running this pro Linux is on for 24/7 a month for free, has significant internet access (don't pull out more than 16GigaByte/Mo though, or you'll have to pay) I thought I'd run some of my studio processing audio basics on it, to see what gives...

If you want to try, it's quite possible to execute the same install and make commands I did, thought it requires some work to get the basic jack processing tools running, by lack of a dedicated (real time) audio AMI, but like I said, this facility is free for anyone to try, I could give a short summary of making these tools on your own amazon cloud node as well, these jack/ladspa tools are going to cose a lot less than the available free storage space.

So I worked on getting jack (the main real time streaming virtual networked audio server tool) compiled and running on a "virtual" audio domain, meaning no actual soundcard in/out (obviously), and compiled among others the "jack-rack" tool, which allows a rack full of potentially multi-channel audio processing steps, based on any subset of the long standing LADPSA plugin sets of tools:

[Linked Image from theover.org]

Now, I'm in the process of making audio file player and recorder for wav/flac/mp3 for this setup, and maybe I'll get my (web) server scripts from the mothballs to do something publicly automated with this all.

Any rate I'm going to do a simple and short video on this example, maybe someone has a request what type of processing I should look at ?

T. V

Re: A simple cloud audio processing example
Theo Verelst #3016622 11/18/19 08:18 PM
Joined: Feb 2010
Posts: 4,400
Likes: 8
MP Hall of Fame Member
OP Offline
MP Hall of Fame Member
Joined: Feb 2010
Posts: 4,400
Likes: 8
" Processing audio on a free AWS cloud node"


As and experiment, I've installed some of the Linux Jack/Ladspa audio processing tools on the Amazon Linux 2 single thread, 1GB memory Xeon facility. To test it out, I took a test recording I made myself lately, stream it from my own server in 96kHz/24bit lossless .flac to the cloud computer, process it through a 'jack-rack' with some plugins, record it again in 44.1 320k mp3 "live", which gets put on te AWS Apache web server on the cloud node, played back by a locally run "mplayer" to listen to the result.

Meanwhile, I've made us of the "ssh -Y ..." command on my own server machine of which the screen is recorded here (sorry for "cinema glow", not entirely useful for this purpose) to ssh-tunnel windows on my Fedora 28/64 X server, at the same time as running a NICE DCV client on my Fedora browser (no install needed), which connects to a virtual X server on the cloud compute node together with the Dcv server. In that simulated cloud computer desktop, it's easier to show things like meters and menus flopping around, because there well through thought compression between the remote X server virtual screen and the web client than simple remote X windows.

The DSP experiment is just to demo the concept, I might some day want a big AWS node with many thread processors to make much bigger graphs than this demo, so this is a proof of concept!

It's like the in and out to the web application, from the perspective of the user makes sense: 96kS/s loss-less audio in (hopefully fits through the ADSL connection), low bandwidth course monitoring out. The processing in this way can be adjusted without problems, also when the rack count goes up steep, as well as viewing meters and moving graphs works good over the connection.

The method of using jack(d) with 32 bit floating point audio per stereo channel on the cloud server is accurate: every digital signal processing step is sample accurate and 100% repeatable, so suitable for scientific use.

Of course one can use much more potent Amazon or other (I tried only this) processing nodes to accommodate very large "live" controllable processing graphs.

Theo V.

Last edited by Theo Verelst; 11/19/19 10:43 AM. Reason: added explanation
Re: A simple cloud audio processing example
Theo Verelst #3031661 03/04/20 09:13 PM
Joined: Feb 2010
Posts: 4,400
Likes: 8
MP Hall of Fame Member
OP Offline
MP Hall of Fame Member
Joined: Feb 2010
Posts: 4,400
Likes: 8
I'm aware most people here will not be much at home on Linux and the sound tools for it, but I've started to get close to having the tools available one the 1 year free micro node with Amazon Linux 2, including working jack, calf tools, jamin (fft mastering processing), qjackctl. Some took compiling, and I haven't checked out a big machine yet to run my big studio processing graphs, but it's getting closer to being possible.

T

Re: A simple cloud audio processing example
Theo Verelst #3032846 03/11/20 11:43 PM
Joined: Jun 2019
Posts: 663
Likes: 37
Gold Member
Offline
Gold Member
Joined: Jun 2019
Posts: 663
Likes: 37
Hi Theo,

Thanks very much for posting this here. I know it will be out of reach for a lot of people, but it's good to see how this technology is developing, and I hope you continue to keep us informed as you proceed.

mike


Dr. Mike Metlay (PhD in nuclear physics, golly gosh) grin
Janitor and Hall Monitor, Dr. Mike's Studio Workshop

clicky!: more about me ~ my schwag ~ my radio station (and my fam) ~ my local tribe ~ my day job
Re: A simple cloud audio processing example
Theo Verelst #3033498 03/15/20 07:40 PM
Joined: Feb 2010
Posts: 4,400
Likes: 8
MP Hall of Fame Member
OP Offline
MP Hall of Fame Member
Joined: Feb 2010
Posts: 4,400
Likes: 8
Thanks, the Linux software in all these and many other cases is Free and Open Source, as are the "home" linuxes and in this case the Amazon Linux 2. Now, I am for making necessities of life reasonably priced, but I wouldn't want the board of Microsoft directors decide on what music software should be normalized for all the foreign connections to use for their production of pop and other music kinds.

The good advantage of this setup is that what happens at sample level is exact: signals are exactly defined, delays are always fixed and can be known beforehand and as long as the control window says Jack is running properly you can presume that normally every queue of sample batch processing has been done on time to stay in pace with the DAC rate.

T.V.


Moderated by  Dr Mike Metlay 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4