diff --git a/CHANGES.md b/CHANGES.md
new file mode 100644
index 0000000..7f3efde
--- /dev/null
+++ b/CHANGES.md
@@ -0,0 +1,4 @@
+0.1.0 (2020-08-19)
+=====
+
+- Initial release.
diff --git a/NOTES.md b/NOTES.md
index 5dbcc70..95207d3 100644
--- a/NOTES.md
+++ b/NOTES.md
@@ -8,11 +8,16 @@ General resources
- https://learningsynths.ableton.com/
- http://www.music.mcgill.ca/~gary/
-Software synths
-===============
+Languages / APIs
+================
+- [SuperCollider](https://supercollider.github.io/)
- [Web Audio API](https://www.w3.org/TR/webaudio/) (see also [MDN
documentation](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API))
+
+Software synths
+===============
+
- all [Arturia's emulations](https://en.wikipedia.org/wiki/Arturia)
- many [open source synths](https://zynthian.org/engines)
- [zynaddsubfx](https://zynaddsubfx.sourceforge.io/)
diff --git a/README.md b/README.md
index 8cb6156..22f1843 100644
--- a/README.md
+++ b/README.md
@@ -298,7 +298,7 @@ to play some notes. In order to illustrate this let's detail step by step how we
can quickly recreate the song _[better off
alone](https://www.youtube.com/watch?v=Lj9GzcHbJ-w)_ (sort of) by detailing
[this
-example](https://github.com/smimram/monadic-synth/blob/master/examples/better_off_alone.ml)
+example](https://github.com/smimram/monadic-synth/blob/master/examples/better_off_alone.ml).
### Playing notes
@@ -436,7 +436,8 @@ small "harp like" synth with
```
If you were too lazy to try by yourself [your can hear the result
-here](https://youtu.be/F7q-wtJRgjM).
+here](https://youtu.be/F7q-wtJRgjM) (please remember that no further effects
+where applied, nor a decent mix was performed).
### Live MIDI input
diff --git a/docs/index.html b/docs/index.html
index be4e0b9..90af0a1 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -244,7 +244,7 @@
Other examples
thx.ml: a quick recreation of the THX deep note by adding many saw oscillators, whose frequency is initially between 200 and 400 Hz, and slowly evolve to the same note at various octaves.
Instruments
-
Unless you are making concrete music, you certainly want to play some notes. In order to illustrate this let’s detail step by step how we can quickly recreate the song better off alone (sort of) by detailing this example
+
Unless you are making concrete music, you certainly want to play some notes. In order to illustrate this let’s detail step by step how we can quickly recreate the song better off alone (sort of) by detailing this example.
Playing notes
We first have to learn how to play notes. A melody can be described as a pattern which is a list of triples consisting of
@@ -323,7 +323,7 @@
Arpeggiators
inlet arp = Pattern.arpeggiate `Up (Pattern.transpose 24 chords) inlet arp = Instrument.play (Note.simple sine) (Pattern.stream ~loop:true tempo arp) in
-
If you were too lazy to try by yourself your can hear the result here (please remember that no further effects where applied, nor a decent mix was performed).
Live MIDI input
An example of MIDI input (say, from a physical keyboard) in order to generates notes and values for parameters from physical controllers can be found here.
In order to use MIDI, we should begin with using the function MIDI.create which provides us with a handle from which midi events can be drawn (with MIDI.events) as well as the value of controllers (with MIDI.controller). For instance, in the following example, we play the notes pressed on the keyboard with a saw instrument chained with a low pass filter whose Q parameter and cutoff frequency can be controlled by controller 0 and 1 respectively (you might have to change those numbers depending on your controller):
Operators a stream generators. They consist of two combined monads: one for
- the state and one for streams (as in Stream). They should replace Stream
- if they prove practicable as one could forsee compiling those.