Caution

You're reading the documentation for a development version. For the latest released version, please have a look at 0.10.1.

# librosa.mela_to_svara

librosa.mela_to_svara(mela, *, abbr=True, unicode=True)[source]

Spell the Carnatic svara names for a given melakarta raga

This function exists to resolve enharmonic equivalences between pitch classes:

• Ri2 / Ga1

• Ri3 / Ga2

• Dha2 / Ni1

• Dha3 / Ni2

For svara outside the raga, names are chosen to preserve orderings so that all Ri precede all Ga, and all Dha precede all Ni.

Parameters:
melastr or int

the name or numerical index of the melakarta raga

abbrbool

If True, use single-letter svara names: S, R, G, …

If False, use full names: Sa, Ri, Ga, …

unicodebool

If True, use unicode symbols for numberings, e.g., Ri₁

If False, use low-order ASCII, e.g., Ri1.

Returns:
svaralist of strings

The svara names for each of the 12 pitch classes.

Examples

Melakarta #1 (Kanakangi) uses R1, G1, D1, N1

```>>> librosa.mela_to_svara(1)
['S', 'R₁', 'G₁', 'G₂', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'N₁', 'N₂', 'N₃']
```

#19 (Jhankaradhwani) uses R2 and G2 so the third svara are Ri:

```>>> librosa.mela_to_svara(19)
['S', 'R₁', 'R₂', 'G₂', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'N₁', 'N₂', 'N₃']
```

#31 (Yagapriya) uses R3 and G3, so third and fourth svara are Ri:

```>>> librosa.mela_to_svara(31)
['S', 'R₁', 'R₂', 'R₃', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'N₁', 'N₂', 'N₃']
```

#34 (Vagadheeswari) uses D2 and N2, so Ni1 becomes Dha2:

```>>> librosa.mela_to_svara(34)
['S', 'R₁', 'R₂', 'R₃', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'D₂', 'N₂', 'N₃']
```

#36 (Chalanatta) uses D3 and N3, so Ni2 becomes Dha3:

```>>> librosa.mela_to_svara(36)
['S', 'R₁', 'R₂', 'R₃', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'D₂', 'D₃', 'N₃']
```

# You can also query by raga name instead of index:

```>>> librosa.mela_to_svara('chalanatta')
['S', 'R₁', 'R₂', 'R₃', 'G₃', 'M₁', 'M₂', 'P', 'D₁', 'D₂', 'D₃', 'N₃']
```