A Personal Tool for Creative Freedom

-


EricSondhi's avatar

michael g's avatar


image/png
By Michael Gamble, Partner & Ecosystem Lead, Arm

As a software engineer and music producer, I’m at all times exploring how technology can expand creative expression. That curiosity recently led me to construct a private sound generation app that runs directly on-device—powered by an Arm-based CPU and open-source generative AI models. It’s fast, private, and enables me to generate studio-ready sounds from an easy prompt, all inside seconds.

This project brings together one of the best of several worlds:

  • The Stable Audio Open model from Stability AI, sourced from Hugging Face
  • Execution powered by PyTorch and TorchAudio
  • A quick, efficient pipeline that runs natively on Arm-based CPUs
  • A seamless creative handoff to Ableton Live



A Latest Type of Creative Companion

After I’m deep in a music project using Ableton Live, I don’t need to interrupt my workflow to dig through libraries or browse sound packs. I wanted a tool that might meet me where I’m—right within the flow.

Now, I can simply describe the sound I’m imagining (“analog bassline,” “cinematic riser,” “lofi snare”), and inside seconds, the generated .wav file appears in my Ableton browser. From there, I can tweak it, loop it, or turn it into an instrument.

Every sound is exclusive. Nobody else will generate exactly what I do. That sense of non-public ownership fuels my creativity.



Powered by Arm: On-Device, On-Demand

This sound generator runs entirely on-device using Arm-based CPU technology—no GPU, no cloud inference, no latency. Because of Arm’s efficiency and performance-per-watt, the app stays responsive even during multi-step diffusion runs.

The generation engine is built on:



Sample Code: Optimized CPU Generation

To maximise performance on Arm CPUs, I enabled full thread utilization:


torch.set_num_threads(os.cpu_count())

To keep up low memory usage across generations:


if gen_count % 3 == 0:
    gc.collect()
    print(f"Memory cleared at generation {gen_count}")

Core generation loop, tuned for speed and efficiency:

output = generate_diffusion_cond(
    model,
    steps=7,                  
    cfg_scale=1,
    conditioning=conditioning,
    sample_size=sample_size,
    sigma_min=0.3,
    sigma_max=500,
    sampler_type="dpmpp-3m-sde",
    device=device
)



Device Flexibility: CPU, Metal, CUDA

Although optimized for CPU, this system also can run on Metal (Apple Silicon) or CUDA if needed:

device = "mps"    


model = model.to(device).to(torch.float32)



Seamless Workflow with Ableton Live

The tool outputs .wav files on to a project folder monitored by Ableton Live. Here’s a sample CLI interaction:

Enter a prompt for generating audio:
Ambient texture
Enter a tempo for the audio:
100
Generated audio saved to: Ambient texture.wav

I immediately see the file show up in my browser inside Live, able to be arranged, modulated, and transformed.



Why This Matters

This project is a private prototype—but it surely’s also a window into the longer term of content creation. With efficient, on-device AI inference on Arm CPUs, artists and developers can:

  • Stay in creative flow without waiting on cloud resources
  • Ensure data privacy and full ownership of outputs
  • Extend AI tools into edge devices, DAWs, and latest creative interfaces

That is what happens when open-source innovation meets efficient compute: real-time generative power, accessible to each creator.


Explore the ecosystem that made this possible:



Source link

ASK ANA

What are your thoughts on this topic?
Let us know in the comments below.

0 0 votes
Article Rating
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

Share this article

Recent posts

0
Would love your thoughts, please comment.x
()
x