ESRA Ethnographic Sound and Recording Archive

III. Mathematik des COMSAR-Systems

Dieser Teil beschreibt die Mathematik hinter den Analysen von ESRA: die Klangfarbenmerkmale (Timbre), die Tonhöhenanalyse, die Bestimmung der Tonsysteme, die Vektoren der Tonsystem-Karten, die Rhythmusanalyse des comsar-Systems und die selbstorganisierenden Karten mit Güte und Merkmalssuche. Alle Formeln geben wieder, was die Programme tatsächlich rechnen: comsar 0.0.15, apollon 0.1.7, chainsaddiction 0.2.5 und die ESRA-Module. Die Standardwerte sind die Voreinstellungen von ESRA; im Expertenmenü lassen sich alle ändern.

Schreibweise. \(x[n]\): Abtastwerte (Mono, Wertebereich \([-1,1]\), mehrkanalige Dateien werden gemittelt), \(f_s\): Abtastrate, \(N\): Fensterlänge, \(H\): Vorschub (Hop) in Abtastwerten, \(t\): Rahmenindex, \(k\): Frequenzindex mit Mittenfrequenz \(f_k\), \(X_{k,t}\): komplexes Kurzzeitspektrum, \(A_{k,t}=|X_{k,t}|\), \(P_{k,t}=|X_{k,t}|^2\). Cent: \(c=1200\log_2(f/f_\text{ref})\).

1. Klangfarbe: TimbreTrack

1.1 Rahmen und Spektrum

Das Signal wird in überlappende Rahmen zerlegt:

$$N=\operatorname{round}\big(T_\text{win}f_s/1000\big),\qquad H=N-\operatorname{round}(N\,o),$$

mit \(T_\text{win}=743\) ms (bei 44,1 kHz etwa \(2^{15}\) Abtastwerte) und Überlappung \(o=0{,}5\), also ein Rahmen alle 371,5 ms. Der erste Rahmen ist auf den Dateibeginn zentriert. Jeder Rahmen wird mit einem Hamming-Fenster \(w[n]=0{,}54-0{,}46\cos(2\pi n/N)\) gewichtet und transformiert:

$$X_{k,t}=\frac{2}{\sum_n w[n]}\sum_{n=0}^{N-1}w[n]\,x_t[n]\,e^{-2\pi i kn/N_\text{FFT}},\qquad f_k=k\,\frac{f_s}{N_\text{FFT}}.$$

Die Normierung sorgt dafür, dass ein Sinuston der Amplitude 1 im Spektrum die Amplitude 1 hat. TimbreTrack liefert neun Merkmale je Rahmen.

1.2 Spektraler Schwerpunkt und spektrale Breite

Mit der Leistungsverteilung \(p_{k,t}=P_{k,t}/\sum_j P_{j,t}\) sind

$$f_C(t)=\sum_k f_k\,p_{k,t},\qquad \sigma_f(t)=\sqrt{\sum_k\big(f_k-f_C(t)\big)^2p_{k,t}}$$

der Schwerpunkt (in Hz, ein Maß für Helligkeit) und die Breite des Spektrums um diesen Schwerpunkt (Standardabweichung in Hz).

1.3 Spektraler Fluss

Der Fluss misst, wie stark das Betragsspektrum von Rahmen zu Rahmen zunimmt:

$$\mathrm{SF}(t)=\sum_k\max\big(0,\ \partial_tA_{k,t}\big),\qquad \partial_tA_{k,t}=\tfrac12\big(A_{k,t+1}-A_{k,t-1}\big)$$

(zentrale Differenz; am ersten und letzten Rahmen einseitig).

1.4 Rauigkeit (Spektrum)

Rauigkeit entsteht, wenn zwei Teiltöne so nah beieinander liegen, dass sie schweben. Helmholtz fand die größte Rauigkeit bei etwa 33 Hz Abstand. Die Gewichtskurve über dem Frequenzabstand \(\delta\) ist

$$\kappa(\delta)=\frac{\delta}{33\,e^{-1}}\,e^{-\delta/33\,\text{Hz}},\qquad \kappa(33\,\text{Hz})=1.$$

Je Rahmen wird das Betragsspektrum bis 15 kHz auf sein Maximum normiert, Werte unter 0,1 werden null. Die Autokorrelation über die Frequenzachse \(r(m)=\sum_k a_ka_{k+m}\) (normiert, \(r(0)=0\)) erfasst alle Paare von Spektrallinien im Abstand \(m\,\Delta f\). Die Rauigkeit ist

$$R(t)=\frac{\sum_m r(m)\,\kappa(m\,\Delta f)}{\#\{m:\ r(m)>0{,}2\}}.$$

1.5 Rauigkeit nach Bader/Helmholtz und nach Sethares (Wavelet)

Diese beiden Rauigkeiten arbeiten mit genau bestimmten Teiltönen. Auf einem Frequenzraster von 2 Hz zwischen 50 und 5000 Hz wird je Rahmen eine Gabor-Amplitude mit Gauß-Fenster \(g[i]=\exp\!\big(-(N/2-i)^2/(N^2/10)\big)\) berechnet,

$$A(f,t)=\frac1N\Big|\sum_{i=0}^{N-1}g[i]\,x_t[i]\,e^{-2\pi i f i/f_s}\Big|,$$

auf das Maximum der ganzen Datei normiert. Teiltöne sind lokale Maxima über der Schwelle 0,05; ihre Frequenz \(\hat f\) und Amplitude \(\hat a\) werden durch eine Parabel durch die drei Nachbarwerte verfeinert. Für alle Paare \(i<j\) mit Abstand \(d_{ij}=|\hat f_i-\hat f_j|\) gilt dann

$$R_\text{BH}(t)=\sum_{d_{ij}<200\,\text{Hz}}\hat a_i\hat a_j\,\frac{d_{ij}\,e^{-d_{ij}/33}}{33\,e^{-1}}$$

(Bader/Helmholtz) und, mit der Plomp-Levelt-Kurve in der Form von Sethares und \(s_{ij}=0{,}24/(0{,}021\min(\hat f_i,\hat f_j)+19)\),

$$R_\text{S}(t)=\sum_{d_{ij}<1000\,\text{Hz}}\hat a_i\hat a_j\Big(e^{-3{,}5\,s_{ij}d_{ij}}-e^{-5{,}75\,s_{ij}d_{ij}}\Big).$$

1.6 Schärfe

Das Spektrum wird mit 24 Dreiecksfiltern auf die Bark-Skala \(z(f)=13\arctan(0{,}00076f)+3{,}5\arctan\big((f/7500)^2\big)\) abgebildet, Bandenergie \(E_{z,t}=\sum_kF_{z,k}A_{k,t}\). Mit dem Pegel \(L_{z,t}=10\log_{10}(E_{z,t}/I_0)\), der spezifischen Lautheit \(N'_{z,t}=L_{z,t}^{0{,}23}\) und dem Gewicht \(g(z)=\max\big(1,\ 0{,}066\,e^{0{,}171z}\big)\) für hohe Bänder ist

$$S(t)=\frac{\sum_{z=1}^{24}z\,g(z)\,E_{z,t}}{\sum_z\sum_{t'}N'_{z,t'}}.$$

Der Nenner summiert über alle Rahmen des Stücks. Schärfewerte sind deshalb innerhalb eines Stücks und zwischen Stücken ähnlicher Länge direkt vergleichbar.

1.7 Schalldruckpegel

$$\mathrm{SPL}(t)=20\log_{10}\frac{\sqrt{\tfrac1N\sum_nx_t[n]^2}}{p_0},\qquad p_0=2\cdot10^{-5}.$$

Da die Aufnahmen nicht kalibriert sind, ist das ein Pegel relativ zur digitalen Vollaussteuerung (plus 94 dB), keine gehörgerechte Lautheit.

1.8 Fraktale Dimension (Korrelationsdimension)

Die Korrelationsdimension misst die Komplexität der Schwingung. Aus dem Signal (16 Bit) wird eine Verzögerungseinbettung mit Verzögerung \(\tau=14\) Abtastwerten und Dimension \(m=80\) gebildet,

$$\mathbf v_i=\big(q_i,q_{i+\tau},\dots,q_{i+(m-1)\tau}\big),\qquad d_{ij}=\lVert\mathbf v_i-\mathbf v_{i+j}\rVert_2 .$$

Aus dem Histogramm der Abstände folgt die kumulative Korrelationssumme \(C(r)\), der Anteil der Punktpaare mit Abstand unter \(r\). Die Dimension ist die Steigung im doppelt logarithmischen Diagramm (Grassberger-Procaccia),

$$D_2=\frac{\ln C(r_2)-\ln C(r_1)}{\ln r_2-\ln r_1},$$

geschätzt über 10 Histogrammklassen ab der stärksten Klasse im unteren Bereich. Ausgewertet werden die ersten 2400 Abtastwerte jedes Rahmens.

1.9 Ein Vektor pro Stück

Für die Karten wird jedes Stück zu einem Punkt: Für jedes Merkmal \(v_t\) werden Mittelwert und Streuung über alle Rahmen des ganzen Stücks gespeichert,

$$\bar v=\frac1T\sum_tv_t,\qquad s_v=\sqrt{\frac1{T-1}\sum_t(v_t-\bar v)^2},$$

als Merkmal_mean und Merkmal_std. Ein Stück hat damit bis zu 18 Timbre-Werte. Die zeitliche Entwicklung innerhalb eines Stücks geht hier bewusst nicht ein; sie ist Gegenstand der Rhythmusanalyse.

2. Tonhöhe: PitchTrack

2.1 Grundfrequenz nach YIN

Die Tonhöhe wird alle 10 ms bestimmt (Rahmen 50 ms, Überlappung 0,8), zwischen \(f_\text{min}=60\) Hz und \(f_\text{max}=1200\) Hz. Das YIN-Verfahren sucht die Periode \(\tau\) über die Differenzfunktion

$$d(\tau)=\sum_{j=0}^{W-1}\big(s_j-s_{j+\tau}\big)^2,\qquad d'(\tau)=\frac{d(\tau)}{\frac1\tau\sum_{u=1}^{\tau}d(u)},\quad d'(0)=1,$$

mit Integrationsfenster \(W=2f_s/f_\text{min}\). Gewählt wird das erste \(\tau\) mit \(d'(\tau)<0{,}12\) (bis zum nächsten lokalen Minimum), sonst das globale Minimum. Eine Parabel durch die Nachbarwerte verfeinert \(\tau\) unter die Abtastauflösung; der Rahmen gilt als stimmhaft, wenn \(d'(\tau)<0{,}35\), und hat dann \(f_0=f_s/\tau^\ast\). Ein Test mit um ±50 cent verschobenen Tönen ergab Fehler unter 0,2 cent. Das ältere Autokorrelationsverfahren (ACF) ist noch wählbar, rastet aber auf ganze Verzögerungen ein (bis 12 cent Fehler bei hohen Tönen).

Oktavbereinigung. Oktavsprünge der Schätzung werden korrigiert: Jeder Wert wird um ganze Oktaven verschoben, bis er höchstens eine halbe Oktave vom Median der stimmhaften Nachbarn (±7 Rahmen) entfernt liegt.

2.2 Noten

Die Tonhöhen werden in cent über \(f_0=27{,}5\) Hz umgerechnet, \(c_i=\operatorname{round}\big(1200\log_2(f_i/27{,}5\,\text{Hz})\big)\). Eine Note ist ein stimmhafter, stabiler Abschnitt von mindestens \(L=15\) Rahmen (150 ms), in dem kein Wert mehr als \(\Delta=60\) cent vom Mittel abweicht:

$$\forall k\in[p,p+L):\ \big|c_k-\bar c_{[p,p+L)}\big|\le\Delta .$$

Der Abschnitt wird verlängert, solange die Bedingung hält. Die Tonhöhe der Note ist der häufigste cent-Wert in ihr.

2.3 Das Tonsystem in comsar

comsar faltet alle Notenrahmen in eine Oktave relativ zur stärksten Tonhöhe \(c^\ast\) und normiert den Vektor \(\hat c_o\) auf Länge 1. Für jede der 945 Skalen der comsar-Tabelle mit Stufen \(s_j\) wird

$$T(s)=\hat c_o[0]+\sum_j\sum_k\hat c_o[k]\exp\!\Big(-\frac{(s_j-k)^2}{\text{dts}^2}\Big)$$

berechnet; die zehn höchsten Werte sind die „wahrscheinlichsten Tonsysteme“. Diese Summe wird nicht durch die Zahl der Stufen geteilt, die Tonika ist immer die stärkste Tonhöhe, und bei \(\text{dts}=0{,}1\) zählt nur der Histogrammwert genau auf der Stufe. Deshalb gewinnen Skalen mit vielen Stufen. ESRA bestimmt das Tonsystem seit 2026 anders (Abschnitt 3); die comsar-Werte werden nur noch zum Vergleich gespeichert.

3. Tonsysteme in ESRA

ESRA trennt drei Entscheidungen, die comsar in einem Schritt trifft: (1) die Messung der tatsächlich benutzten Stufen, (2) den Vergleich mit einem ausdrücklich benannten Referenzsystem und (3) die Wahl der Tonika. Die Messung ist damit unabhängig von jeder Theorie, und jede Abweichung ist eine Abweichung von einem genannten System (Plath, Azadeh, Jamalipoor & Bader: „Deviation from What?“). Kreisabstände in der Oktave: \(\operatorname{circ}(d)=\big((d+600)\bmod1200\big)-600\).

3.1 Oktavhistogramm der klingenden Zeit

Jede Note \(i\) mit cent-Wert \(c_i\) und Dauer \(d_i\) (in Sekunden) trägt ihre Dauer in die Klasse ihrer Tonhöhe ein:

$$h[b]=\sum_{i:\ \operatorname{round}(c_i)\bmod1200=b}d_i,\qquad b=0,\dots,1199 .$$

\(h\) ist die Verteilung der klingenden Zeit über die Tonhöhenklassen, mit 1 cent Auflösung.

3.2 Gemessene Stufen

Das Histogramm wird kreisförmig mit einer Gaußkurve (\(\sigma=15\) cent) geglättet, \(\tilde h=h\circledast\kappa_\sigma\). Stufen sind Gipfel von \(\tilde h\), die mindestens 10 % des höchsten Gipfels erreichen und mindestens 50 cent von jeder stärkeren Stufe entfernt liegen. Für jeden Gipfel \(i\) werden im Fenster \(o\in[-25,25]\) cent mit den Rohwerten \(w_o=h[i+o]\) Lage, Breite und Gewicht bestimmt:

$$\mu=\frac{\sum_oo\,w_o}{\sum_ow_o},\qquad \text{cent}=i+\mu,\qquad \text{Breite}=\sqrt{\frac{\sum_ow_o(o-\mu)^2}{\sum_ow_o}},\qquad \text{Gewicht}=\frac{\sum_ow_o}{\sum_bh[b]} .$$

Eine Stufe hat also eine genaue Lage (nicht an das cent-Raster gebunden), eine Intonationsbreite und einen Anteil an der klingenden Zeit. Die Schritte sind die Abstände der sortierten Stufen, der letzte über die Oktave zurück zur ersten; sie hängen weder vom Bezugston noch von der Tonika ab.

3.3 Referenzsysteme als Schablonen

Jedes Referenzsystem \(\mathcal S\) (Stufen in cent über seiner Tonika, einschließlich 0) wird zu einer Schablone aus Gaußkurven mit der Toleranz \(\tau_\mathcal S=15\) cent:

$$t_\mathcal S[k]=\sum_{d\in\mathcal S}\exp\!\Big(-\frac12\Big(\frac{\operatorname{circ}(k-d)}{\tau_\mathcal S}\Big)^2\Big),\qquad \hat t_\mathcal S=\frac{t_\mathcal S}{\lVert t_\mathcal S\rVert_2} .$$

3.4 Normierte Korrelation über alle Tonika-Lagen

Mit dem normierten Histogramm \(\hat h=h/\lVert h\rVert_2\) ist

$$\rho_\mathcal S[r]=\sum_{k=0}^{1199}\hat h[(k+r)\bmod1200]\;\hat t_\mathcal S[k]$$

der Kosinus des Winkels zwischen Histogramm und Schablone, wenn die Tonika des Systems auf \(r\) cent liegt (\(0\le\rho\le1\)). Ausgewertet werden alle Lagen, in denen die Tonika auf einer gemessenen Stufe liegt; Zwischenwerte werden linear interpoliert:

$$\text{score}_\mathcal S=\max_{\tau\in\{\text{gemessene Stufen}\}}\rho_\mathcal S(\tau),\qquad \tau^\ast_\mathcal S=\arg\max .$$

Weil beide Vektoren die Länge 1 haben, schwächt jede Stufe des Systems, die im Stück nicht vorkommt, die Übereinstimmung. Eine Skala mit zusätzlichen Stufen gewinnt deshalb nicht mehr automatisch. Die Tonika wird nicht vorausgesetzt, sondern mitbestimmt; als Herkunft wird angegeben, ob sie mit der stärksten Stufe oder mit der Finalis (Stufe der letzten längeren Note) zusammenfällt.

3.5 Abweichungen

Für jede Stufe \(d\) des besten Systems wird die nächste gemessene Stufe \(m_j\) gesucht, \(\delta_d=\operatorname{circ}(m_j-\tau^\ast-d)\). Liegt sie höchstens 50 cent entfernt, gilt die Stufe als getroffen, sonst als fehlend. Mit der Menge \(\mathcal D\) der getroffenen Stufen:

$$\text{RMS}=\sqrt{\frac1{|\mathcal D|}\sum_{d\in\mathcal D}\delta_d^2},\qquad \max_{d\in\mathcal D}|\delta_d|,\qquad \text{fehlend}=|\mathcal S|-|\mathcal D|,\qquad \text{zusätzlich}=\text{gemessene Stufen ohne Partner}.$$

Das Fenster „Top 10“ im Player zeigt diese Werte für die zehn Systeme mit dem höchsten score.

3.6 Das Metadatum „Nächstes Referenzsystem“

Ein Stück bekommt den Namen des besten Systems nur, wenn

$$\text{RMS}\le20\ \text{cent}\quad\text{und}\quad\text{fehlend}=0 .$$

Sonst steht „–“: Das Stück wurde ausgewertet, aber kein System passt in dieser Genauigkeit. Der Name ist damit eine Aussage über die Nähe zu einem genannten System, keine Zuschreibung des Tonsystems des Stücks.

3.7 Kulturelle Vorauswahl

Tonsysteme verschiedener Kulturen sind einander oft sehr ähnlich, sodass das nächste System aus einer ganz anderen Region stammen kann. Die kulturelle Vorauswahl schränkt deshalb auf Wunsch die Referenzsysteme ein:

Beide Ergebnisse, mit allen Systemen und mit Vorauswahl, werden gespeichert; der Schalter „Kulturelle Vorauswahl“ in der Liste wählt, welches angezeigt wird. Stücke ohne erkennbare Region behalten den Vergleich mit allen Systemen.

4. Vektoren der Tonsystem-Karten

Die drei Tonsystem-Karten bekommen je Stück einen eigenen Vektor. Grundton \(F\) ist die stärkste Tonhöhe des Stücks. Diese Vektoren werden nicht z-normiert.

4.1 a) Tonsystem cent

Alle stimmhaften Rahmen (nicht nur Noten) werden relativ zum Grundton in eine Oktave gefaltet:

$$c_j=1200\log_2(f_j/F),\qquad v[b]=\#\{j:\ \operatorname{round}(c_j)\bmod1200=b\},\qquad v[b]=0\ \text{für}\ b\le20,\ b\ge1180,\qquad \hat v=\frac{v}{\lVert v\rVert_2}.$$

Der Grundton selbst bleibt außen vor, weil er in jedem Stück am stärksten ist und alle anderen Stufen sonst flachdrücken würde.

4.2 b) Tonsystem Pitch Class

  1. Aus den Noten (gewichtet mit ihrer Dauer) werden wie in 3.2 die Stufen \(D=\{d_1,\dots,d_K\}\) in cent über dem Grundton bestimmt.
  2. Das Stück mit den meisten Stufen ist das Referenzstück; seine Stufen \(r_1,\dots,r_{K_\text{max}}\) legen die Plätze des Vektors fest.
  3. Die Stufen jedes Stücks werden den Plätzen mit der Ungarischen Methode so zugeordnet, dass der gesamte Kreisabstand minimal ist: $$\pi^\ast=\arg\min_\pi\sum_iC_{i,\pi(i)},\qquad C_{ij}=\min\big(|d_i-r_j|,\ 1200-|d_i-r_j|\big).$$ Plätze ohne Stufe bleiben leer.
  4. Jeder Platz wird als Punkt auf dem Kreis kodiert: eine Stufe bei \(a\) cent als \((\cos\theta,\sin\theta)\) mit \(\theta=2\pi a/1200\), ein leerer Platz als \((0,0)\).

Die Kreiskodierung verhindert Scheinstufen: Mittelt die Karte eine Stufe bei 1100 cent mit einem leeren Platz, ergibt sich ein kürzerer Pfeil, der weiter auf 1100 cent zeigt, und keine Stufe bei 550 cent. Die Component Planes zeigen je Neuron die Lage \(\operatorname{atan2}(s,c)\cdot600/\pi\) jeder gelernten Stufe; die Länge \(\sqrt{c^2+s^2}\) ist der Anteil der Stücke mit dieser Stufe (schwache Stufen erscheinen blass).

4.3 c) n-Gramme

Die Intervalle zwischen aufeinanderfolgenden Noten (Dauer mindestens 0,1 s) werden auf 50 cent gerundet,

$$\Delta_k=50\cdot\operatorname{round}\!\Big(\frac{1200\log_2(f_{k+1}/f_k)}{50}\Big),\qquad g_k=(\Delta_k,\dots,\Delta_{k+n-2}),$$

und ihre relative Häufigkeit \(p(g)\) gezählt (Standard \(n=3\), also Folgen von zwei Intervallen). Wie bei b) legt das Stück mit den meisten verschiedenen n-Grammen die Plätze fest; die n-Gramme der anderen Stücke werden mit der Ungarischen Methode nach euklidischem Abstand zugeordnet.

5. Rhythmus und Zeitstruktur

Die Rhythmusanalyse ist bisher Teil des comsar-Systems und noch nicht in ESRA eingebaut. Sie soll in einer späteren Version folgen.

5.1 Einsätze

Einsätze werden aus dem spektralen Fluss (1.3) mit kurzen Fenstern (\(N=1024\), Überlappung 512) gefunden. Die Erkennungsfunktion \(x_n=\max(\mathrm{SF}(n),\overline{\mathrm{SF}})\) hebt Werte unter dem Mittel an. Rahmen \(n\) ist ein Einsatz, wenn

$$x_n=\max_{|m-n|\le10}x_m,\qquad x_n\ge\bar x_{[n-10,n+10]}+0{,}1,\qquad x_n\ge g_n,\quad g_{n+1}=\max\big(x_n,\ 0{,}1\,g_n+0{,}9\,x_n\big).$$

5.2 Impulsmuster

Unterhalb des Rhythmus zerlegt das Impulsmuster die Wellenform in einen Impuls pro Periode: Die lokale Periode folgt aus der normierten Autokorrelation ab dem letzten Impuls, der nächste Impuls ist der Nulldurchgang vor dem Betragsmaximum innerhalb einer halben bis anderthalb Perioden. Je Impuls werden Zeit, Spitzenamplitude und die Korrelation der Perioden davor und danach gespeichert. Damit lassen sich Einschwingvorgänge und Unregelmäßigkeiten der Periode beschreiben.

5.3 Hidden-Markov-Modell

Zeitreihen ganzer Zahlen (etwa skalierte Merkmalsverläufe oder Ereigniszahlen) werden mit einem Poisson-Hidden-Markov-Modell beschrieben: verborgene Zustände \(S_t\in\{1,\dots,m\}\) mit Übergangsmatrix \(\Gamma=(\gamma_{ij})\) und Startverteilung \(\delta\), Beobachtungen mit

$$P(X_t=x\mid S_t=j)=p_j(x)=\frac{e^{-\lambda_j}\lambda_j^x}{x!}.$$

Vorwärts- und Rückwärtsrekursion werden im Logarithmus gerechnet (\(\operatorname{LSE}\) = log-sum-exp):

$$\log\alpha_t(j)=\operatorname{LSE}_i\big(\log\alpha_{t-1}(i)+\log\gamma_{ij}\big)+\log p_j(x_t),\qquad \log\beta_t(i)=\operatorname{LSE}_j\big(\log\gamma_{ij}+\log p_j(x_{t+1})+\log\beta_{t+1}(j)\big),$$

mit \(\log\alpha_1(j)=\log\delta_j+\log p_j(x_1)\), \(\log\beta_T=0\) und der Likelihood \(\log L=\operatorname{LSE}_j\log\alpha_T(j)\). Die Parameter werden mit dem Baum-Welch-Verfahren geschätzt: Mit \(u_t(j)=\alpha_t(j)\beta_t(j)/L\) ist

$$\lambda_j=\frac{\sum_tu_t(j)\,x_t}{\sum_tu_t(j)},\qquad \gamma_{ij}\propto\gamma_{ij}\sum_{t=1}^{T-1}\frac{\alpha_t(i)\,p_j(x_{t+1})\,\beta_{t+1}(j)}{L},\qquad \delta_j\propto u_1(j),$$

wiederholt, bis sich die Parameter um weniger als \(10^{-5}\) ändern. Die wahrscheinlichste Zustandsfolge liefert die lokale Dekodierung \(\hat s_t=\arg\max_ju_t(j)\) oder der Viterbi-Algorithmus. Die Zustände lassen sich als Spiel- oder Bewegungsarten deuten, die Übergangsmatrix als ihre zeitliche Ordnung.

6. Selbstorganisierende Karten

6.1 Vorbereitung

Für Timbre-Karten wird jedes gewählte Merkmal über die Stücke der Sammlung z-normiert,

$$z_{ij}=\frac{x_{ij}-\bar x_j}{s_j},$$

damit Merkmale mit großen Zahlenwerten (Hz) nicht über solche mit kleinen (Rauigkeit) dominieren. Die Tonsystem-Vektoren aus Abschnitt 4 sind bereits normiert und gehen unverändert ein.

6.2 Gitter und Training

Die Karte ist ein quadratisches Gitter mit

$$\text{Zeilen}=\text{Spalten}=\max\big(2,\ \operatorname{round}\sqrt{5\sqrt n}\big)$$

Neuronen je Seite, also etwa \(5\sqrt n\) Neuronen für \(n\) Stücke (10 Stücke: 4×4, 100: 7×7, 1000: 13×13). Jedes Neuron \(u\) hat eine Gitterposition \(\mathbf p_u\) und einen Gewichtsvektor \(\mathbf w_u\), anfangs gleichverteilt im Wertebereich der Daten. In jeder von \(E=200\) Epochen werden alle Stücke in zufälliger Reihenfolge gezeigt:

$$c=\arg\min_u\lVert\mathbf x-\mathbf w_u\rVert_2,\qquad h_u=\exp\!\Big(-\frac{\lVert\mathbf p_u-\mathbf p_c\rVert_2^2}{2r_e^2}\Big),\qquad \mathbf w_u\leftarrow\mathbf w_u+\eta_e\,h_u\,(\mathbf x-\mathbf w_u).$$

Die Lernrate fällt linear von 0,1 auf 0, der Nachbarschaftsradius exponentiell von der halben Kartenbreite auf 1:

$$\eta_e=0{,}1\Big(1-\frac{e}{E-1}\Big),\qquad r_e=r_0^{\,1-e/(E-1)} .$$

Jedes Stück liegt danach auf seinem Best Matching Unit \(c\).

6.3 U-Matrix, Component Planes, Dichte

Die U-Matrix ist der mittlere Abstand jedes Neurons zu seinen Nachbarn (3×3-Umgebung), normiert auf das Maximum:

$$U_u=\frac1{|\mathcal N(u)|}\sum_{v\in\mathcal N(u)}\lVert\mathbf w_u-\mathbf w_v\rVert_2 .$$

Dunkle Felder sind Grenzen zwischen Gruppen. Die Component Plane eines Merkmals \(j\) zeigt \(w_{u,j}\) auf dem Gitter. Die Dichte zählt die Stücke je Neuron, wahlweise nur die mit einem bestimmten Metadatenwert, geglättet über die acht Nachbarn (Gewicht 0,35).

6.4 Güte

Die Güte prüft, ob die Karte ein Metadatum (etwa Land oder Ethnie) aus dem Klang erschließen kann. In einer geschichteten Kreuzvalidierung mit bis zu fünf Teilen wird je Teil eine neue Karte (120 Epochen) auf den übrigen Stücken trainiert. Jedes Neuron bekommt den häufigsten Wert seiner Trainingsstücke; ein Teststück bekommt den Wert seines Best Matching Unit. Die Güte ist der Anteil richtiger Zuordnungen, gemittelt über die Teile, verglichen mit bloßem Raten \(1/K\) bei \(K\) Werten.

6.5 Merkmalssuche

Clusterqualität \(C\) (Voreinstellung). Mit euklidischen Abständen \(D_{ij}\) und den Gruppen \(p\) des gewählten Metadatums (\(n_p\) Stücke):

$$S_p=\frac1{n_p(n_p-1)}\sum_{i,j\in p}D_{ij},\qquad O_p=\frac1{n_p(n-n_p)}\sum_{i\in p}\sum_{j\notin p}D_{ij},\qquad C=\frac1{|P|}\sum_p\frac{S_p}{O_p} .$$

\(C<1\) heißt, die Stücke einer Gruppe liegen näher beieinander als an den übrigen; kleiner ist besser. Zuerst wird jedes Merkmal einzeln bewertet. Ab dem besten wird in jedem Schritt das Merkmal hinzugenommen, das \(C\) am stärksten senkt, wobei \(C\) auf den Positionen einer jeweils neu trainierten Karte gemessen wird (Abstand der Best Matching Units). Die Suche endet, wenn kein Merkmal mehr verbessert, spätestens bei acht Merkmalen.

Weitere Verfahren. Vorwärtsauswahl nach der kreuzvalidierten Trefferquote der Karte (wie 6.4, drei Teile); Vorwärtsauswahl nach dem Silhouettenkoeffizienten \(s(i)=\frac{b(i)-a(i)}{\max(a(i),b(i))}\) (\(a\): mittlerer Abstand zur eigenen Gruppe, \(b\): zur nächsten fremden Gruppe); Varianzanalyse je Merkmal,

$$F=\frac{\sum_kn_k(\bar z_k-\bar z)^2/(K-1)}{\sum_k\sum_{i\in k}(z_i-\bar z_k)^2/(n-K)},$$

mit Auswahl aller Merkmale mit \(p<0{,}001\) (höchstens acht).

7. Standardwerte auf einen Blick

BereichParameterWert
TimbreFenster, Überlappung, Fensterfunktion743 ms, 0,5, Hamming
TimbreRauigkeit: Maximum, Grenzen33 Hz; 200 Hz (Bader/Helmholtz), 1000 Hz (Sethares)
TimbreWavelet: Bereich, Schwelle, Raster50–5000 Hz, 0,05, 2 Hz
TimbreKorrelationsdimension: Verzögerung, Dimension14, 80
PitchRahmen, Überlappung, Raster50 ms, 0,8, 10 ms
PitchVerfahren, FrequenzbereichYIN, 60–1200 Hz
PitchNoten: Mindestlänge, max. Abweichung15 Rahmen (150 ms), 60 cent
TonsystemGlättung, Mindestanteil, Mindestabstand15 cent, 10 %, 50 cent
TonsystemSchablonentoleranz, Fehlgrenze15 cent, 50 cent
TonsystemBeschriftungRMS ≤ 20 cent, keine fehlende Stufe
Tonsystem-KartenRandbeschnitt a), Intervallraster c), n±20 cent, 50 cent, 3
SOMGitter, Epochen, Lernrate, Radius\(\operatorname{round}\sqrt{5\sqrt n}\), 200, 0,1 → 0, halbe Breite → 1
GüteTeile, Epochen≤ 5, 120
MerkmalssucheEpochen, max. Merkmale, ANOVA-Schwelle60, 8, \(p<0{,}001\)

Stand: 2026-10-16