Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 31 2019 20:29
    jbayardo edited #2018
  • Jan 31 2019 20:21
    jbayardo opened #2018
  • Jan 31 2019 20:16
    jbayardo commented #1352
  • Jan 31 2019 20:07
    SunderB synchronize #2017
  • Jan 31 2019 19:58
    SunderB synchronize #2017
  • Jan 31 2019 15:32
    JackUnthank starred samaaron/sonic-pi
  • Jan 31 2019 09:17
    oyd11 starred samaaron/sonic-pi
  • Jan 31 2019 06:27
    hidaris starred samaaron/sonic-pi
  • Jan 31 2019 05:23
  • Jan 30 2019 22:05
    lexmortis commented #1956
  • Jan 30 2019 21:54
    lexmortis commented #2012
  • Jan 30 2019 19:23
    lexmortis commented #2013
  • Jan 30 2019 19:00
    SunderB commented #1506
  • Jan 30 2019 18:10

    weblate on master

    Translated using Weblate (Russi… (compare)

  • Jan 30 2019 17:52
    SunderB commented #218
  • Jan 30 2019 17:46
    rdwebdesign commented #1506
  • Jan 30 2019 16:22
    JackEvans24 starred samaaron/sonic-pi
  • Jan 30 2019 06:25
    bob-the-dyer starred samaaron/sonic-pi
  • Jan 30 2019 03:21
    soasme starred samaaron/sonic-pi
  • Jan 30 2019 03:07
    luikore starred samaaron/sonic-pi
Andrea
@Scanu
Hey Samaaron, recently i found out about SonicPI and was amazed... I hope you're online now, I wish to talk to you about this project and share some ideas with you
Andrea
@Scanu
I've always struggled with different daws and their limits. When I discovered SonicPi i thought that was going to be the big step in my production but i'm still not sure about it. Daws have limits SonicPi doesn't have but SonicPi has limits that other Gui interfaced daws doesn't have. I love the possibility to see music as some simple codes instructions but that can really be a useless struggle sometimes. For example loading one sample from my desktop to my beat (which is one of the most important step in my production process) seemed to be really hard on sonicpi. So why don't we take both the positive aspects of the two differents environments and merge them into one? Sonic Pi is great but in my opinion to be near-perfect it should also come with a graphic user-firendly interface. Imagine switching between a melody illustrated in a gorgeous piano roll and its realtive code instructions that makes it play like that. That is the future of music imo and i'm hopefully one day it will became true :)
Tim Dickeson II
@imacubsfan23
Hi guys,
I'm new here and was wondering why sonic pi isn't available as a web application?
I noticed in the issues tab on github that a lot of people are having trouble actually installing it, especially on windows 10.
If you have an answer for why this isn't a web app, I'd love to hear it. Otherwise, I think I'd like to start on porting this to the web, probably with rails
Renato Marinho
@renatomarinho
This message was deleted
Jose Añasco
@merongivian
@imacubsfan23 Hi! there is a way to use in the browser, but it involves deploying you own server: https://github.com/xavriley/sonic-pi-docker/tree/server_rendering, which means you'll have deal with installing supercollider anyways. There is one alternative: using the audio capabilities from the browser, which involves porting all of the ruby the code of sonic pi to js. This can be done trough Opal (ruby to js compiler), theres one thing though: in the web we are limited by the web audio api capabilities, so porting sonic pi might be quite a lot of work (though not impossible). I created a dsl kind of inspired with sonic pi, this might give you ideas on how to port it to the web: https://negasonic.herokuapp.com/, its pretty simple for now, but it kinda works
mactkg
@mactkg
that's so cool. you wrote this in ruby and compile to JS using Opal?
Jose Añasco
@merongivian
@mactkg yes, im using some js libraries under the hood for the dealing with the audio stuff but the rest is pure ruby/opal
Dsl is not exactly like sonic pi, would be great if someone could work on that
tmm2018
@tmm2018
hey guys
what's wrong with this piece of code
?
tmm2018
@tmm2018
just to say guys i fixed the code on my own
here it is
thank you so much
tmm2018
@tmm2018
https://www.youtube.com/watch?v=QaEWWiW2rqA my second endeavour in sonic pi today
use_debug false

live_loop :track do

  64.times do
    use_synth :tb303
    play 28
    sleep 0.25
  end

  8.times do
    #use_synth :tb303
    #play 28
    sleep 0.25
  end

  64.times do
    use_synth :tb303
    play 28, amp: 0.465
    sample :bd_haus, rate: 1, amp: 8
    sleep 0.25
  end

  4.times do
    64.times do
      use_synth :tb303
      play 28, amp: 0.465
      sample :bd_haus, rate: 1, amp: 8
      sample :guit_harmonics, rate: 1, amp: 1.34
      sample :glitch_bass_g, rate: 1, amp: 0.6
      sample :mehackit_phone1, rate: 1, amp: 0.4
      sleep 0.25
    end
  end

  4.times do
    64.times do
      use_synth :tb303
      play 26, amp: 0.465
      sample :bd_haus, rate: 1, amp: 8
      sample :guit_harmonics, rate: 1.25, amp: 1.34
      sample :glitch_bass_g, rate: 0.75, amp: 0.6
      sample :mehackit_phone1, rate: 1.5, amp: 0.4
      sleep 0.25
    end
  end

  8.times do
    use_synth :tb303
    play 26, amp: 0.465
    #sample :bd_haus, rate: 1, amp: 8
    #sample :guit_harmonics, rate: 1.25, amp: 1.34
    #sample :glitch_bass_g, rate: 0.75, amp: 0.6
    #sample :mehackit_phone1, rate: 1.5, amp: 0.4
    sleep 0.25
  end

  2.times do
    4.times do
      64.times do
        use_synth :tb303
        play 28, amp: 0.465
        sample :bd_haus, rate: 1, amp: 8
        sample :guit_harmonics, rate: 1, amp: 1.34
        sample :glitch_bass_g, rate: 1, amp: 0.6
        sample :mehackit_phone1, rate: 1, amp: 0.4
        sleep 0.25
      end
    end

    4.times do
      64.times do
        use_synth :tb303
        play 26, amp: 0.465
        sample :bd_haus, rate: 1, amp: 8
        sample :guit_harmonics, rate: 1.25, amp: 1.34
        sample :glitch_bass_g, rate: 0.75, amp: 0.6
        sample :mehackit_phone1, rate: 1.5, amp: 0.4
        sleep 0.25
      end
    end

    4.times do
      64.times do
        use_synth :tb303
        play 28, amp: 0.465
        sample :bd_haus, rate: 1, amp: 8
        sample :guit_harmonics, rate: 0.75, amp: 1.34
        sample :glitch_bass_g, rate: 0.75, amp: 0.6
        sample :mehackit_phone1, rate: 0.75, amp: 0.4
        sleep 0.25
      end
    end

    4.times do
      64.times do
        use_synth :tb303
        play 26, amp: 0.465
        sample :bd_haus, rate: 1, amp: 8
        sample :guit_harmonics, rate: 1.5, amp: 1.34
        sample :glitch_bass_g, rate: 1.5, amp: 0.6
        sample :mehackit_phone1, rate: 1.5, amp: 0.4
        sleep 0.25
      end
    end

    4.times do
      64.times do
        use_synth :tb303
        play 26, amp: 0.465
        sample :bd_haus, rate: 1, amp: 8
        sample :guit_harmonics, rate: 0.5, amp: 1.34
        sample :glitch_bass_g, rate: 0.5, amp: 0.6
        sample :mehackit_phone1, rate: 0.5, amp: 0.4
        sleep 0.25
      end
    end
  end

  32.times do
    use_synth :tb303
    play 26, amp: 0.465
    #sample :bd_haus, rate: 1, amp: 8
    #sample :guit_harmonics, rate: 1.25, amp: 1.34
    #sample :glitch_bass_g, rate: 0.75, amp: 0.6
    #sample :mehackit_phone1, rate: 1.5, amp: 0.4
    sleep 0.25
  end

end
here's the code
here's the other one
# ruby/sonic pi code by tiago morais morgado

live_loop :flibble do
  sleep 1
  live_loop :cena do
    8.times do
      sample :ambi_choir, rate: 0.3
      sleep 1
    end
    sleep 1
  end
  sleep 1
  live_loop :cena do
    8.times do
      sample :ambi_choir, rate: 0.3
      sample :bd_haus, rate: 1
      sleep 1
    end
    sleep 1
  end
  sleep 1
  live_loop :cena do
    8.times do
      sample :bd_haus, rate: 1
      sleep 1
    end
    sleep 1
  end
  sleep 1
  live_loop :cena2 do
    sleep 1
    4.times do
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.3
          sample :bd_haus, rate: 1
          sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.2
          sample :bd_haus, rate: 1
          #sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.3
          sample :bd_haus, rate: 1
          sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.5
          sample :bd_haus, rate: 1
          #sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.3
          sample :bd_haus, rate: 1
          sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.2
          sample :bd_haus, rate: 1
          #sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.3
          sample :bd_haus, rate: 1
          sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
      live_loop :cena do
        8.times do
          sample :ambi_choir, rate: 0.7
          sample :bd_haus, rate: 1
          #sample :vinyl_hiss, amp: 2
          sleep 1
        end
      end
    end
  end
  live_loop :cena do
    8.times do
      sample :ambi_choir, rate: 0.7
      #sample :bd_haus, rate: 1
      #sample :vinyl_hiss, amp: 2
      sleep 1
    end
  end
end
by the way is there some way i can instantiate sonic pi scripts from the shell?
thank you so much
tmm2018
@tmm2018
from the mac shell
so having like a terminal or a third party app perharps done with qml / nokia qt creator
and triggering the many parts of a live act from pre-made scripts
and doing that to trigger like shaders at the same time in kodelife
so for kodelife i just detach the window
and run an open -a Kodelife.ap 1.glsl
something like that
and it runs
if i want to set blank screen i just need to set a shader outputing nothing
then with sonic pi it may be a bit trickier
but it might be possible
tmm2018
@tmm2018
https://hastebin.com/efahoniwan.css another day another experiment with sonic pi
tmm2018
@tmm2018
use_bpm 322
use_debug false

live_loop :myPiece do

  with_fx :wobble do
    with_fx :reverb do
      13.times do
        5.times do
          use_synth :piano
          play_chord [52, 47, 56, 51]
          use_synth :beep
          play 52-12
          #sample :bd_808
          #sample :loop_breakbeat
          sleep 1
        end
      end
    end
  end

  with_fx :wobble do
    with_fx :reverb do
      13.times do
        5.times do
          use_synth :piano
          play_chord [52, 47, 56, 51]
          use_synth :beep
          play 56-12
          use_synth :dull_bell
          play 56
          use_synth :tech_saws
          play 59
          #sample :bd_808
          #sample :loop_breakbeat
          sleep 1
        end
      end
    end
  end


  with_fx :wobble do
    with_fx :reverb do
      13.times do
        5.times do
          use_synth :piano
          play_chord [52, 47, 56, 51]
          use_synth :beep
          play 59-12
          use_synth :dull_bell
          play 56
          use_synth :tech_saws
          play 59
          #sample :bd_808
          #sample :loop_breakbeat

          sleep 1
        end
      end
    end
  end

  with_fx :wobble do
    with_fx :reverb do
      13.times do
        5.times do
          use_synth :piano
          play_chord [52, 47, 56, 51]
          use_synth :beep
          play 51-12
          use_synth :dull_bell
          play 56
          use_synth :tech_saws
          play 59
          #sample :bd_808
          #sample :loop_breakbeat
          sleep 1
        end
      end
    end
  end
end
njoy
Renato Marinho
@renatomarinho
This message was deleted
Jose Añasco
@merongivian
Hi everyone!, if you want to try livecoding with Ruby in the browser take a look at: https://github.com/merongivian/negasonic. Is inspired by sonic pi and I've recently improved the DSL so now is more fun to play with!!, you can try it here: https://negasonic.herokuapp.com/
tank-trax
@tank-trax

Hello...

I use Linux Mint 18.3 with KXStudio repositories
Sonic-Pi v2.10 is available in the KXStudio repositories but has no MIDI support
I managed to compile v3.10 by replacing 'LIBS += -lqscintilla2_qt5' with 'LIBS += -lrt -lqt5scintilla2'
However, the IO section does not recognize the MIDI device
Is there a way to correct this?

tank-trax
@tank-trax

@tank-trax I found the answer...

-> move the osmid folder from sonic-pi/app/server/native/linux to sonic-pi/app/server/native/ and now midi is working fine

louisnorwood
@louisnorwood
Hi, I'm having a bit of an issue with midi control_change and hoping you can give me some tips. If I sync a MIDI control_change in the loop like you do with note events, then it waits for a change to progress the loop, if I move it out of the loop, then I cannot reference it inside the loop, so I'm not really sure how to use this, clearly it can work, as the function is written for it, although doesn't exist in the language guide and I'm out of ideas.
Example code (uses noteOn as an envelope playing the note defined by control_channel1) :
live_loop :midi_piano do
use_real_time
note, velocity = sync "/midi/loopbe_internal_midi/0/1/note_on"
channel, cc1 = sync "/midi/loopbe_internal_midi/0/1/control_change"
synth :saw, note: cc1
end
This only plays when the note is pressed and control channel is adjusted. It's either in this loop, or should be a global variable synchronized in another loop, can anyone suggest a way to get this to work?
louisnorwood
@louisnorwood
Apologies, bad cropping of code:
live_loop :midi_piano do
use_real_time
note, velocity = sync "/midi/loopbe_internal_midi/0/1/note_on"
channel, cc1 = sync "/midi/loopbe_internal_midi/0/1/control_change"
if (note == 1)
synth :saw, note: cc1
end # If
end
louisnorwood
@louisnorwood
Found it in the end, using amp control in a separate loop sorts out the syncronization.
live_loop :cc do
use_real_time
channel, value = sync "/midi/loopbe_internal_midi/0/1/control_change"
puts "CC#{channel}=#{value}"
if (channel == 1)
set_mixer_control! amp:value/127
end
if (channel == 2)
set_mixer_control! lpf:value
end
end
Roel Thijs
@rthijs
Hi, I'm trying to install the latest sonic pi on an Ubuntu 18.04
the build-ubuntu-app is not working but with this small change it does:
diff --git a/app/gui/qt/build-ubuntu-app b/app/gui/qt/build-ubuntu-app
index 890d85f7f..6d999637c 100755
--- a/app/gui/qt/build-ubuntu-app
+++ b/app/gui/qt/build-ubuntu-app
@@ -24,7 +24,7 @@ echo "Please direct rage and suggestions to Factoid in (https://gitter.im/samaar
sudo apt-get install -y \
g++ ruby ruby-dev pkg-config git build-essential libjack-jackd2-dev \
libsndfile1-dev libasound2-dev libavahi-client-dev libicu-dev \
  • libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost1.58-dev \
  • libreadline6-dev libfftw3-dev libxt-dev libudev-dev cmake libboost-dev \
    libqwt-qt5-dev libqt5scintilla2-dev libqt5svg5-dev qt5-qmake qt5-default \
    qttools5-dev qttools5-dev-tools qtdeclarative5-dev libqt5webkit5-dev \
    qtpositioning5-dev libqt5sensors5-dev qtmultimedia5-dev libffi-dev \
so replace libboost1.58-dev with libboost-dev