Slide 1

Slide 1 text

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

Slide 20

Slide 20 text

Gamakams Modeling, Rendering

Slide 21

Slide 21 text

Gamakams Microtones, Continuous pitch movements Vocal T radition Sangīta Sampradāya Pradarśini [Diskshitar 1904]

Slide 22

Slide 22 text

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