Mac Mini M1 for music

Its here … arrived yesterday…

Spec : Mac Mini M1 16GB RAM, 1TB SSD

I know quite a few of us here are mac users, so thought I’d share my experiences, and plans…

You’ve likely seen review videos etc already, so you won’t be surprised to hear its fast.
But what I want to know is it useable today… or do we need to wait for things to settle down a bit, for developers to ‘make the transition’.

I think generally, most are wise to wait a bit… this is going to end up being the ‘base model’ we can expect faster/more powerful mac book pros and iMac, mac pro next year. Though I still thing this mac mini format is very attractive considering price etc.
that said, I desparately needed a new mac for both development and music.

I plan to make some videos on the M1 and how usable it is… but thought id blog some details here, also if you have any questions of things you wnat me to try - ask away.

my basic plan is:
step 1) set it up as a computer for music
step 2) set up dev environement to build both arm and intel builds
step 3) looking at migrating various software to arm :slight_smile:

step 1 - music computer

started yesterday…
installed Logic, Final Cut Pro (for youtube videos) , Bitwig Studio , Ableton Live 11 (beta)
all worked fine including the Push 2 for Live and Bitwig !
and indeed, as per reviews, it all feels very snappy regardless of using Rosetta or not.

I then tested midi connectivity , using my mioXM … for both midi input (keyboard) and clock sync - again 100% ok !

then tested audio interfaces … I use a Percussa SSP and Zoomo H5 - again fine !

then on to some software…
U-he, Madrona Labs , Vahalla plugs … boring, they work too :wink:
UVI Falcon… hah, this uses iLok bound to fail - nope works :frowning:

(k, this was software iLok, I need to check the hardware dongle for cubase, but Im still on cubase 7, not sure if I want to install!)

VCVRack, seems fine… looking forward to trying some ‘heavy patches’ on it.

one amazing thing… I installed Loopback, which they have a public beta for the M1, this also worked a treat. (its great for routing audio around apps)

iOS apps - ok these are a bit disappointing, as many iOS developers have withdrawn the right to use on macOS … perhaps they want to test etc.
but for the ones I could get… I could get midi integration, audio integration (via loopback) and ableton link sync.

this could be a really interesting feature in the future
e.g. imagine building a track on the go on your ipad, then coming back to the studio, running the same app on your mac… but sync’ing it to your daw, and feeding its audio/midi into your daw to develop the track… in concept I did this yesterday !

so, I was very impressed by this point - I had expected niggles, some oddities, but it did just seem to work.

at this point, I moved onto areas I expected problems…low level hardware integration.

Madrona Labs Soundplane.
my first fail, basically its application crashes.
ok, this is not a big deal, and I kind of expected it… and I know Randy will look into it.
also, its open source, so I can dig in to …

step 2 - development

so the soundplane ‘issue’ started to lead me into step 2, setting up a dev environment.
so I got xcode and clion up n’ runniing. worked out how to get homebrew working, so that I could install cmake.
with this started to take my first steps into both compiling for ARM and Intel on the M1.
(got my first app of each type built :slight_smile: )

this is kind of where Im at, Ive still a bit to figure out on the development environment, but its looking promising. Then I need to start looking at specific projects of mine.

The general idea is I first want to ensure that I can build and run my projects under Rosetta (so Intel).
Then start looking at native (arm) builds

Where next?

short term plans

  • test MEC under Rosetta
  • test/setup EigenD under Rosetta
  • build thing like MEC under Rosetta
  • get soundplane working?
  • youtube videos :slight_smile:

mid term

  • look to build project as native arm
  • building ssp plugins under rosetta
  • getting a linux vm running

longer term

  • look at EigenD, work out how this moves forward.

so that’s kind of where Im at :slight_smile:


Eigenharp info only from here …

EigenD native/arm

Ive a feeling this is going to be a big change.
python 2.7 , surprisingly is installed on bigsur/m1… though gives a big warning when you start it.
so not sure how long it has left, before Apple kill it?!
time to think/test again a move to python 3… and decide what this means exactly.
(e.g. ditch python for UI, or entirely)

changing python etc, also means revisiting packaging - arghhh.

I think Scons really is showing its age, I think the build system needs to move to cmake.
I really like cmake, but more importantly Juce 6 now supports cmake, so that will help to tidy things up on that front. (Ive been using cmake/juce for plugins, so pretty familar/happy with it)
I would need to see how all the python stuff works on cmake, but given cmakes popularity, Im pretty certain that’ll be a ‘done deal’ already :wink:

also I hope that cmake would help us build univeral packages for intel/arm

note: Im expecting the above will mean no more 32 bit support … unless someone else wants to take this on as a ‘side project’

of course the above is quite a bit of change,
so at the same time, really need to review that this is the ‘best approach’.
Im concerned that there is only one ‘fast’ thread in EigenD. we seem to be moving to an age where multicore is very important… and one fast thread does not line up well with this!
… can it change, or is it better to be inspired by EigenD and move on?

6 Likes

Mac Minis are neat little machines, indeed! :slight_smile:
Could imagine that devs might be hesitant to transfer the pricing scheme for iOS apps to macOS, where apps cost $ instead of $$/$$$. In the long run I wouldn’t wonder when prices for iOS music apps go up - because they can also be used on Mac.

Regarding multithreading in EigenD - getting all single agents multi-core aware might be quite some work. But perhaps it would be possible to at least execute agents in parallel chains on multiple cores? Getting the merging part low-latency could also be tricky. But sounds worthwhile, only using one core on a 8+ core machine doesn’t sound like a matching approach anymore :slight_smile:

1 Like

iOS - agreed.
also in-app purchasing doesn’t seem to work at the moment either and thats a big revenue stream.
I think developers want some space to ‘think it through’.

I suspect the idea is that iOS and macOS apps will see some kind of convergence.
if we look at some users using iPad pros with keyboards and mice, it doesn’t take much too imagine that some apps might be built that support both a mac and ipad ‘inteface’ e.g. larger screen, UIs that are less ‘touch dependent’

Its a tricky transition … the iOS app store is pretty vibrant, perhaps due to cost, so how to keep that feel without destroying it.

btw: I can see developers coming under pressure from users to be able to use their iPad apps on thier Macs… Apple telling users its possible means devs are going to find it hard to say just say no.

already, Ive seen talk that this is the ‘one disappointing’ feature on the M1 - I cannot see Apple letting it stay that way for long :wink:

watch this space… I think a lot is going to happen in next few months


EigenD , yeah lots of possibilities… (*)
I need to revew the code, at the end of the day it comes to benefits and effort involved.
on one hand, EigenD has a lot of functionality… its really flexible.
on the other, the code base is in many places ‘overly complex’, hard to maintain and using a bunch of technologies that are becoming EOL.
but… thats for another day, need to work out what the short/mid goals are first.


(*) I think running agents on different cores may not be that hard (though, we need to check the code that hands data between the two threads) , probably the biggest issue would be working out some kind of process graph, so you know which agents end up in which ‘chain’.
I fear this a bit, I find how EigenD stores it data very difficult to decode … so I suspect building such a data graph will be very difficult just because it needs to be understand how to decode the eigend data model :frowning:

1 Like

Congrats with the M1 mini.

You might want to check Drambo as one of the iOS apps that supposedly works on Macs. It is a modular groovebox recently updated with AU hosting. It also supports MPE and seems solid at that.

Drambo does look cool.

does it store projects ‘in the cloud’?

drambo is cool,
but of course, Im running Ableton/vcvrack/bitwig, so not sure its adds much.
(I’m pretty sure au hosting won’t work on macOS)

what Im wondering is about unique ipad apps (I wanted borderlands unforunately not available) or apps that might create an interesting addition/workflow.
e.g. perhaps the concept of developing an idea whilst mobile, then moving it ‘effortlessly’ to your desktop.
( not that I have an iPad at the moment, but who knows… )

I think at the moment a very valid ‘critcism’ about running iOS apps on mac is:
‘why? what does it gain you? can’t you already do that witih a better application?’

not only in the music area, but also games…
the question remain, sure we can run iOS, but why do we want to? what does it bring?


as an aside lets remember, if you use Xcode for creating iPad apps, its not that hard to make them run on macOS anyway… even in the intel years…

the one new/big thing here for audio developers is that ARM is NEON vs Intel SSE… so that means if you optimise your music apps/dsp for ARM, they are going to run well on both iPads and M1.
(though of course, even there , not all FPUs are equal :wink: )

It sure is cool. I think it stores projects in the cloud as they can be synced between iPhones & iPads.
I think it adds a lot to certain iOS musicians. Personally I don’t use it despite of having perhaps the most flexible MPE implementation in iOS. I’m just not that crazy about building - prefer playing.

I think MiRack (the iOS VCV clone) can run both on iOS and MacOS (this was before M1) but I haven’t tested myself. VCV rack is pretty solid on Mac if that is your thing.

Funny you mention Borderlands because that is one app that I see made for touchscreens. I simply don’t see the point in it on a non touch screen.

I invested on an fully upgraded Mac mini last year with the intention of it to last so I’m afraid there’s going to be some time before I get the chance to get my hands on one of those. I have been drifting back to macOS because there is a lot more stability and also because I’m coming to terms with Logic Pro, Pigments and Equator 2 (which give me almost everything I need in terms of sounds; well, there is also Plasmonic to spice things a bit).

If there is something I’d like to see on Mac (from the iOS world) is an improved version of AUM (with a MIDI piano roll maybe). I really like that workflow. But playing with what one has, Logic is ok.

1 Like

yeah, I think its going to be interesting to where this all goes…


in other news, Ive now built a semi working version of the soundplane software.
(osc is working, midi is getting corrupted… I think due to an old version of juce?!)

I think Im now going to see if I can get MEC working in a similar way.
It’ll be interesting to see if the low level stuff with the soundplane and eigenharp can be made to work.

1 Like

Bit more exciting progress…

Ive managed to
build MEC for ARM … thats right a native version of mec
this includes, the eigenharp code…mec is having a small issue I need to work debug
BUT the low level eigenharp test works !

also push 2 and soundplane also appear to work as well!

again, this is all arm… so thats a really promising sign.

means I should be able to ‘fix’ EigenD in the same way…
(though, of course, there are many other parts of EigenD to do !)

EDIT: issue resolved, Mec is now fully working for eigenharp :slight_smile:

6 Likes

another day… some more interesting discoveries…

I’ve built my first VST on apple silicon…
first just native, then a universal binary :slight_smile:

but whats interesting from a musicians perspective, is which versions of plugins can be used in which hosts.

so we have a couple of scenarios

Host = Intel
Host = Apple (arm)

Plugin = Intel
Plugin = Apple (arm)
Plugin = Universal (intel + arm)

so univeral binary works as expected, can be loaded into intel or apple host.
(although, not currently on older macOS (mojave) not sure if this will change? )

Intel host can only load Univeral or Intel plugins

Apple host can only load univeral or apple plugins

BUT… Logic Pro (and probably mainstage/garageband) is doing something a little odd…
It can load an Intel AU…
It presumably does this via Rosetta. and in doing so, it also ‘converts’ it to Apple/Arm as well.

this is a bit odd…
so imagine this scenario.

Ive a machine with no plugins installed.

  • I build my own plugin host/daw , so native apple/arm
  • I now copy an Intel AU onto it. (say Aalto as its a nice plugin)
  • my DAW cannot see it…its intel after all
  • I run Logic Pro, it scans the AU, and finds Aalto (!), and can load it (!) , close Logic.
  • now run my DAW - magically, it can now see Aalto

I guess whats happening is quite simple…
Apple new on release day Logic Pro would have no third party plugins if it could not load Intel plugins, so it has some how given it access to ‘Rosetta’ conversion routines.

the ‘disappointing’ side of this is… it only works with AU, since Apple products do not support VST, VST3.

I guess the question is… can other applications do this? is there a command line utilitily?

2 Likes

I’ve mentioned this before, but if you decide to update EigenD and there are some tasks (boring or time consuming stuff, for instance) that can be tackled by someone not as into the details as you are, I’ll gladly help.

I have (as all of us have, I’m sure) given a lot of thought on how the “EigenD replacement of my dreams” would look like. You probably have all the input you need on what people use/need already, but if at all of interest, I can type up something in a dedicated thread to get a discussion going.

3 Likes

Hey Mark et al, Happy New Year!

Just curious, has anyone tried EigenD with under Rosetta on an M1 Macbook Pro yet? Thinking of getting one to replace my 10 yr old one.

Thanks v. much.

Not yet…I’ve been meaning to set it up but not had a chance.

the reason is, I suspect it will not be that simple…
the issue is not EigenD, its the fact that we need to put the correct version of Python onto the M1.
theoretically this should work, but Im kind of not looking forward to trying :wink:

Ive already detailed this process (for the 64 bit version of EigenD) , but there may be some unexpected issues along the way.
note: Ive a Mac Mini M1, but it’ll be the same as the other M1s.

of course, once I do get around to it (and I really should !) , I’ll report back.