- Have Examples section playable without having to copy paste into a buffer
- Implementation ideas
- Create a new read-only buffer that the user can play
- Have a move to buffer button that copies and pastes
- Implementation ideas
- Describe mix
- In Synths, Fx, Lang, have a default sound and a slider UI element to allow in doc testing for a range of values
- Ability to listen/trigger to samples in doc with keyboard (without play button mouse click)
- Windows: have a modifier + enter combo to restart, similar macOS
- Buffers
- Command click to clear
- Copy entire buffer content to another
- Copy selection of code to another buffer (Iβm aware that functions are globally scoped)
- Ability to change code area background, which is also applied to the buffer mini number menu
- Ability to annotate synths in doc
- For personal organization
- Or if they had categorization symbols next to them
- Ex. noise types, low attack types, low amplitute types, high phase types
- Some way to catagorize the spectrum of pleasant sounding to rough
- Smart re-ordering in editor of attack, decay, sustain, release (to correspond with the order of the vertical line manipulation)
- Scope visualization for amplitude
- On all sound
- On some kind of division of sound primitives/chunks/functions/scopesβ¦
- In-Editor summation of sound duration
- Good quick decision making for sounds with lots of ADSR envelope modifications
- Or a different key:value colourization for levels vs durations
- In-editor note (:C) to number (60) translation/indicator (ex. via hover over)
- Out of editor (web page) reference containing synths, fx, lang
- With search bar
- Ability to change Helpβs font size
- Have a Start+Record button that waits for the program to run before it starts recording (for long startup programs), else there will be silence before the recording starts
- Have a customizable fadeout option applied within the recording upon ending it
- Loops have an in editor counter of how many times it has looped annotated beside the loop
- Good for live coding, if you want to modify and apply values at a certain (ex. after 4 or 8 loops)
I like that scope idea, breaking it down per-instrument. It would make it easier to analyze the output and help with things like ducking tracks and mixing.
Buffers
- Command click to clear
I think there is already some sort of shortcut for this but I forget what it is. I always accidentally do it and it clears my entire buffer which pushes me to save things frequently.
- Have a Start+Record button that waits for the program to run before it starts recording (for long startup programs), else there will be silence before the recording starts
I disagree with this one. I think most people who are recording and publishing their Sonic Pi music online are using a DAW to master the song afterwards. Itβs better to always have a slight gap of silence before a song starts when mastering and very easy to trim an exported song in an editor.
- Have a customizable fadeout option applied within the recording upon ending it
I sort of love this idea though. Maybe not a fadeout option but instead something like an on-song-end trigger that we could code into our programs. This would allow us to not only do a fade out but any number of wild things when the stop button is triggered.
Perhaps your on-song-end trigger could also be used for an on-song-start trigger, which would allow the user the ability to have a deterministic time variable at the start, instead of being dependent on the hardwareβs timings, which in some cases may or may not have a gap.
Considering the beginner (who doesnβt use a DAW) as the base use case would be best, and offer predictablility, two concepts that are encouraged by Sam Aaron via an easy to use music production abstraction, and through pseudo-randomization.
Advanced users can use the on-song-start trigger.
Have Examples section playable without having to copy paste into a buffer
You can load examples into the buffer using the load_example
method
load_example :acid
Then run it (Alt + R). Tab completion works here, so if you start typing load_example
followed by tab, you can then select from all of the examples
- Describe mix
What do you mean?
- Copy entire buffer content to another
Alt + a will select_all
Alt + c will paste
Out of editor (web page) reference containing synths, fx, lang
This does exist somewhere. look for βSonic Pi - Lang.htmlβ within on your local machine
Thanks for sharing. Mix: Introduced in tutorial 1.1
as
Try changing any of the blue mix: values to numbers between 0 (not in the mix) and 1 (fully in the mix).
The definition is self referencing, I donβt know what mix means without trying it. I had missed/skimmed this page, other references donβt explain it.
If you define mix by comparing it to amplitude, then my next question would be, whatβs the difference, or why didnβt you just use amp:
?
I tried searching the install but didnβt find the .html
file, could you please share the directory path? Otherwise, the Github path based search (see βother referencesβ link above) is a good alternative.
In this case βmixβ means a percentage of a an effect you want mixed into the overal sound.
For example:
with_fx :echo, mix: 0.2, amp: 1.0 do
play 60
sleep 1
end
With mix set at 0.2, youβll barely hear the echo effect, even with the amplitude set at 1.0
β¦Higher amplitudes may be used, but wonβt make the sound louder, they will just reduce the quality of all the sounds currently being played (due to compression.)
β¦a mix of 0 means that only the original sound is heard, a mix of 1 means that only the FX is heard
As for out of editor documentationβ¦
I tried searching the install but didnβt find the `.html` file
If you goto to the sonic-pi directory (Iβm not sure exactly where it is on a Windows host)β¦then navigate to etc/doc/tutorial/
you should find markdown documents.
sonic-pi
βββ app
β βββ build
β β βββ gui
β βββ config
β β βββ user-examples
β βββ gui
β β βββ qt
β βββ server
β βββ beam
β βββ native
β βββ ruby
βββ bin
βββ etc
βββ buffers
βββ doc
β βββ cheatsheets
β βββ generated
β βββ images
β βββ lang
β βββ templates
β βββ tutorial
βββ examples
β βββ algomancer
β βββ apprentice
β βββ illusionist
β βββ incubation
β βββ magician
β βββ sorcerer
β βββ wizard
βββ samples
βββ snippets
β βββ fx
β βββ live_loop
β βββ syntax
βββ synthdefs
β βββ compiled
β βββ designs
β βββ graphviz
βββ wavetables
βββ AKWF