“din is noise” is a newly-updated “tone board,” making the rectangular plane of its screen into a field of sound you can transform. The video above just begins to show some of what it can do. Pixels can be tones, transformed onscreen. A resonator editor uses Bezier curves to edit sounds across octaves. Each resonator, in turn, can be edited with yet more Bezier curves. Put them together into the drone editor (the bit you see in the video), and you can create vast, sculpted soundscapes from series of rectangles dragged around between octaves.

It’s all free, and it’s all doable for your mouse – a Linux exclusive that might convince you to dual boot, or take a second look at that netbook.

The results here tend toward the ambient, but if you’d like to tap your toe a bit to what you make, there’s already a stereo gate effect, so knock yourself out. And timbrally, you can use any waveform.

This isn’t just a sound toy, either; you can use MIDI, OSC, and …IRC chat?

More tutorial videos after the jump, because I really don’t get tired of watching this thing.

That said, watch for about halfway through the video at top for things to start to get interesting. Initially, it’s just some sine waves. “Yeah, whatever… another…” You skip ahead in the transport. Then big clusters of resonators start moving around, which should make at least a few sound designers say, “Hmmm….,” an evil grin appearing in the corner of their mouth.

For fans of similar concepts (MetaSynth springs to mind), I think you’ll like this approach, especially in a world of fake knobs. This is something that actually makes sense for the mouse, and makes me hope we see more Linux tablets soon.

Download source or 32-bit Ubuntu deb.
Don’t miss the awesome about page. “This is nothing new. / Some old men did it in the 60s! / Punched numbers into cards!”

“Modulation? / Bezier on Carrier and Modulator. / Eat that Chowning.”

Thanks to Ryan Dean for the tip!

(PS, no, I’m not personally calling Linux GNU/Linux. I understand why people do. But average people use short names. And the value of GNU is such an integral part of what Linux is — and other OSes, too, by the way, cough, Mac OS — that I think we can celebrate GNU without saying a clunky name. But if you do, carry on…)

  • Bezier ? nobody uses bezier nowadays, ask the guys at ableton.

  • dtr

    lol @ tweakingknobs :]

  • tweakingknobs? I've totally seen you on the BA forums xD
    This is the most awesome thing I've ever seen! Linux FTW!!!!111!!11@12!1

  • Random Chance

    Interesting, but why on earth would someone use cross platform libraries (RtMidi and OpenGL) and autotools and then limit themselves to GNU/Linux? The only thing that'd be more idiotic (or shall I say idiosyncratic?) would be to use a set of Makefiles specifically tailored to the developer's build environment. To summarize: Epic fail.

  • Peter Kirn

    @Random Chance: Maybe because they're doing it for free and it's faster and then they don't have to support other people dealing with it?

    It's fully open source. If someone wants to go do makefiles for other platforms, they should do that. But with few exceptions, Mac and Windows developers sure as hell don't feel obligated to do jack for Linux users. Why should Linux developers working *for free* be obligated to do the same?

  • I love the AutoCAD style GUI! This one can be really powerfull side by side with a Linnstrument.

  • reset

    Oh I hate my mac!!
    btw, how can I dual boot?

  • lala

    cool, a reason to have a try with ubuntu again …

  • lala

    dual boot wasnt easy with hfs+ 2 years ago,
    i used to use a livecd, dont know how its now, but we'll see

  • synthetic

    Tone board? Don't you mean tone beard? 

  • This looks like fun, but it pains me that they use libasound and Jack, when there are libraries portable to Windows & OS X available.  I looked at their source and they took great pains to be portable except for how they deal with Audio and MIDI.

    They're free to do whatever they like — it's their project — but it's short-sighted not to make that last little effort for portability.

  • Peter Kirn

    ALSA and JACK are the two best libraries for audio on Linux.

    I don't get it – why is a Linux app held to this portability standard when it's already on a free OS you can use anywhere? Windows and Mac apps do the same thing this app does, and they're "native." And Windows and Mac OS *don't* run everywhere. It's not just a double-standard; it's actually the opposite of the logical argument.

    Dual-booting on the Mac is now pretty extensively documented, especially on Ubuntu. For instance:

    Also, JACK isn't Linux-only, not remotely. Ardour and Mixbus already use JACK on the Mac.

  • No need to dual boot. Just use Virtual Box.

  • @peter — "…Mac and Windows developers sure as hell don’t feel obligated to do jack for Linux users. Why should Linux developers working *for free* be obligated to do the same?"

    They cut their potential user base by 90% by ignoring mainstream platforms.  And the din developers do so not because their code isn't portable, but because they used Linux-only libraries when portable libraries that provided the same functions were readily available.

    And the argument about obligation cuts both ways.  Why should OS X and Windows developers spend considerable time chasing Linux users when A) the Linux user base is relatively small and B) It's a pain in the ass to develop audio apps for Linux? 

  • lodsb

    jeez… why do ppl tailor their apps to a specific platform in the first place that should be the question. i mean… it's 2011… it's not like the (rediculous) "native" experience of 3rd party software is bound to any hardware/sw platform (anymore)
    rather than arguing about *free*/OSS software running on a *free*/OSS platform only (and thereby being accessible to everyone) I'd take a look at the various "free"/OSS tools being *dongled* to a closed platform (especially when you have so many alternatives and x-platform libs as nowadays)… 

  • Peter Kirn

    @chaircrusher: I never said OS X or Windows developers need to chase Linux users. You lamented the use of libraries when they're standard Linux APIs, and one of them even runs on the Mac. I think I thought a one-man Linux developer creating an app with an open source license for a very non-mainstream application (this ain't exactly Firefox or Angry Birds) ought to be free to do whatever he wants. Honestly, I regularly cover people doing things in Reaktor or Max for Live, for instance, and I try not to lament that they could have done that in something more portable. That's their choice. Now, I'll certainly lament if a *development tool* can't run in more places, and I still *like* portable development, don't get me wrong. But in this case, if someone really wanted to do the work of porting to proprietary Microsoft and Apple APIs, they're free to do so.

    Anyway, let's talk about the app itself; I didn't mean to get us off on this tangent.

  • As a developer-by-day, musician-by-night, Din looks great. I'd love to see it ported to OSX and perhaps Windows eventually, but it is very nice to see on Linux.

  • I've done something similar with Flash in the past, with a 3D cylinder interface that you can see the sound change from one curve to another.

  • Dan

    Well I f**ing love this. I want to be on the mailing list for whoever finally ports it to OSX.

  • mac users: why so lazy? din runs fine under ubuntu studio 10.10 inside vmware. see pic i added to the pool. ubuntu studio already has jack installed as well as tons of other useful audio apps.

  • …but to avoid snap, crackle, pop you will have to disable full duplex of audio. din doesn't use input anyway.

  • Ah, thanks for call out Peter – came to me via Sonictwist.

    Andy Li: Loving your experiments 
    http://m.flickr.com/#/photos/andy-li/sets/7215762… crazy good!

  • @peter & chaincrusher:

    j.a.c.k. has also been ported to windows.

    it's not easy to do, but it can be done.

    so it sounds like this app. may be cross platform as long as people aren't scared of building it.

  • @Peter – I agree he can do anything he wants.  I don't agree with what he wants, and I don't agree for very specific reasons — as an open source developer whose day job involves keeping an application running on Windows, OS X, and Linux, I place a premium on portability.  I'm the guy who got PaulStretch working on OS X and I'm not even an OS X developer, really!

    I actually got EVERY prerequisite for Din in place EXCEPT for Jack & libasound2.  And my experience — 20 years — with porting software, it just vexes me to be THAT close to getting something working and realize that the developers gave up on portability a few feet from the goal line.

    libasound2 is just the access API for ALSA, and there are portable 'shim' libraries that talk to ALSA, Core Audio, ASIO and MME.  The Jack stuff is just there to support IO in a JACK environment, and could be ifdef-ed out.

    I'd just wade in and fix this, but I don't have time, and I have enough ways to make music without working around an issue like this.

  • And Jack is — now that I look at the webpage — on OSX and Windows officially.  So Din's incompatibility is 100% down to using libasound2.

  • Peter Kirn

    @chaircrusher: I'm sorry, this is partly my fault – I was maybe overly defensive.

    The experience I've heard from many open source developers is some similar vexation about just which libraries to use for what. I thought he was pretty clear on his Website that he was targeting Linux, and that was that. (Of course, apart from a .deb file, you're right – there isn't really anything all that Linuxy here. It's nearly all simple, cross-platform APIs, not Dbus or, um, the Ubuntu unified menu oddness or anything like that.)

    But I asked the wrong question. The correct question *should* have been this:

    What would you recommend to replace libasound2? You don't have to do it yourself, but I would *personally* (apart from this project) greatly appreciate your advice. PortAudio and RtAudio are each pretty popular. I've never personally been able to work out which of those you're supposed to use. Working with JACK directly seems to make some sense to me (whatever environment you happen to be in) if you want to support all of JACK's features, but for everything else…

    Mea culpa. The last thing the music Internet needs is me wading into my own comment thread and making things less productive when there is a productive discussion to be had. 😉

  • jag

    hi all,

    i'm jag – the developer of din. yep, peter got it right. its just me working on din for a long time now — 4+ years 🙂

    thanks peter for posting din @ cdm
    hopefully you maybe interested in new features planned for this spring — i call it Magnolia.

    i used to write software for movie fx & gaming b4 i wanted to understand how sound works by programming a computer.

    i am a researcher first ie i didnt set out to write software for musicians — i originally wanted to explore the possibilities of bezier curves in synthesis where its under used but its the currency (with other cubic curves) of the 3d world for interpolating keyframes, modelling surfaces etc. summary: every curvy shiny product around you is due to CAD software + cubic curves + CNC + designers of course 😉

    the burning question seems to be why gnu/linux only? well its a long story but the main 1 is as a researcher i want to base my work on an operating system that wont limit me technically. no walls. now or in the future.

    @chaircrusher you have a point with libasound2 — the din midi code based on optimised RtMidi code uses it and i had removed the OSX checks (who's gonna give a sh1t about din right?). i will switch to JACK midi soon which will fix this problem. if you like to port to OSX id like to hear from you at http://dinisnoise.org/chat


  • this looks incredible. i'd love to hear more about how some of the user interface choices were made……also, +1 for the friendly CDM flamewar. 

  • jag


    a hybrid synth — command line + Tcl/Tk scripting + fixed-gui. use fixed-gui if u are not a programmer. because of unlimited microtones, the inherent humanness of the mouse you could be improvising new music every time. Tcl/Tk is for the livecoder, the Pd/Max artist & C++ for the researcher.

    dinjas use all 3 😀

    —on gui:

    as @nezoom says inspired by cad/3d animation/modelling programs & game chat uis.

    no fake knobs! knobs are sliders. harder to use a knob on a screen. they save space though. so synths are filled with tons of them. didnt want an aircraft cockpit kind of ui on din.

    also synths understimate the intelligence of their users. din doesnt. anybody can learn anything. what 1 fool can another can too.

    but there are +ves and -ves to every ui design — din appears too minimal, riddled with keyboard short cuts & hard for new users.

    — on architecture:

    din doesnt farm out candy ie the blurb doesnt read we have 4 oscillators, 3 lfos, 2 filters, 2 fx lines. unlimited resonators. unlimited voices (drones). unlimited control points on any Bezier curve.

    but it farms out candy too 🙂 for example: there are only 2 gaters, 1 fm & 1 am and 2 stereo delays.

    the drones all point to the same waveform. cant gate the drones, cant fm & am them.

    but these gaters, fm and am modules & delays are imho nothing like you have seen. they all have Bezier curves controlling them.

    im particularly proud of fm & am modules where Bezier curves are on both carrier and modulator.

    the delays have Bezier envelopes on feedback and volume! ie you can sculpt how much of the past sound you want –> hard to explain –> you have to try and let me know.

    [i could possibly patent these but i'm against patenting too :D]

    with Magnolia coming this spring we remove all these limits. it will truly be a general purpose sound synth than just an instrument —> although with this instrument you could be improvising new sound all the time because of the microtonal nature of din, the inherent variation of your mouse movements & the humanness the mouse brings to sound. mouse is understimated too. its not without reason its been around for 40+ years. ask the FPS gamers how much they love their mouse 😀

    and its all gnu/linux free.

  • i'm installing ubuntu on my mac right now !
    this app looks great!

  • jag

    screenshots of fm,am, delays, channels and octave shift editors coming soon.

    follow me on twitter @al_dinja if you like to know when they are ready.

  • @chaircrusher: you seem to miss the fact that actually JACK is also a portable audio API that runs on top of ALSA, OSS, CoreAudio, and ASIO. Developers familiar with all of these APIs (and others) generally report that its the simplest, most robust of all of them. It also provides for inter-application audio & MIDI routing that none of those APIs do (and in a way that is totally seamless with hardware routing, and is sample accurate for MIDI). So there are some reasonably compelling reasons to use it even in a cross-platform application.

    That doesn't mean that its trivial to use JACK on Windows, but this is mostly because none of the JACK developers (I'm the original author) use Windows or care for it much. If someone stepped up who actually wanted it to be smoother/easier/whatever, there's nothing to prevent that next step of its user-visible evolution.

  • Nine

    ipad would ideal for this

  • rereset

    bookmarked for when I install Linux

  • Sorry for the linux nub question, but I installed Ubuntu in virtualbox on my windows machine. Then installed the deb package of din…now how do I run it…sheepish smile…

  • jag

    open a terminal and type din

  • Concerning Bézier curves you might want to have a look at our VST/AU synthesizer Curve.

    It does not exactly use Bézier curves, but NURBS (Non-uniform rational B-splines). Using NURBS, you can draw waveforms that can be used with Curve's OSCs and LFOs. I found that more intuitive and faster for drawing, as you do not have to adjust the handles; but it's a matter of taste, of course.

  • Thanks for that, but I get an error saying couldn't connect to jack server. I can't get the server running without jackd but when i install that it uninstalls din…a bit lost here…the demos of din look quite amazing, I'd love to have a play with it, but i don't have any experience with linux unfortunately 🙁

  • Peter Kirn

    Hi Andre,
    What system are you running? (Ubuntu? Version?)
    Even though this may sound intimidating, you may wish to build from source, as it sounds like your version of JACK is conflicting with the one this wants to install.

  • Dan

    I did the same thing in VMWare on my mac, Ubuntu 10.10… but running din it says it can't connect to the Jack server. Like Andre, I'm a complete Linux noob, so any advice much appreciated. cheers, Dan.

  • Peter Kirn

    JACK isn't installed by default.

    From a terminal prompt:

    sudo apt-get install jackd qjackctl

    (or search Ubuntu Software Center for JACK)

    Then it's probably a good idea to launch Applications > Sound & Video > JACK Control and hit Setup to confirm settings.

    I will say this, though – you're kind of missing out running Ubuntu virtualized, as one big advantage is the ability to set up low-latency audio. But this would be a good way to dip your toes in a little bit.

  • Peter Kirn

    For a setup with JACK pre-installed, you can also try Ubuntu Studio (or other similar audio distros), though it's not hard to do — just that one command above.

  • Dan

    Thanks Peter. But I'm still getting an error with JACK, saying I need to change two lines in my limits.conf file. But that file won't let me change it, because I'm not "root" and don't have permission. Sorry, I realize this isn't a Linux help forum …

  • Dan

    din will run if I turn JACK's real time mode "off", but it's very glitchy… maybe you're right and I should boot directly into Ubuntu

  • Peter Kirn

    You can increase buffer times in JACK and it'll probably work.

    VMWare should set you up with a default root password; you just have to look up what it is.

    But yeah, expect severely degraded performance when virtualized. Audio is one of those things that really doesn't work well virtualized.

  • Thanks for the info. I got it to work. Not sure what solved the jackd / din business, just kept trying to install both, finally seemed to be happy, then I got the error Dan did – "saying I need to change two lines in my limits.conf file. But that file won’t let me change it,".
    Google told me to do this to change it:
    gksudo gedit /etc/security/limits.conf (in terminal opens the file such that you can edit it). I added the next two lines near the bottom:
    @audio – rtprio 100
    @audio – nice -10

    Then I get an error about audio group so I ran this from terminal (as it prompted me to do):
    usermod -a -G audio (put your username there). Has to be run as root. Now din runs…Yay…no promises on whether any of this makes actual sense but hopefully it will help someone else.

    Thanks for the tip on this Peter.

  • This was mature enough for inclusion in pure:dyne 9.11 — don't know how new that is . . . just sayin'

  • Nice to hear an indian accent in a truly experimental electronic music context.

  • Dan

    Working! Thanks guys. This is such a cool instrument… cheers, Dan.

  • Peter Kirn

    I should have said "newly-updated" / I just changed the copy accordingly. Five years in development, it appears. Also, new to me… or, at least, I forgot about it. Conceptually, still a relatively new set of ideas in terms of aspects of how this works.

  • Issues with JACK configuration are generally addressed in the JACK FAQ at http://jackaudio.org/faq

    Its a better source than yet another random online document suggesting that "nice" has anything to do with realtime audio.

    Also, please feel free to rant away at distributions who package tools like JACK yet fail to provide an out of the box working configuration for them.

  • blah-cut

    Yes it's true that bézier curves are not very used in audio computer. Too much control points. Including "Podium" and "cables guys" this is the third time I see the use of these curve family in computer audio.The edges are usually hard to control and when you want to stay in 0..1, bézier is not good. Look at FLS curves. This should be a model to every developper around.

  • jag


    the power of bezier curve is achieving almost any shape you want with few control points.

    the edges are *not* hard to control when you can move the left & right tangents independently which you can in din.

    bezier curve editors are watered down in audio programs (if at all they are used) — no tangents are supplied for example.

    take a look at the waveforms page:


    …all the curves there stay happily in the range 0..1 and note the independent positon of the tangents and the shapes that are possible.

  • If average people use short names, wouldn’t they use just GNU instead of just Linux?

    Not openly advocating one or the other in this post, just saying that the “short name” hypothesis doesn’t quite hold water.

  • If average people use short names, wouldn’t they use just GNU instead of just Linux?

    Not openly advocating one or the other in this post, just saying that the “short name” hypothesis doesn’t quite hold water.