Hi, looking forward, the RPi 4 supports up to 4GB RAM and has quite a decent CPU. Surely this is sufficient for not only hobbyists, but for serious product development.
At what point would the RPi become a limitation? I’m a beginner with audio development specifically, but one would think that with SD-card peripheral/disk storage (being quite fast versus mechanical drives), that one could code their DAW such that the memory limitations aren’t relevant. Would the RPi memory limitations become a bottleneck for high track count DAWs?
At 96k 24bit, each track is at least 288k of data per second. If someone had 100 tracks, that would be ~28M per second if not mistaken. (definition of M versus 1000k/1024k etc. notwithstanding). At what point is RAM isn’t a limiting factor for track count? How would plugin utilization factor into this?
As for CPU, I’d also be interested to see what are the limits of the RPi 3b/4. Most plugins out there have such extremely low CPU utilization that surely the RPi will be sufficient for many needs. But, one could imagine if they are trying to build a UA/AxeFX/Eventide style of device, that they’d likely want to look at the closed-source version of Elk targeting faster hardware?
To this end, what are the challenges with porting any Elk development done on the RPi platform to a different platform (closed source Elk, other harrdware besides RPi)? Maybe it just “works”?
Any thoughts at all are appreciated. I’m aiming to get a few kits going and start a new local makerspace around the platform – allow the younger generation to “see the light” and understand how revolutionary Elk is. Nobody knows about it currently!
I’ve done some audio dev on the RPi 3. It’s really pretty capable as far as audio processing goes. I do iOS audio dev now and one of my test devices is an iPhone 6. The RPi 4 is pretty much better than the iPhone 6 in every way as far as audio processing goes. The iPhone 6 can run GarageBand along with several other multitrack DAW’s pretty impressively. On top of that, you have to consider that most of the processing power of the iOS device is being taken up by other tasks and GUI is a large portion of that.
The clever way that Elk is handling the RT thread aspect of the audio path issuing to be a big benefit too. The biggest problem I’ve had with doing audio work on Linux is dealing with RT kernel issues impacting the rest of the system.
From my point of view, the biggest problem with the RPi 3 for use as a DAW is the storage issue. SD cards really aren’t ideal for this at all. I believe the RPi 4 has moved to USB 3 and is supposed to have the ability to boot from USB either on the way or already out. USB 3 to an SSD would be pretty usable for any DAW setting. If that’s not enough, there are SBC’s like the stuff from Pine64 that have the GPIO capability and include PCIe so that direct connection to SSD and NVMe is possible. That’s about as fast as it gets to long-term storage.
My current plan is to use the Elk Dev kit with one of my RPi 3’s when I get it to get used to how it works and get a feel for it and then get hold of an RPi 4 and a RockPro64 to compare them and see how hard it would be to get Elk running on the RockPro64 SBC.
Overall, I expect the RPi 3 to be plenty capable for use as dev platform and see what is possible and start development on a project that I’ve been looking for a good platform to work on.
We’ll start working on the Pi4 soon and hopefully we’ll have it ready next year. We checked the peripherals and on paper it should be possible to port our system there.
The limits that I see on the Pi3 are actually more about CPU power than RAM usage. Especially if you want to run several plugins, you’re more likely to hit first the CPU limit than the RAM limit but of course it depends on the kind of processing.
SUSHI, our host, doesn’t have recording capabilities yet. It’s more like a live host like Mainstage than Garageband or Logic. We have some plans to add some basic recording capabilities, and once the system and sources will soon be released, anyone could actually do that.
But still, Elk is probably not a good fit for replacing your Desktop DAW for Music production, mostly for the lack of a full-fledged Desktop GUI. It could be a good “sketching tool” for musical ideas, though.
Thanks for the reply.
Some ability to record audio out of SUSHI would be very nice, but a MainStage like system with physical assignable/configurable controls is exactly the thing I’m hoping for.
@Stefano et al
Why exactly is Elk not a good fit for (eventually) developing a proper, UI-decoupled DAW? The platform looks like a perfect fit to develop a next-generation DAW, and this is one of the draws, for me, personally.
The big issue with DAW’s is the lack of real-time guarantees and the latency. Elk seems to solve these problems.
Yes, such development of a DAW UI from scratch is non-trivial. But the beauty is the standardization of an interface in front of the audio engine, streamlining development of UI’s for different platforms (desktop, tablets, phones, dixie cups and strings, etc).
I’ll try to specify better before our marketing guys think that I’m down-selling our product
It depends a lot on the definition of “DAW” and what you are doing with it. I’d say that today, roughly, DAWs are used in 3 ways:
- Editing / mixing a project with several tracks
- Recording new tracks (with FX monitoring)
- As a sort of live-host, including playback of clips
Elk can indeed be a perfect fit for 2 & 3, plus for a small-scale version of 1.
Yes, it’s theoretically possible to write a full-fledged DAW on top of Elk having a remote UI somewhere else (or even via web, with the web-server running on the Elk board). But besides being a huge undertaking, modern Desktop DAWs need to access tons of RAM, disk, CPU and they are a natural fit for Desktop GUIs. Moreover, latency & RT performance is usually not an issue while editing.
That’s why I see it difficult to have a DAW of the same level of e.g. Pro Tools, Cubase or Logic running on Elk devices, which are by nature more constrained than normal computers. However, if you don’t want to compete directly with those products, there are several other DAW-like projects for which Elk could be a perfect fit, for example:
- Recording single tracks with low-latency monitoring including the FX chain
- A “mini-DAW” focused on real-time performance and/or as a sketching tool to create projects that then you can refine with a “big DAW”
I think we are seeing a similar scenario right now with web-based DAWs like Soundtrap, Soundation, etc. Today, they cannot compete in terms of features with the big DAWs but still, they are interesting for other reasons and they are a good fit for some users.
Thanks for the detailed response. All good on down-selling - I’m already on board and will find out by December anyway
You mentioned the resource needs of a DAW: lots of RAM, disk, CPU. All of these are conceivably available on a platform for which the Elk interface could work, if that’s not the case already. For comparison, I run Reaper on an old i7-920 with maybe 8GB ram. Runs everything needed to simultaneously record 32 tracks, as well as edit essentially unlimited tracks (for our needs). And it’s handling both the UI as well as the audio engine. Elk, on the other hand, would just need to handle audio, and the UI could be a desktop computer.
Besides the fact that the platform is intended to be entirely headless (presenting a different set of challenges and complexities regarding communication between the UI and the brains, which you did allude to), it’s not clear to me what limitations exist specifically with Elk to prevent one from recording 32 tracks at a time. (Lack of recording functionality at this time within Sushi notwithstanding, and limitations of SD notwithstanding - willing to prototype and await RPi 4 with USB drive support)
The Elk Pi Hat indicates that it offers 32 digital ins and outs (in addition to other ins and outs). It won’t be possible to code a DAW to support recording 32 tracks at a time (even at 44.1k)?
Does the Elk Pi Hat support all of the indicated channels at the max rates (e.g. 192k)?
What is the max number of simultaneous audio I/O channels that Elk Pi Hat supports, and at what sample rate? The specs would suggest that it can support 6 analog and 32 digital in/out simultaneously, perhaps at 192k?
Also, what format is the digital I/O? Presumably there still needs to be some type of mux or interface to break that out to desired digital format (Dante, AES/EBU, AES50/67, Lightpipe, etc etc)
Just realized that I may have mis-understood the specifications of the Elk Pi Hat.
The spec list does say 32 digital ins and outs, which I seem to have assumed meant audio. Perhaps this is not the case? What are the “32 digital ins and outs” meant for?
The 32 “digital I/Os” that you are mentioning are not audio but GPIO (General Purpose Input Output) pins.
Basically to connect buttons, encoders, etc.
The analog audio section has 6 input channels & 8 output channels.
That makes way more sense. I did experience a few days of dreaming about standing up 36 channels of audio I/O. Back to reality
This actually is good news for me, so I’m not stuck on dreaming about building a DAW from scratch. Realistic project ideas we are floating around: Get cheap pedalboards and rip out the guts, put in Elk and our own custom DSP. Build rackmount FX processors for the Juce plugins we’re developing. Build synths of course. Or unique audio processor devices with desktop-style interfaces.
So many cool things to do, and surely the RPi 3b+ will suffice for now
Super excited, still.