Jump to content

Please note: You can easily log in to MPN using your Facebook account!

A simple cloud audio processing example

Recommended Posts

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:




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


Link to comment
Share on other sites

  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

" 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.


Link to comment
Share on other sites

  • 3 months later...

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.



Link to comment
Share on other sites

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.




Dr. Mike Metlay (PhD in nuclear physics, golly gosh) :D

Musician, Author, Editor, Educator, Impresario, Online Radio Guy, Cut-Rate Polymath, and Kindly Pedant

Editor-in-Chief, Bjooks ~ Author of SYNTH GEMS 1


clicky!:  more about me ~ my radio station (and my fam) ~ my local tribe ~ my day job ~ my bookmy music

Link to comment
Share on other sites

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.




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...