Update README.md
This commit is contained in:
Родитель
38b4280331
Коммит
b7ff37fc36
194
README.md
194
README.md
|
@ -1,2 +1,192 @@
|
||||||
# sonic-pi-challenge
|
# GitHub Universe2020 Sonic Pi Challenge
|
||||||
Sonic Pi Challenge at GitHub Universe 2020
|
|
||||||
|
__OK, this is going to be fun. It calls for some awesome ascii-art!__
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
# ██ ██ ███ ██ ██ ██ ██ ███████ ██████ ███████ ███████ ██████ ██████ ██████ ██████
|
||||||
|
# ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████
|
||||||
|
# ██ ██ ██ ██ ██ ██ ██ ██ █████ ██████ ███████ █████ █████ ██ ██ ██ █████ ██ ██ ██
|
||||||
|
# ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ████ ██
|
||||||
|
# ██████ ██ ████ ██ ████ ███████ ██ ██ ███████ ███████ ███████ ██████ ███████ ██████
|
||||||
|
#
|
||||||
|
# ╘
|
||||||
|
# ─ ╛▒╛
|
||||||
|
# ▐╫ ▄█├
|
||||||
|
# ─╟╛ █▄ ╪▓▀
|
||||||
|
# ╓┤┤┤┤┤┤┤┤┤ ╩▌ ██ ▀▓▌
|
||||||
|
# ▐▒ ╬▒ ╟▓╘ ─▓█ ▓▓├
|
||||||
|
# ▒╫ ▒╪ ▓█ ▓▓─ ▓▓▄
|
||||||
|
# ╒▒─ │▒ ▓█ ▓▓ ─▓▓─
|
||||||
|
# ╬▒ ▄▒ ╒ ╪▓═ ╬▓╬ ▌▓▄
|
||||||
|
# ╥╒ ╦╥ ╕█╒ ╙▓▐ ▄▓╫
|
||||||
|
# ▐╩ ▒▒ ▀▀
|
||||||
|
# ╒╪ ▐▄
|
||||||
|
#
|
||||||
|
# _____ __ ____ __
|
||||||
|
# / ___/____ ____ /_/____ / __ \/_/
|
||||||
|
# \__ \/ __ \/ __ \/ / ___/ / /_/ / /
|
||||||
|
# ___/ / /_/ / / / / / /__ / ____/ /
|
||||||
|
# /____/\____/_/ /_/_/\___/ /_/ /_/
|
||||||
|
#
|
||||||
|
# ___ _ _
|
||||||
|
# / __\ |__ __ _| | | ___ _ __ __ _ ___
|
||||||
|
# / / | '_ \ / _` | | |/ _ \ '_ \ / _` |/ _ \
|
||||||
|
# / /___| | | | (_| | | | __/ | | | (_| | __/
|
||||||
|
# \____/|_| |_|\__,_|_|_|\___|_| |_|\__, |\___|
|
||||||
|
# |___/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Background
|
||||||
|
|
||||||
|
<img align="right" src="https://githubuniverse.com/assets/img/speakers/Sam_Aaron_Headshot.jpg" width="260">Let's get started. Hello! I'm Sam Aaron.
|
||||||
|
|
||||||
|
I created a thing called [Sonic Pi](https://sonic-pi.net/)
|
||||||
|
which lets you turn code into music.
|
||||||
|
|
||||||
|
As part of GitHub Universe 2020 I delivered an introductory workshop on
|
||||||
|
how to start live coding synths and beats with Sonic Pi.
|
||||||
|
|
||||||
|
(You may have already watched it, in which case, hello again!).
|
||||||
|
|
||||||
|
In that workshop I issued a challenge to get you to write a bit of code
|
||||||
|
which I could use in my live performance. Once I have all the
|
||||||
|
submissions I'll choose a nice selection of them to incorporate into my
|
||||||
|
performance.
|
||||||
|
|
||||||
|
All entries will feature in a public repo so everyone will be able to
|
||||||
|
jam with, mash it up and perhaps even perform your live codign debut
|
||||||
|
with it at an upcoming conference.
|
||||||
|
|
||||||
|
|
||||||
|
## What you will need
|
||||||
|
|
||||||
|
* An open mind
|
||||||
|
* Some headphones
|
||||||
|
* A computer with Sonic Pi installed
|
||||||
|
* Willingness to share with others.
|
||||||
|
|
||||||
|
|
||||||
|
## Challenge Brief
|
||||||
|
|
||||||
|
Write a short riff/melody using `(scale :E, :minor_pentatonic)`.
|
||||||
|
|
||||||
|
That's really all there is to it. It can be in any style, using any
|
||||||
|
synth, sample or FX that Sonic Pi offers. Ideally your riff is fairly
|
||||||
|
short (otherwise if I use it I might have to trim it). This means that
|
||||||
|
your code doesn't have to be very long just 3-4 lines is perfectly
|
||||||
|
acceptable.
|
||||||
|
|
||||||
|
All submissions will be considered for the performance - especially very
|
||||||
|
simple coded riffs.
|
||||||
|
|
||||||
|
__Note that using your own samples isn't available as an option in this
|
||||||
|
challenge as I won't have access to your personal sample files.__
|
||||||
|
|
||||||
|
Once you've coded up your riff, all you need to do is to submit your
|
||||||
|
code to SUBMISSION-URL
|
||||||
|
|
||||||
|
## Tips
|
||||||
|
|
||||||
|
1. All submissions will be considered
|
||||||
|
2. Simple code is just as likely to be picked as complex code.
|
||||||
|
3. Ideally the sound should play for no more than 10 seconds (any submission I use might be trimmed).
|
||||||
|
4. Submissions can only be text files with the code.
|
||||||
|
5. Only code covered in [The Sonic Pi Tutorial](https://sonic-pi.net/tutorial) will be considered.
|
||||||
|
6. Have fun! Share your coded riff with your friends and see what they think!
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
OK, so you want to get started?
|
||||||
|
|
||||||
|
Firstly you might want to watch the Universe2020 Sonic Pi workshop video: WORKSHOP-VID-URL.
|
||||||
|
|
||||||
|
Next you might want to check out [The Sonic Pi Tutorial](https://sonic-pi.net/tutorial).
|
||||||
|
|
||||||
|
I would suggest whizzing through [Section 2 on Synths](https://sonic-pi.net/tutorial#section-2)
|
||||||
|
and the start of [Section 5 on Programming Structures](https://sonic-pi.net/tutorial#section-5)
|
||||||
|
especially the [section on iteration and loops](https://sonic-pi.net/tutorial#section-5-2).
|
||||||
|
|
||||||
|
Essentially you'll just need to understand `play` and `sleep` and which
|
||||||
|
notes to use.
|
||||||
|
|
||||||
|
The `:e` `:minor_pentatonic` scale includes the following
|
||||||
|
notes:
|
||||||
|
`[28, 31, 33, 35, 38, 40, 43, 45, 47, 50, 52, 55, 57, 59, 62, 64, 67, 69, 71, 74, 76]`
|
||||||
|
|
||||||
|
So whenever you call `play` be sure to use one of these notes. For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
# A Valid Entry
|
||||||
|
play 28
|
||||||
|
sleep 0.5
|
||||||
|
play 33
|
||||||
|
sleep 0.5
|
||||||
|
play 59
|
||||||
|
sleep 0.125
|
||||||
|
play 45
|
||||||
|
```
|
||||||
|
|
||||||
|
Of course, you might want to embelish your riff by using `use_synth` to
|
||||||
|
change the synthesiser, use the `release:` opt to change the length of
|
||||||
|
each note, use randomisation to choose one of a set of notes: `[45, 52, 64, 71].choose`,
|
||||||
|
[bring in samples](https://sonic-pi.net/tutorial#section-3),
|
||||||
|
[use FX blocks](https://sonic-pi.net/tutorial#section-6) and anything
|
||||||
|
else you find fun. If it's included in the Sonic Pi tutorial then its
|
||||||
|
fine to use it in your submission.
|
||||||
|
|
||||||
|
So experiment and play!
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
The following are a few example submissions you can either use as
|
||||||
|
starting points for your own or inspiration to sow creative seeds into
|
||||||
|
your mind.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Random Riff
|
||||||
|
|
||||||
|
use_random_seed 409832
|
||||||
|
|
||||||
|
8.times do
|
||||||
|
play (scale :e3, :minor_pentatonic).choose, release: rand
|
||||||
|
sleep 0.125
|
||||||
|
end
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
# Simple Ditty
|
||||||
|
use_synth :dsaw
|
||||||
|
play 28, release: 2
|
||||||
|
sleep 0.5
|
||||||
|
play 33, release: 0.5
|
||||||
|
sleep 0.5
|
||||||
|
play 59, release: 0.1
|
||||||
|
sleep 0.125
|
||||||
|
play 45, release: 1
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
# Random Rhythm Riff w/ FX
|
||||||
|
with_fx :reverb, room: 1 do
|
||||||
|
use_random_seed 23001055
|
||||||
|
use_synth :square
|
||||||
|
|
||||||
|
8.times do
|
||||||
|
play (scale :e1, :minor_pentatonic).choose, release: rand
|
||||||
|
sleep [0.125, 0.25].choose
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
## Submit and Share!
|
||||||
|
|
||||||
|
Once you have your sumbission please submit a pull request adding your riff/melody to the `/snippets` directory named `username_01`, where _username_ is your GitHub username.
|
||||||
|
|
||||||
|
Thanks so much for taking part, live coding your own riff and sharing it with us. Please do tune into the performance to see if your submission will feature!
|
||||||
|
|
||||||
|
## Enjoy!
|
||||||
|
|
||||||
|
Take care and please do consider joining our friendly community:
|
||||||
|
http://in-thread.sonic-pi.net
|
||||||
|
|
Загрузка…
Ссылка в новой задаче