Sonic Pi v5

(patreon.com)

189 points | by samaaron 3 days ago

13 comments

  • harwoodr 3 hours ago
    For those wondering what it actually is, as I was:

    https://sonic-pi.net/

    "Sonic Pi is your free code-based music creation and performance tool."

    • amelius 56 minutes ago
      Aha so I suppose 80s synth sounds?
  • xrd 1 hour ago
    I love Sonic Pi. I am a terrible musician but I really enjoy finding chords for a song and then putting them into a sonic pi buffer and messing around. U2 started as a cover band, right, so maybe this is a path to becoming musical someday.

    The one thing that confuses me about Sonic Pi is the buffers/editor. I always wish I could replace the UI with my own embedded editor (emacs in my case). I would then be able to manage all my songs as files. Right now I hunt for "least crowded" buffer window, comment out the code for the song or songs, and then add my new song. If I had my own embedded editor (like emacs), I could rename buffers to be songs, have an unlimited amount (rather than just ten), integrated version control, etc.

    Am I missing something simple about how others use sonic pi?

    The big breakthrough of sonic pi is representing music as a highly readable text file. I assume I don't know how to use the built in editor and buffer system because I feel a lot of friction there.

    • samaaron 1 hour ago
      If you look in the source code you’ll find an example REPL which serves as a great minimal example of how you can build your own interface.

      You essentially need to spawn a process, read the session’s port numbers and then send messages via OSC over the local network loopback.

      This could easily done from your favourite editor of choice (e.g. Emacs).

      • xrd 1 hour ago
        Hi Sam, big fan of you and your work!

        Does this mean I just don't understand how to use the existing UI? I'm often messing around with a bunch of chords and sounds and I quickly run out of scratch space. Does that mean I'm doing it wrong?

        • samaaron 1 hour ago
          What do you mean by “running out of scratch space?”

          Do you mean your code was too long that Sonic Pi refused to run it? If so this has been addressed in v5 with much larger buffer sizes supported.

          Or do you mean you ran out of buffer? In which case v5 helps again as you can now save and load all the buffers to and from a single save-file :-)

  • nazgulsenpai 3 hours ago
    Every time I click a HN post with the Something Pi naming convention my graybeard brain expects to see an SBC. This is something just about as interesting! I grew up on (and still use) trackers for sequencing. It might be fun to try a similar workflow in this!
    • pdpi 1 hour ago
      The SBC in question here is the Raspberry Pi — Sonic Pi was one of the early pieces of educational that made up the RPi ecosystem, and Sam Aaron was sponsored by the Raspberry Pi Foundation to write it.
      • strbean 1 hour ago
        A bit confusing that `<something> Pi` developed two meanings:

        - `<brand/line> Pi` as a brand/line of SBCs, with Raspberry Pi being the original

        - `<anything> Pi` as a software package targeting Raspberry Pis or SBCs generally

    • thenthenthen 1 hour ago
      Oh my pi! (Same here, yesterday I came to the conclusion that I dont understand any of the front page links. Thanks for commenters clearing it up also!)
    • minraws 2 hours ago
      I blame Mario for ruining me until a year ago Pi was RPi or 3.142... but yeah this is nice, I have been using daws and have written my own small piano roll app because bosca ceoil vanished a couple years ago, but this is nice too.

      I think that app(bosca ceoil) is now back around among us, though I don't recall what had happened back in the day.

  • samaaron 3 days ago
    Sonic Pi v5 is released.

    Sonic Pi is now more friendly, more accessible, more powerful and more fun.

    There's something to excite everyone - from the friendlier error messages, to the pro-audio config, to the new dynamic visuals for performance.

    Enjoy!

    • specproc 2 hours ago
      I've been playing with it the last few weeks, great software and really fun to use. Fantastic timing. Thanks for all the hard work that went into the release.

      I'm particularly happy to see keyboard shortcut preferences in the release notes, that's been a real pain point.

      Thanking you kindly, sir.

    • Fervicus 2 hours ago
      Congrats on the release Sam! Looking forward to checking it out. What's your favorite new feature?
      • samaaron 1 hour ago
        I love the new Link Audio which lets you stream and receive audio on the local network with any other Link Audio capable software such as Ableton Live.

        I also like the new QuickStart Cards as a way to get started that doesn’t require reading the built-in tutorial.

    • pzo 45 minutes ago
      if you want to attract more userbase that's probably the least meaningful copy-text someone can provide. Not only doesn't even in one sentence what sonic pi v5 is but also doesn't explain whats difference between v4 and v5 - I mean what it means more friendly/accessible/fun really?
      • samaaron 12 minutes ago
        Not sure if it’s possible to explain this in one sentence - I was just explaining the goals.

        As a summary - friendly as in better autocomplete, better error messages. There are vast accessibility improvements for those with low vision and those that use screen readers. It’s more fun for many reasons but stand out ones are support for game controller input, interactive docs and low-friction QuickStart cards.

        The post linked goes into more detail and the release notes go even further: https://github.com/sonic-pi-net/sonic-pi/releases/tag/v5.0.0

  • oceansky 22 minutes ago
    Sonic Pi or Strudel? Which is better for a music noob?
  • hiccuphippo 2 hours ago
    How does it compare to https://strudel.cc/ ?
    • Fervicus 2 hours ago
      For starters, strudel runs in the browser while Sonic Pi is a stand alone application.
    • herpdyderp 2 hours ago
      The primary difference to me is that strudel's license is so restrictive that it's impossible to use on anything. This is MIT.
      • spacechild1 1 hour ago
        How exactly does the license matter if you just want to make music?
        • herpdyderp 1 hour ago
          I want to embed the player into standalone video game binaries that don't require internet access to download the restrictively licensed files. I'm not looking to embed music file outputs, I want the music to remain customizable on the fly.
          • fn-mote 1 hour ago
            Seems like a pretty special use-case.
      • glimshe 2 hours ago
        I think the underlying Supercollider sound engine uses the more restrictive GPL, though...
        • samaaron 1 hour ago
          Actually v5 no longer uses SuperCollider’s scsynth engine.

          I completely replaced it with my own port called SuperSonic - which targets native (used in this Sonic Pi release), WASM and embedded.

          See https://github.com/samaaron/supersonic

          • spacechild1 0 minutes ago
            Hi, Sam! I have to say that's a strange statement. SuperSonic still uses scsynth as its synthesis engine. How is that a "complete replacement"?

            I see that you are trying to circumvent the GPL, with somewhat dubious arguments. I'm pretty sure that running scsynth in an AudioWorklet creates a combined program and not an aggregate. (I'm not the only one who has raised this concern.)

            Since scsynth is the foundation of Sonic Pi, why not respect the intention of its author?

          • glimshe 44 minutes ago
            It seems that SuperSonic also uses GPL, no?
            • samaaron 11 minutes ago
              Yep, as it’s a derivative work. But I have put effort into making the interface purely network shaped so it’s possible to use it from non-gpl projects without them being considered a derivative work and triggering the gpl.
        • herpdyderp 1 hour ago
          Darn, you're right. Looks like there's still no hope here.
  • stets 3 hours ago
    This looks like a lot of fun. I wish they'd name it better though, the name makes me think it's a raspberry pi related thing. or a piece of hardware.
    • samaaron 2 hours ago
      Sonic Pi was originally written for the Raspberry Pi and shipped on their OS for many years - hence the name :-)
    • Zetaphor 2 hours ago
      In the defense of Sonic Pi, the first version of it and the Raspberry Pi were released in the same year. Obviously one went on to become more popular
      • samaaron 1 hour ago
        That’s because Sonic Pi was originally built specifically for and in collaboration with Raspberry Pi :-)
    • kwanbix 2 hours ago
      Was thinking the same.
  • alin23 54 minutes ago
    I was just working on a music improv app for the MacBook trackpad [1] and tried to use Sonic Pi 4 for the backing track (muse) generator but it was too clunky to run a full fledged second GUI alongside the app and control it through OSC.

    I had to do sample retrieval, decoding, native CoreAudio logic to get acceptable latency. A programmable synth would have made my life so much easier.

    supersonic-scsynth in Pi 5 feels more fit now, it’s the first time I tried a JS frontend for a macOS app but if it lets me import this and use it so easily, it already paid its dividends.

    [1] https://lowtechguys.com/meander

  • fmo91 1 hour ago
    This is one of my favorite software projects. I have played a bit with it a few years ago, and I often recommend others to play with it. I would love to have more musical knowledge, but even with my limited resources, I can do some cool stuff.

    Congratulations and thank you for your hard work all these years!

  • glimshe 2 hours ago
    I keep wanting to learn Supercollider but I never get to. Maybe I'm more enamored of the idea of live coding than actually wanting to play this way. Sonic Pi could finally convince me!
    • gizajob 2 hours ago
      Get Claude to come up with ideas and generate .scd files which you can launch with supercollider. Ask it to build a gui with parameters. It’s pretty good at it.
  • WithinReason 37 minutes ago
    I tried it for a few seconds but there is a huge lag between pressing a button and the sound, and half the time the button press does nothing. It's basically unusable.
    • samaaron 23 minutes ago
      By default there’s a 500ms latency as this gives all target platforms sufficient breathing space for system pauses and other work not to affect the scheduling.

      Multiple presses spawn multiple threads which layer over each other - unless you’re using Live Loops in which case it triggers hot code swapping.

      What was the code you were running? Happy to help.

      We also have a friendly forum to ask questions and get help: https://in-thread.sonic-pi.net

  • gizajob 2 hours ago
    why is the Amen Brother breakbeat included in this software as if it's open source and GPL / MIT license? Just because something has been stolen a million times, that doesn't make it public domain, it's still under copyright and owned by its publisher, who I'm pretty certain has never given it away under a free license.
    • kyle-rb 19 minutes ago
      It's worth noting that the particular recording they include[0] is not the original performance, it's a CC0 (public domain) recreation of the sample.

      So the recording itself has no copyright attached, but yes, there's still a question of the copyright on the composition.

      [0] https://freesound.org/people/Dolfeus/sounds/43389/

    • noman-land 2 hours ago
      I'd be really curious for this particular sample to go to court because unless The Winstons have been aggressively enforcing this copyright they may have already lost it to the public domain.
      • amiga386 16 minutes ago
        That's not how copyright works. There is no "use it or lose it". You legally retain control of licensing for copying and distribution, including derivative works (samples) for the full copyright duration.

        In this case, it's a music recording published in the USA between 1957 and 1972, so the copyright expires on 15 February 2067: https://library.mi.edu/musiccopyright/duration

        There's a limit of 3 years for you to bring a copyright infringement case after a specific infringement takes place, but that doesn't stop you from bringing further cases against further infringements. You don't "lose" copyright if you fail to self-police it, as you might lose a trademark.

        It gets very complicated around this specific 1969 sound recording and suing for copyright infringement, because prior to 1972, sound recordings were subject to US state law (presumably Georgia as the Holly Bee Music Co. was incorporated in Atlanta?) rather than federal law.

        Ultimately, no samplers paid The Winstons any royalties. https://en.wikipedia.org/wiki/Amen_break#Royalties

        The drummer, Gregory Coleman, died homeless and penniless. Some UK DJs raised money for the bandleader, Richard Lewis Spencer, in 2015. He died in 2020. So there's probably not going to be anyone suing you for infringing the copyright on Amen, Brother, but it's not not infringement.

      • aduty 2 hours ago
        Pretty sure that aggressive defense is required for trademarks and not copyright. However it may be interesting whether or not it's still protected by copyright.
      • gizajob 2 hours ago
        It would need to be defended in court yeah, but the absence of that defence doesn't automatically make it so it falls under the GPL and can be included in MIT licensed code just because the copyright holder doesn't know about it to defend it or refuse to be part of your software. Maybe you can argue the technicality but certainly not in the spirit of open source. There would be hundreds of other breakbeats you could include and give away under your MIT license if that were the case.
  • juliend2 2 hours ago
    Is there any (somewhat) known artist who uses Sonic Pi in their actual work?