Carnatic Music Synthesis
in Clojure
@SrihariSriraman
@nilenso
Slide 2
Slide 2 text
What this talk is about
Modeling Carnatic Music in code
Making a machine sing Carnatic Music
Synthesis, not generation
Slide 3
Slide 3 text
Should we listen to some
right now?
if not, we’ll keep the suspense for later
Slide 4
Slide 4 text
What is Carnatic Music?
South Indian Classical Music
Gamakams
Mostly a vocal tradition
Rich in compositions; revolves around it
Extempore / Manodharma
Slide 5
Slide 5 text
Why I do this
I sing, I do computers
Something that is still being researched
Dreamy ambitions
Potentially large set of applications
Weekend hobby
Slide 6
Slide 6 text
What I’ll cover
Shruthi, Swarams and, Ragams
in music, and in Clojure
A demo of the basics
play some prescriptive notation in a given raga in the REPL
Gamakams – modeling, and rendering
with a demo of course
The way of the future
as I see it
Slide 7
Slide 7 text
Shruthi, Swarams, &
Ragams
in Music, and in Clojure
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
Ragam
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
Laya concepts
Slide 12
Slide 12 text
A Demo of the basics
–> to the REPL
Slide 13
Slide 13 text
A Demo of the basics
Slide 14
Slide 14 text
T
ools and libraries
SuperCollider synthesis server
Overtone instrument
Leipzig melodies
Postgres fuzzy search
Slide 15
Slide 15 text
So far…
Play the scale of a raga
Fuzzy find a Raga
Play a phrase
Play a phrase in a given raga
Play some prescriptive notation
Slide 16
Slide 16 text
But..
..that doesn’t sound like
Carnatic Music, does it?
Slide 17
Slide 17 text
Enter pitch graphs
Me
Machine
Slide 18
Slide 18 text
another phrase
Me
Machine
Slide 19
Slide 19 text
Prescriptive vs Descriptive
Note uttered vs Note sung
Gamakams
orikai
jãru sphuritam
kampitam
Emphasis on the second note
Upwards or downwards slide
Downward slide with a twist Oscillations between two freqs
Slide 23
Slide 23 text
Gamakams in SSP
Slide 24
Slide 24 text
Gamakams in SSP
Slide 25
Slide 25 text
Previous work
Gaayaka [Subramanian, 2009]
database of phrases
“automatic gamakam” feature – guided
PASR, DPASR transcriptions [Srikumar 2013]
Pitch, Attack, Sustain, Release
Phrases are split into ‘Stage’, and ‘Dance’ parts
Slide 26
Slide 26 text
Gaayaka
| S, N D | N S R G |
((P S,,)) , ((S , S>>> S)) -((D. S.
D)) ((S , S>> S))- S R ((G<< G , ,))
‘<‘ and ‘>’ increase and decrease pitch
‘(‘ and ‘)’ are speed factors; deeper is faster
Slide 27
Slide 27 text
Overtone Gamakams
Slide 28
Slide 28 text
Overtone Gamakams
Slide 29
Slide 29 text
back to this...
Me
Machine
Slide 30
Slide 30 text
Overtone Gamakams
Slide 31
Slide 31 text
PASR
durations, and pitch class in one part
Vector specifies the PASR vars for each prescriptive
note
P, M, | G, GM | R, GR | S,,,
Slide 32
Slide 32 text
DPASR
Slide 33
Slide 33 text
Rendering PASR
Me
Machine
Slide 34
Slide 34 text
Rendering PASR
Slide 35
Slide 35 text
The ways of the future
As I see it
Slide 36
Slide 36 text
The path I see
Have the basic abstractions, fair models to render
Understanding the abstractions in melody
Model rules in the ragams, generate music weighted by
probabilities given by these rules
Deep learning, Recurrent Neural Networks
Improved transcription of Carnatic Music
Open Carnatic Music Database
(-> OCMD
auto-transcription
ML
machine-created-music)
Slide 37
Slide 37 text
Is that music though?
Maybe?
Slide 38
Slide 38 text
References
My work so far
https://github.com/ssrihari/ragavardhini
SSP - 1905 - Sangita Sampradaya Pradarshini
http://ibiblio.org/guruguha/ssp_cakram1-4.pdf
SPS - 2013 - Modeling Gamakas of Carnatic Music as a Synthesizer for Sparse Prescriptive Notation
http://sriku.org/thesis/srikumar-phd-thesis-cnm-modeling-gamakas-6aug2013.pdf
http://sitardivin.globat.com/seminar2013/047SrikumarS.pdf
TMK - 2012 - Svara, Gamaka, Phraseology and Raga identity
http://compmusic.upf.edu/system/files/static_files/03-T-M-Krishna-2nd-CompMusic-
Workshop-2012_0.pdf
Gayaka - the software. Runs on windows, written in javascript by SPS.
http://carnatic2000.tripod.com/gaayaka6.htm
SPS A Composition Based Method for Modeling Carnatic Music Rāgas and Style
http://sitardivin.globat.com/seminar2013/047SrikumarS.pdf
Recent work on digitizing some carnatic music notation
http://devagitam.in
Slide 39
Slide 39 text
Carnatic Music Synthesis
in Clojure
@SrihariSriraman
@nilenso