Making machines
that make music
ीहर ीरामन्
नलेो
Srihari Sriraman
nilenso
Slide 2
Slide 2 text
Why I do this
I sing, I do computers
Bleeding edge research
A long time hobby
Re-discovery
Slide 3
Slide 3 text
Structure of this talk
Universality, Carnatic music
A timeline of 4 phases
Bridging the gap between machines and humans
Understand domain, create abstractions
Synthesise ⟷ Generate ⟷ Transcribe
Reflect on melody insights
Slide 4
Slide 4 text
This is what it sounds like
[play synthesised music]
Slide 5
Slide 5 text
Prominent tonic
Resolves tension from musical movement
Pervasive pentatonic scales
Common in a lot of cultures: celtic, chinese, african, english, indian, etc
7 note scales, 12 semitones
Latin, Chinese, Indian cultures have similar solfege
Emotive melodies
Lullabies, sing-alongs, march songs, festival songs, hymns
Universality
Natural phenomena observed around the world
Slide 6
Slide 6 text
Music is
Math / Science / Art
Slide 7
Slide 7 text
Universality
Slide 8
Slide 8 text
Universality
Natural phenomenons
Prominent tonic
Pervasive pentatonic scales
7 note scales, 12 semitones
Emotive melodies
Tonic | आधार षज
- Resolves tension from musical
movement.
- Everyone knows when a piece of
music returns to the tonic.
Slide 9
Slide 9 text
Pentatonic | औडुवम्
Common in a lot of cultures: celtic,
chinese, african, english, indian, etc
hps://en.wikipedia.org/wiki/Pentatonic_scale#Pervasiveness
Popular Bobby McFerrin demonstration
of the power of the pentatonic scale
hps://www.youtube.com/watch?v=ne6tB2KiZuk
Universality
Natural phenomenons
Prominent tonic
Pervasive pentatonic scales
7 note scales, 12 semitones
Emotive melodies
Slide 10
Slide 10 text
Universality
Natural phenomenons
Prominent tonic
Pervasive pentatonic scales
7 note scales, 12 semitones
Emotive melodies
7 notes | स राः
Latin: do re mi fa sol la si
Chinese: shàng chě gōng fán liù wù yi
Indian: sa ri ga ma pa da ni
Slide 11
Slide 11 text
Universality
Natural phenomenons
Prominent tonic
Pervasive pentatonic scales
7 note scales, 12 semitones
Emotive melodies
Emotive melodies | रस
Happy sing-alongs, lullabies, march songs,
harvest songs, festival songs, hymns,
funeral songs sound similar across
cultures.
Slide 12
Slide 12 text
Carnatic music
शाीय संगीतम्
Slide 13
Slide 13 text
Kalyani, Extempore
MS Gopalakrishnan, Violin
Slide 14
Slide 14 text
Tanpura
Veena Mridangam
Slide 15
Slide 15 text
Khamas, Thillana
Abhishek Raghuram
Slide 16
Slide 16 text
Classical, art music
- Not Tribal | Folk | Religious | Popular
- Intent is artistic
- Music itself is the sole focus
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Slide 17
Slide 17 text
Ancient, traditional music
– Earliest treatise ना शा (Natya Shastra)
at 500BC
– लण (Lakshana Grantha): Rich
tradition of Sanskrit grammar texts
– Oral tradition, trained by exposure
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Slide 18
Slide 18 text
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Digitisation hype cycle
Slide 19
Slide 19 text
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Carnatic music
Digitisation hype cycle
Slide 20
Slide 20 text
Melodic music
- Has lile place for harmony
- Emphasis on notes in succession
- Explores melody through ragas and gamakas
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Slide 21
Slide 21 text
Extempore, compositions
- Similar to jazz music
- Renditions of century old compositions
- Improvisations are generally around
compositions
Carnatic Music
South Indian Classical Music
Classical, art music
Ancient, traditional music
Melodic music
Extempore, and compositions
Slide 22
Slide 22 text
Model fundamental abstractions
Render prescriptive notation
Model and synthesise gamaka
Phase #1
Slide 23
Slide 23 text
Fundamental abstractions
आधार षज, र, राग
Slide 24
Slide 24 text
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Adhara Shadja
आधार षज | Tonic, pitch
- Choice of the artist based on voice
- Does not change for every song
- Swaras are relative to this
- The 12 semitones in an octave
- Solfege is sung, and used as notation
- Elements of a raga
Swara
र | Note
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Slide 27
Slide 27 text
Sa Ri Ga Ma Pa Da Sa
Ni
Slide 28
Slide 28 text
Sa Ri Ga Ma Pa Da Sa
Ni
S R G M P D S
N
R1 R2 R3
G1 G2 G3 M1 M2
D1 D2 D3
N1 N2 N3
Notation
Pronunciation
Variations
Prescriptive Notation
s,,r g,p, d,s., n,d,
p,dp mgrs rsnd s,,,
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Slide 32
Slide 32 text
Raga
राग | Melodic framework
Kaapi, Extempore
TM Krishna
Slide 33
Slide 33 text
Raga
राग / Melodic framework
- Melodic modes with added specialities
- Grammar that a composition adheres to
- Evokes a certain set of emotions
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Scale | आरोह, अवरोह
– Example:
– Aarohanam: 1 2 3 5 6 8
– Avarohanam: 8 7 6 5 4 3 2 1
– They form a skeleton of the raga
– Can be asymmetric, and non-linear
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Slide 36
Slide 36 text
(:ragam (search/search-ragam “goula"))
{:arohanam (:s :r1 :m1 :p :n3 :s.)
:avarohanam (:s. :n3 :p :m1 :r1 :g3 :m1 :r1 :s)
:name :gaula
:parent-mela-name :mayamalavagowla
:parent-mela-num 15}
(play-arohanam-and-avarohanam
(:ragam (search/search-ragam “goula")))
Lookup and play the scale
Fundamentals
आधार षज, र, राग
Adhara Shadja / Tonic
Swara / Note
Raga / Melodic Framework
Demo
Etymology in Sanskrit
सक
् क
ृ तम् (correctly done) = सं
ृ तम्
Specifies grammar for creating new words
Words can be composed (समास / Samāsa)
Elegant solution to the naming problem in soware
Slide 40
Slide 40 text
मेव राजते इत र
- that which shines on its own
- In the context of grammar, “swara”
means vowel. A consonant in Sanskrit
cannot be pronounced without a vowel.
Etymology
Independent
Resonant
Swara
र | Note
Slide 41
Slide 41 text
ः: अनुरणनाक: तो रयत
- that which shines on its own
- resonant, unlike spoken words
Sangita Ratnakara, Sarngadeva, 12 CE
Swara
र | Note
Slide 42
Slide 42 text
Raga / राग
– colour: hue, tint, dye
– emotion: desire, interest, anger, melancholy, joy,
delight, yearning
– More than a scale: phraseology / रागवाचक
Raga
राग / Melodic framework
Slide 43
Slide 43 text
More than a scale
– A class of ragas has a phraseology / रागवाचक
– Learning a raga is akin to learning a
language by exposure (say a mother tongue)
– A raga is absorbed
Etymology
Color, Emotion
More than a scale
Raga
राग / Melodic framework
Slide 44
Slide 44 text
So far..
..we’ve managed to play some prescriptive
notation within the context of a raga
Slide 45
Slide 45 text
But..
..that doesn’t sound like Carnatic music
Slide 46
Slide 46 text
Enter Melographs
Me
Machine
Slide 47
Slide 47 text
Enter Melographs
Me
Machine
Slide 48
Slide 48 text
Gamaka
Slide 49
Slide 49 text
छाया ुरा याम् रो य गमये
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
Movement of a note from it’s pitch towards another
so that the second passes like shadow over it.
Sangita samayasaara, Parsvadeva, 12CE
Slide 50
Slide 50 text
- Embellishment, ornamentation
- Shake, push, glide, flick
- Pervasive in Carnatic music
- Every swaram is a continuum
What is it?
Gamaka
गमक / Ornamentation
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Slide 51
Slide 51 text
Sphuritam
Jaaru
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
Slide 52
Slide 52 text
Kampitam
Orikai
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
Slide 53
Slide 53 text
Prescriptive vs Descriptive
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
Slide 54
Slide 54 text
Prior art
Gaayaka | Subramanian, 2009
| S, N D | N S R G |
((P S,,)) , ((S , S>>> S)) -((D. S. D))
((S , S>> S))- S R ((G<< G , ,))
- Database of phrases
- < and > increase and decrease pitch
- ( and ) are speed factors; deeper is faster
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
SSP | Sangita Samradaya Pradarshini
संगीत सादाय दषन
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Gamaka
गमक / Ornamentation
Slide 57
Slide 57 text
Gamaka
गमक / Ornamentation
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Slide 58
Slide 58 text
- Frequency envelopes
(g-inst sphuritam-inst
(envelope [f f lf f f]
[ d4 d1 d1 d4]
:welch))
(g-inst jaru-inst
(envelope [pf f f]
[ d9 d1]
:welch))
Synthesis
Gamaka
गमक / Ornamentation
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Slide 59
Slide 59 text
Back to this…
Me
Machine
(play-phrase
(string->phrase (:mohana r/ragams)
"^g, ~r, ^s ^r ^g ^r"
1))
Slide 60
Slide 60 text
Rendering PASR…
Gamaka
गमक / Ornamentation
What is it?
Kinds of gamaka
Prescriptive vs Descriptive
Prior art
Synthesis
Rendering PASR
Slide 61
Slide 61 text
Melody Insights #1
Prescriptive notation is insuicient for reproduction
Raga as a framework for creating melodies is powerful
Melographs make melodies tangible for observation
Gamaka synthesis can be mathematically modelled as a curve
Slide 62
Slide 62 text
Generate a stream of Carnatic music
Try to convert existing music into music data
Study music data, look for paerns
Infer characteristics of raga from music data
Phase #2
Slide 63
Slide 63 text
Generation
A naive approach
Slide 64
Slide 64 text
(defn gen-durations []
(let [m 16
n 8
sum (- m n)]
(->> (repeatedly n #(rand-nth (range (inc sum))))
(cons sum)
sort
adjacent-differences
(map inc))))
(defn random-swarams [swarams num]
(repeatedly num #(rand-nth swarams)))
(defn random-durations [jathi num]
;; [1, 2, 1, 1, 4, 1, 1, 2, 2, 4]
(take num (flatten (repeatedly gen-durations))))
Generate random durations
Pick swarams from a raga
Generation
A naive approach
Slide 65
Slide 65 text
Generate random durations
Pick swarams from a raga
Generation
A naive approach
(play-completely-random-phrase :mohana 4 100)
Slide 66
Slide 66 text
Transcription
Slide 67
Slide 67 text
Step 1.
Build a massive database by scraping the internet
Ragas, lyrics
Ragas
Compositions, Renditions
Get data, study data
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 68
Slide 68 text
Get data, study data
Step 2.
Build a user interface to search songs and ragas,
so that I can see what’s in the database.
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 69
Slide 69 text
Get data, study data
Step 3.
Download renditions of a given raga
(->> "bhairavi"
(db-search/renditions-in-ragam)
(take 50)
(download-renditions)
hp://github.com/ssrihari/kosha
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 70
Slide 70 text
Get data, study data
Step 4.
Transcribe the fundamental frequencies of vocals
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 71
Slide 71 text
Get data, study data
Step 5.
Look at melographs, spectrograms, and try to find
usable insights about melody.
kalyANi-MS-Subbulakshmi-nidhi_cAla_sukhamA-tyAgarAja3.mpeg.wav.pitch.frequencies
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 72
Slide 72 text
Pitch histograms
(defn pitch-histogram [filename]
(let [frequencies (f/freqs-from-file filename)
data-set (to-dataset frequencies)
title (str "pitch histogram for " filename)]
(with-data data-set
(save (histogram (or plot-axis :freq)
:density true
:nbins 1200
:title title
:x-label "frequency"
:y-label "ocurrances")
(str filename "-pitch-histogram.png")
:width 1200
:height 300))))
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Slide 73
Slide 73 text
Pitch histograms
(defn pitch-histogram [filename]
(let [frequencies (f/freqs-from-file filename)
data-set (to-dataset frequencies)
title (str "pitch histogram for " filename)]
(with-data data-set
(save (histogram (or plot-axis :freq)
:density true
:nbins 1200
:title title
:x-label "frequency"
:y-label "ocurrances")
(str filename "-pitch-histogram.png")
:width 1200
:height 300))))
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Tonic identification
Bellur, A., V. Ishwar, X. Serra, and H. A. Murthy (2012)
A knowledge based signal processing approach to tonic identification in
indian classical music.
Bellur, A., and H. A. Murthy (2013)
Automatic tonic identification in classical music using melodic
characteristics and tuning of the drone.
Srihari, S. (2016) *
Pick the highest one, it mostly just works.
* not really, no
Get data, study data
Pitch histograms
MIDI histograms
Tonic identification
Swaram histograms
Transcription
Audio files to notes
Swaram Histogram
Kalyani
S, R2, G3, M2, P, D2, N3, S.
S., N3, D2, P, M2, G3, R2, S
Slide 81
Slide 81 text
Kalyani
S, R2, G3, M2, P, D2, N3, S.
S., N3, D2, P, M2, G3, R2, S
Revati
S, R1, M1, P, N2, S.
S., N2, P, M1, R1, S
Mohana
S, R2, G3, P, D2, S.
S., D2, P, G3, R2, S
Slide 82
Slide 82 text
Generation
Not so naive now
Slide 83
Slide 83 text
(defn get-next-swaram [swaram-allocations]
(let [r (rand 100)]
(->> swaram-allocations
(filter (fn [[swaram [b e]]] (< b r e)))
first
first)))
One swaram probabilities
One swaram probabilities
Two-swaram probabilities
One vs two swarams
Markov chains
Generation
Slide 84
Slide 84 text
Random
Swaram Weighted
One swaram probabilities
One swaram probabilities
Two-swaram probabilities
One vs two swarams
Markov chains
Generation
Slide 85
Slide 85 text
Melody Insights #2
Tonic is prominent
Sa (tonic), and Pa (5th) have higher and sharper peaks
Other note peaks are blunt
Probabilities of all swarams in a raga are not the same
Probabilities across octaves are not the same
Slide 86
Slide 86 text
Make generative music sound continuous
Extract raga grammar, use it in generation
How do we detect melodic paerns?
Phase #3
Slide 87
Slide 87 text
Generation
Continued…
Slide 88
Slide 88 text
Two swaram probabilities
{:.s
([:.s 57.35530546623794]
[:.r2 6.109324758842444]
[:s 5.868167202572347]
[:.d2 5.466237942122186]
[:.p 5.42604501607717]
[:.g3 3.215434083601286]…)
:.r2
([:.s 29.53020134228188]
[:.r2 21.0738255033557]
[:.g3 14.49664429530201]
[:.p 6.577181208053691]…)
:.p
([:.p 44.131214761660694]
[:.d2 16.04305484366991]
[:.g3 8.14966683751922]…)
…}
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
Slide 89
Slide 89 text
Two swaram probabilities
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
Slide 90
Slide 90 text
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
(defn swaram-generator [swaram allocations]
(lazy-seq
(cons swaram
(swaram-generator
(get-next-swaram swaram allocations)
allocations))))
Two swaram probabilities
Slide 91
Slide 91 text
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
One vs two swarams
Slide 92
Slide 92 text
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
Markov chains
https://en.wikipedia.org/wiki/Markov_chain#Music
https://github.com/rm-hull/markov-chains
Slide 93
Slide 93 text
One swaram probabilities
Two swaram probabilities
One vs two swarams
Markov chains
Generation
Markov chains
https://en.wikipedia.org/wiki/Markov_chain#Music
https://github.com/rm-hull/markov-chains
Slide 94
Slide 94 text
Melody Insights #3
Adjacent swarams seem more melodious
Sequencing per raga rules makes it sound beer
Gamakas at this level give a Carnatic texture
Sometimes, the in-between is worse than either extreme
Higher order Markov chains do not make it sound beer
Slide 95
Slide 95 text
Back to the drawing board
Explore rhythm concepts
Explore repetition
Try to generate melodies
Phase #4
Slide 96
Slide 96 text
Laya, and Tala
Temporal discipline
Slide 97
Slide 97 text
ुत: माता लय: पता
Shruti is the mother, Laya is the father
- Shruti: Pitch fidelity
- Laya: Temporal discipline, or Tempo
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 98
Slide 98 text
- Laya organizes music in time
- A change in tempo has communicative weight
Laya | लय
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 99
Slide 99 text
TAla is the fundamental principle that
binds Gita (song), Vadya (instrument)
and Nria (dance).
ताळ: तल थठयामत गीतम्
वाम् तथानृं यथाालेततम्
Sangita Ratnakara, Sarngadeva, 12 CE
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 100
Slide 100 text
Tala | ताळ
- A recurrent time frame, a cycle of beats
- Derived from poetic meter, rather than dance
- Hand gestures for conduction
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 101
Slide 101 text
Tala Systems
- Navasandhi talas (108)
- Chapu talas (4)
- Suladi Sapta talas (175)
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartanam
Matra, Akshara, Gati
Slide 102
Slide 102 text
Avartana | आवतन
- avartana: 1 cycle
- signifies number of beats in 1 cycle
- simhanandana tala: 128 beats per cycle
- sharaba nandana tala: 79 beats per cycle
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 103
Slide 103 text
Kriya, Anga, Jati
- Anga: A subdivision of the tala
- Kriya: The gesture used to refer to an anga
- Jati: The number of matras in a laghu
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartanam
Kriya, Anga, Jati
Matra, Akshara, Gati
Slide 104
Slide 104 text
Matra, Akshara, Gati
- Matra: beat (within an avartana)
- Akshara: division of beat (within a matra)
- Gati: gait; factor dividing matra into akshara
Laya, Tala
Temporal discipline
Etymology, Meaning
Avartana
Matra, Akshara, Gati
Slide 105
Slide 105 text
Transcription
based on laya and gati
Slide 106
Slide 106 text
Original Record
Gati: 1
Gati: 2
Gati: 4
Gati: 8
Transcription
Based on laya and gati
A clinical process
Detail vs structure trade-os
Varna and Alankara
Removing outliers
Slide 107
Slide 107 text
Gati: 2
Gati: 8
Melodic structure is visible at 1/2 a matra / beat
Embellishments / Gamakas are visible at 1/8th
Transcription
Based on laya and gati
A clinical process
Detail vs structure trade-os
Varna and Alankara
Removing outliers
Slide 108
Slide 108 text
Transcription
Based on laya and gati
A clinical process
Detail vs structure trade-os
Varna and Alankara
Removing outliers
Varna and Alankara
- Tonal paerns at matra (beat) level
is called varna
- Embellishments at akshara (sub-beat)
level is called alankara
Slide 109
Slide 109 text
Removing outliers
- Short-lived frequencies (< akshara/2)
- Non prominent swaras in raga
- Low and high cutos for unnatural frequencies
- Octave shis, and continuous tonics
- Detecting rests
Transcription
Based on laya and gati
A clinical process
Detail vs structure trade-os
Varna and Alankara
Removing outliers
Slide 110
Slide 110 text
Generation
Last time, promise
Slide 111
Slide 111 text
Revisiting Markov Chains
- Transcribing with input BPM improves quality
- Markov chains at multiple levels of granularity
- So many knobs/toggles to play with
Revisiting Markov chains
At matra, akshara levels
Embellishment chains
Aavrii
Generation
Embellishment chains
- Filling matra chains with alankara chains fails
- Gamakas are contextual, and have their own laya
Revisiting Markov chains
At matra, akshara levels
Embellishment chains
Aavrii
Generation
Slide 114
Slide 114 text
Revisiting Markov chains
At matra, akshara levels
Embellishment chains
Aavrii
Generation Repetition / Avartana
Organic repetition seems hard to model, I’m on it.
Slide 115
Slide 115 text
Melody Insights #4
Time is fundamental to melody, and inseparable from frequency
Humans perceive more than a beat when hearing a beat
Machines understand tonal structures at 1/2 a beat
Markov chains don’t work for embellishments
Simplest form of repetition can be powerful
Slide 116
Slide 116 text
By-products
Slide 117
Slide 117 text
Using a simple
goodness of fit test
By-product #1
Raga Identification
(defn raga-diff [base-osp sample-osp]
(let [ordered-vals (fn [osp]
(vals (sort-by first < osp)))
probs (ordered-vals base-osp)
table (ordered-vals sample-osp)]
(chisq-test :table table
:probs (map #(* 0.01 %) probs))))
Slide 118
Slide 118 text
(defn raga-diff [base-osp sample-osp]
(let [ordered-vals (fn [osp]
(vals (sort-by first < osp)))
probs (ordered-vals base-osp)
table (ordered-vals sample-osp)]
(chisq-test :table table
:probs (map #(* 0.01 %) probs))))
Using a simple
goodness of fit test
By-product #1
Raga Identification
References
Sangita Ratnakara of Sarngadeva – RK Shringy, Prem Lata Sharma
Sangita Sampradaya Pradarsini – SRJ, NR, RSJ
Brhaddesi of Sri Matanga Muni – Prem Lata Sharma
Appreciating Carnatic Music – Lakshmi Sreeram
South Indian Music – P. Sambamurthy
Compmusic – MTG, Barcelona, Xavier Serra
Gayaka - Subramanian
Srikumar’s PASR thesis
Slide 124
Slide 124 text
Making machines
that make music
ीहर ीरामन्
नलेो
Srihari Sriraman
nilenso
Slide 125
Slide 125 text
Shruti
ुत
Etymology
Intervals in indian music
ूयते इत ुत:
- that which should be heard
- the vedas, tanpura
- that which can be heard
- the word shruti probably means an
interval here