Abstract. In dit artikel
wordt een modellen vooorgesteld voor het opstellen van een zogenoemde
‘Emotional Sound Space’ aan de hand van een geluidssignaal. Deze ‘Emotional
Sound Space’ is een twee- of driedimensionele sound space die de subjectieve
eigenschappen van een geluidsfragment weergeeft. Toepassingen kunnen gevonden
worden in het automatisch classificeren van
geluidsfragmenten in een database of voor de herkenning van instrumenten aan de
hand van een geluidsfragment. Omgekeerd kan er ook gedacht worden het genereren
van geluid vertrekkend van een menselijke beschrijving van het gewenste
resultaat.
Eerst wordt beschreven hoe
het analoge geluidssignaal dient omgezet te worden om de nodige data te leveren
voor de input in het neurale netwerk. Vervolgens wordt het model aan de hand
van neurale netwerken uitgewerkt. Deze uitwerking is voor een gedeelte
gebaseerd op het werk van Kenji Suzuki en zijn experimentele bevindingen. Tot slot wordt het neurale netwerk model
vergeleken met andere modellen en worden nog enkele bedenkingen gemaakt en
worden de besluiten geformuleerd.
Het
online raadplegen van multimediadocumenten wint steeds meer en meer aan belang.
Dit kan gebeuren door te navigeren door een database of langs links op het
internet. Echte zoekalgoritmes voor multimediabestanden zoals die bestaan voor
html-documenten, en recentelijk door de zoekrobot Google ook voor
pdf-documenten, komen nog maar zelden voor. Indien deze diensten toch worden
aangeboden gaat het meestal om zoekacties op bestandsnaam. Iemand die
bijvoorbeeld een foto van een huis zoekt of een filmpje over honden kan soms
heel lang bezig zijn. De reden hiervoor is dat de technologie om metagegevens
af te leiden uit een multimediabestand nog vrij nieuw is en dus praktisch nog
niet toepasbaar is of tenminste nog niet ingeburgerd is.
Een
ander voorbeeld van multimediabestanden zijn geluidsbestanden. Hoewel de nood
aan metagegevens over geluidsbestanden niet altijd onmiddelijk zichtbaar is,
kan men zich op muziekaal-educatief niveau bijvoorbeeld toch heel wat
interessante toepassingen indenken. Zo kunnen neurale netwerken bijvoorbeeld hun
nut bewijzen om muziek beter te begrijpen. Ook het opzoeken van een stuk muziek
zonder dat men de tittel kent is momenteel een onmogelijke taak die
waarschijnlijk ooit zal uitgevoerd worden door neurale netwerken.
Anderzijds
kan er bij het produceren van nieuwe muziek een omgekeerde weg gevolgd worden.
In plaats van geconfronteerd te zijn met letterlijk honderden knopjes, die elk
een bepaalde functie hebben en zelden snel een gewenst resultaat geven, zou een
muzikant veel beter gediend zijn indien zijn muziek aangepast of opgewekt kon
worden aan de hand van een beschrijving. Zelfs ervaren synthesizer-muzikanten
zijn meestal nog uren bezig om één bepaalde klank te vinden die ze echter wel
zeer nauwkeurig kunnen omschrijven. Het probleem situeert zich in dit geval
duidelijk op de mens-machine interface.
Geluid
bestaat voornamelijk uit drie factoren : een toonhoogte, een dynamisch vermogen
en een timbre. De twee eerste factoren zijn gemakkelijk te herleiden tot
fysische eigenschappen zoals de amplitude en de frequentie van het
geluidssignaal. De relatie tussen het timbre, of dus de klankkleur, en de
fysische eigenschappen is heel wat moeilijker te modelleren omwille van het
subjectieve karakter van een timbre.
Het
opstellen van impression space kan een oplossing bieden voor dit probleem. Deze
impression space wordt opgesteld aan de hand van de subjectieve verschillen
tussen 2 geluidsfragmenten die een luisteraar waarneemt en vervolgens
kwantificeert. Eens het inputsignaal juist verwerkt is, blijkt het opstellen
van deze impression space vrij eenvoudig te kunnen gebeuren door middel van een
neuraal netwerk. Het bewerken van de input komt aan bod in de volgende
paragraaf. Paragraaf 3 zal uitgebreid ingaan op de Neurale Netwerk methode
om een impression space, en van daar uit een Emotional Sound Space op te stellen.
In paragraaf 4 wordt dieper ingegaan op het type netwerk dat gebruikt wordt.
Tot slot wordt het model vergeleken met andere bestaande modellen voor het classificeren
van geluidsbestanden.
Het digitaliseren en quantiseren van de
geluidsfragmenten gebeurt in verschillende stappen. In een eerste fase dient
het analoge geluid gedigitaliseerd te worden. Dit gebeurt best aan minstens
44.1 kHz en in 16 bit waardes om een optimale kwaliteit te garanderen.
Vervolgens worden de geluidsfragmenten opgebroken in frames van 46 ms met een
overlap van 11.5 ms. Door dan een Fast Fourier Analyse toe te passen bekomt men
per frame een spectogram.
Dit spectogram wordt daarna opgedeeld in 8
stukjes langs de tijdsas en in 16 stukjes langs de frequentieas. Op die manier
bekomt men per frame 128 waarden voor de verschillende energiewaardes in het
frequentie-tijdsdomein. Figuur 1 en figuur 2 geven een voorbeeld van een viool vóór
(figuur 1) en na (figuur 2) het quantiseren van een geluidsframe.
Figuur 1 Figuur 2
Tenslotte wordt deze vector nog kleiner
gemaakt door Principale Componenten Analyse. De dimensie van de principale
componenten dient zo gekozen dat de verdelingsgraad groter dan 95% is.
Om
een goede maatstaf voor het classificeren
van geluid te hebben, wordt aan de gebruiker gevraagd
om de verschillende geluidsfragmenten paarsgewijs een score te geven voor hun
assimilariteit. Dit kan bijvoorbeeld gebeuren op een schaal van 1 tot 7.
Geluidsfragmenten die sterk verschillen zullen dus een hogere waarde krijgen
dan gelijkaardige geluidsfragmenten. Op die manier bekomt men dan een matrix met de verschillende waarden voor de
gelijkenissen tussen de vele geluidsfragmenten. Deze matrix kan vervolgens
gebruikt worden om een neuraal netwerk te trainen.
In
‘Modeling of Emotional Sound Space Using Neural Networks’[1] wordt een structuur
van een network voorgesteld dat gebruik maakt van 2 three-layered perceptrons
en een Distance Unit. Het voorgestelde netwerk is een vrij eenvoudig supervised
learning model. Op de specifieke karakteristieken van het model wordt later
dieper ingegaan.
Eenmaal
het model getraind is, kan het netwerk nieuwe data automatisch classificeren in
de output space. Dit kan eventueel op een continue manier gebeuren. Figuur 3 illustreert de netwerkstructuur die voorgesteld
wordt.
Figuur 3
Part
A en Part B zijn twee identieke three-layered perceptrons. Als input dienen de
fysieke geluidsparameters zoals die onder paragraaf 2 berekend werden. De
dimensie van die parameters is P. De output van Part A en Part B zijn de zogenaamde
‘Emotional Sound Space’ parameters en de dimensie van die parameters kan
arbitrair gekozen worden.
Het derde deel, Part C, wordt de ‘Distance Unit’
genoemd en deze unit berekent de afstand in de emotional sound space tussen de
output van Part A en de output van Part B. Om die afstand te kunnen berekenen
is het dus wel degelijk belangrijk dat Part A en Part B identiek zijn zodat ze
de zelfde output-dimensie hebben.
Part A en Part B worden respectievelijk met de
inputparameters van twee verschillende geluidsfragmenten gevoed. Het trainen
van het netwerk gebeurt nu door in Part C de afstand d(A,B) te bereken tussen de output van Part A en de output van Part
B en deze afstand te vergelijken met de assimilariteit t(A,B) tussen de twee geluidsfragmenten zoals die subjectief door
een persoon werd ingegeven. De connection weights in de netwerken A en B worden
dan zodanig aangepast dat het verschil tussen t(A,B) en d(A,B) minimaal
wordt.
De afstand d(A,B) kan eenvoudigweg met de
Euclidische afstand berekend worden :
Unit i in de inputlayer van het neurale netwerk is verbonden met de
hidden layer j en krijgt een gewicht wij mee. Zoals eerder beschreven bestaat de
doelfunctie uit het minimaliseren van de afstand tussen t(A,B) en d(A,B)
:
n is hier aantal geluidsfragmenten dat gebruikt
wordt om het netwerk te trainen.
Om deze functie te minimaliseren moeten de partiële afgeleiden van Ep naar de verschillende wij genomen worden. Dit geeft dan de relatie tussen Ep en wij :
Aan de hand van deze vergelijking kan een
hernieuwingsfunctie worden opgesteld :
Hierin dienen nog correcte waarden voor α en
η gekozen te worden. Ze kunnen arbitrair gekozen worden en zorgen er voor
dat de invloed van de tijd t, kleiner wordt naar gelang er langer getraind
wordt. Daarom moeten α en η uiteraard wel kleiner dan 1 zijn.
Het leerproces tussen de hidden layer en de output
layer kan op dezelfde manier gebeuren als tussen de input layer en de hidden
layer. Aangezien het netwerk enkel de Euclidische aftstand tussen de output van
Part A en die van Part B nodig heeft, kan het aantal output layers vrij gekozen
worden, zolang ze beide delen maar een zelfde dimensie hebben. Het is dus
belangrijk, zoals eerder opgemerkt, dat Part A en Part B exact dezelfde
structuur hebben en ook op dezelfde manier getraind worden.
De
in de vorige paragraaf voorgestelde methode laat heel wat keuzes in verband met
het netwerk open. De waarden voor de eerder aangehaalde α en η
bijvoorbeeld zullen sterk afhangen van het aantal trainingsgegevens dat
beschikbaar is. Ook het feit of er na de training van de gegevens door de
gebruiker van het systeem nog correcties kunnen uitgevoerd worden zal bepalend
zijn voor de keuze van α en η.
Het
trainingsalgoritme voor de perceptrons zal meestal een back-propagation
algoritme zijn[2]. Een
verklaring hiervoor vindt men vooral in het sequentiële karakter van de input
en dus de mogelijkheid om een zelfde fragment meerdere malen aan het neurale
netwerk aan te bieden. Dit laat ons toe om het netwerk met relatief weinig
gegevens te trainen.
Op
het niveau van de perceptrons werd reeds een multi-layer netwerk verondersteld
gezien de vereiste niet-lineairiteit van het netwerk en de vrij complexe
mapping tussen input en output. Als transfertfunctie wordt gebruik gemaakt van
een Sigmoid transfertfunctie.
Sigmoid
functies hebben enkele voordelen. Ten eerste bieden ze voordelen voor het
bereken van de eerste orde afgeleides zoals die in de vergelijkingen in
paragraaf 3 dienden berekend te worden. Een ander voordeel van de
Sigmoidfunctie is het feit dat ze een oneindig aantal waarden kan aannemen
zonder dat er grote schommelingen optreden in de output. Dit laat toe het
netwerk steeds te verfijnen door tijdens het gebruik, grove fouten van het
netwerk aan te geven en dan deze fout geïnterpreteerde gegevens juist te
trainen. Anderzijds heeft een uitzonderlijke input niet al te veel invloed op het
netwerk.
Fujinaga[3]
bespreekt verschillende andere manieren om timbres te herkennen in muziek. De
methodes zullen hier kort worden toegelicht. In de volgende paragraaf komen de
resultaten van de neurale netwerken aan bod.
·
Exemplar
based model : zonder dat er abstractie gemaakt wordt van bepaalde concepten
worden de objecten geclassificeerd op basis van hun similariteit met een vooraf
ingegegeven object.
·
K-nearest-neighbor
classifier : hier wordt gebruik gemaakt van een feature vector om de k-nearest
objecten aan een nieuw object toe te wijzen.
·
Feature
selection : deze methode bestaat erin te beslissen welke features best gebruikt
kunnen worden om de verschillende objecten te onderscheiden.
·
Genetische
algoritmes : elke feature wordt hier voorgesteld door één bit. Elk zo bekomen
geen heeft dan een andere volgorde van bits, die de verschillende features
beschrijven.
De
resultaten waren het meest overtuigend voor het exemplar based model. Dit model
haalde herkenningen die zeker kunnen concurreren met de menselijke herkenning
van instrumenten. Het voordeel van dit model is verder dat het, in vergelijking
met de andere modellen, zeer weinig features nodig heeft. Een nadeel is echter
dat deze modellen tijdens de training expliciet verschillende toonhoogtes nodig
hebben en dus van relatief veel trainingsgegevens afhankelijk zijn.
In
een experiment van Suzuki werden 10 geluidsfragmenten gebruikt om een neuraal
netwerk te trainen. Over de verschillen in toonhoogtes die mogelijk zijn binnen
een zelfde timbre, wordt in de paper niets vermeld. Dit is een toch niet te
onderschatten invloed. Het is algemeen bekend dat sommige timbres heel anders
kunnen klinken, louter en alleen afhankelijk van de toonhoogte waarin ze
gespeeld worden.
Tabel 1 geeft een overzicht van de gebruikte instrumenten.
Instrumenten aangeduid met een sterretje werden gebruikt voor de training.
Fluit * |
Klarinet |
Fagot |
Tenor Saxofoon |
Harmonica* |
Hobo* |
Euphonium |
Trompet* |
Tuba |
Trombone* |
Hoorn |
Electrische
Gitaar |
Klassieke
Gitaar* |
Harp |
Contrabass |
Altviool* |
Viool |
Cello* |
Piano* |
Cembalo* |
Orgel |
Accordeon |
Tabel 1
De
eerste stap is het opstellen van de feature parameters van de
geluidsfragmenten. Vervolgens dienen subjectieve gegevens verzameld te worden
over de vergelijking tussen de geluidsfragmenten onderling. Hierbij kan
opgemerkt worden dat er voor het herkennen van emoties net als bij
spraakherkenning een gebruikersafhankelijk profiel kan opgemaakt worden.
Sommige klanken of instrumenten klinken voor de ene persoon opgewekt en open
terwijl ze voor iemand anders juist treurig en gesloten kunnen klinken. Op die
manier kan men een netwerk dan later per gebruiker gaan trainen. In het
experiment hadden de gebruikers geen specifieke muzikale achtergrond.
Het
trainen van het netwerk duurde ongeveer 30 tot 60 seconden op een SUN PARK Station
20. Na de training werd het systeem getest door het netwerk de 12 resterende
instrumenten in de ‘Emotional Sound Space’ te laten plaatsen. De resultaten
waren gelijkaardig aan de resultaten bekomen in het Exemplar based modelen dus
vrij goed. Firguur 3 en 4 geven de resultaten weer.
Figuur 4 Figuur 5
In
Figuur 4 wordt de lineaire transformatie van de 10 trainingsgegevens
weergegeven. Hier is voor de eenvoud een 2 dimensionele ruimte gebruik. Deze
twee dimensionele weergave is de voorstelling van de geluidfragmenten na de
Principale Componenten Analyse, maar voor ze in het neurale netwerk werden
gestoken. De verdeling van de principale componenten was zo dat de eerste as
reeds 61.5 % verklaarde en de twee 25.9. Er waren uiteindelijk 4 principale
componenten nodig om de vereiste 95 % te berieken.
Figuur
5 is de ‘Emotional Sound Space’ van de geluidsfragmenten zoals die door een
persoon geëvalueerd werden. Dit is dus de output van het neurale netwerk Part
B. De lijnen in die figuur komen overeen met de lijnen in figuur 4. Deze
figuren geven dus voor een twee dimensionele ruimte weer welke mapping het
neurale netwerk uitvoert.
In
de geraadpleegde papers was er wel af en toe sprake van ‘emoties’ in muziek
herkennen, maar dit kwam meestal neer op het herkennen van instrumenten uit een
eindige set van. Ondanks het feit dat deze herkenning de menselijk herkenning
zeker benadert, is er volgens mij nog een groot onderscheid tussen het herkennen
van een instrument en emoties uit muziek halen. De snelheid en de relatieve
eenvoud van de neurale netwerkenmethode zijn zeker een argument voor het
opstellen van gebruikersafhankelijke profielen, om zo duidelijk een onderscheid
te kunnen maken tussen objectieve classificatie van instrumenten en het
subjectief toewijzen van gevoelens aan bepaalde klanken.
Het
principe van het paarsgewijs vergelijken van geluiden in plaats van ze één per
één onmiddelijk toe te wijzen verdient ook aanbeveling. Het is duidelijk dat
het gemakkelijker is om twee klanken een maat voor hun similariteit te geven
dan een klank appart te evalueren op zijn maat van opgewektheid.
Een
nadeel van het neurale netwerken experiment is dat er helemaal geen sprake is
de toonhoogtes van de verschillende instrumenten. Ook het mappen van de fysieke
sound space naar de ‘Emotional Sound Space’ kan qua interpretatie te wensen
over laten. Bij de neurale netwerken werd er eigenlijk enkel een
spectraalvoorstelling van de geluidsfragmenten opgesteld. Dit in tegenstelling
tot bijvoorbeeld het Exemplar-based model, waar er uit de geluidsfragmenten
veel meer interpreteerbare features worden afgeleid zoals de verschillende
momenten van het signaal (bijv. Centroid) , kurtosis, de standaard afwijking, de
harmoischen van het signaal,... Uit de experimenten bleek echter dat vooral de
centroid van een signaal bepalend was voor het timbre.
De
snel uitbreidende wetenschap van de neurale netwerken biedt een nieuwe kijk op
multimedia computertoepassingen. Momenteel moeten praktische resultaten van
zulke multimediatoepassingen van neurale netwerken nog in de experimentele fase
gezocht worden. Vooral aan de input zijde (het interpreteren van bestaande
muziek) is er nog veel werk te doen. Het feit dat er aan de output zijde (het
generen van nieuwe muziek door middel van een neuraal netwerk) stilaan
bruikbare toepassingen verschijnen is hoop gevend en impliceert volgens dat
bruikbare toepassingen aan de input zijde slechts een kwestie van enkele jaren
is.
Referenties
1. ‘Modeling of Emotional Sound
Space Using Neural Networks’, Kenji Suzuki & Shuji
Hashimoto,
2. ‘A neural net model for pitch
perception’, Sano H. and B.K. Jenkins
3.
‘Machine recognition of timbre
using steady-state tone of acoustic musical instruments’, Ichiro Fujinaga
Papers
1.
‘Neural network music composition by prediction: Exploring the benefits
of psychoacoustic constraints and multiscale
processing’, Michael C. Mozer
2.
‘Adaptive Classification of Environmental Sounds’, Nitin
Sawhney
3.
‘Neural Networks for Applications in the Arts’, Peter M Todd
Geraadpleegde Websites
1. Incremental multidimensional
scaling method for database visualization http://www.cl.cam.ac.uk/~wb204/SPIE3643-18/3643-18.html
2. Instituut voor
Psychoacustica en Elektronische Muziek http://www.ipem.rug.ac.be/
3. Kenji Suzuki Homepage http://www.phys.waseda.ac.jp/shalab/~kenji/
4. Modified
Back-Propagation http://www.miat.ee.isu.edu.tw/89-2/neural/ch5/
5. Music Cognition at the
6. Neural
Networks http://hugsvr.kaist.ac.kr/~kywch0/Storage/aim/neural/neural4.htm
7. Sumeet's Neural Network Page
http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html
[1] ‘Modeling of Emotional Sound
Space Using Neural Networks’, Kenji Suzuki & Shuji
Hashimoto, http://www.phys.waseda.ac.jp/shalab/~kenji/pdf/AIMI.pdf
[2] ‘A neural net model for pitch perception’,
Sano H. and B.K. Jenkins
[3] ‘Machine recognition of timbre
using steady-state tone of acoustic musical instruments’, Ichiro Fujinaga
http://gigue.peabody.jhu.edu/~ich/research/icmc98/icmc98.timbre.pdf