Web Audio API -Äänigeneraattori
Leinonen, Markku (2015)
Leinonen, Markku
Oulun ammattikorkeakoulu
2015
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2015120218836
https://urn.fi/URN:NBN:fi:amk-2015120218836
Tiivistelmä
TIIVISTELMÄ
Oulun ammattikorkeakoulu
Tietotekniikan koulutusohjelma, ohjelmistokehitys
Tekijä(t): Markku Leinonen
Opinnäytetyön nimi: Web Audio API -Äänigeneraattori
Työn ohjaaja(t): Terhi Holappa
Työn valmistumislukukausi ja -vuosi: Syksy 2015 Sivumäärä: 32 + 3 liitettä
Tämän työn aiheena oli W3C-yhteisön tarjoama Web Audio API ja sen tarjoamat äänenmuokkausmenetelmät. Tarkoituksena oli kehittää äänigeneraattorisovellus, jossa olisi yksi tai useampi äänilähde (oscillator ja noise). Oskillaattoreiden tuottamaa ääntä tulisi olla mahdollista muokata erilaisin audio- ja elektroniikka-alan äänenmuokkausperiaattein. Näitä periaatteita ovat mm. volume, frequency, VCO, VCA, LPF, LFO, delay ja feedback. Idea aiheeseen saatiin elektronisen musiikin harrastajilta.
Tarkoituksena oli toteuttaa laitteistoriippumaton Google Chrome -verkkoselainpohjainen äänigeneraattorisovellus, käyttäen HTML5-, CSS3- ja JavaScript-ohjelmointikieliä ja Web Audio-ohjelmointirajapintaa. Tarkoituksena oli myös toteuttaa sovellus, joka ei tarvitsisi toimiakseen mitään riippuvuuksia eikä internet-yhteyttä, vaan sovelluksen tulisi toimia paikallisesti esimerkiksi PC:lla tai tablettitietokoneella. Tässä onnistuttiin varsin hyvin.
Projekti aloitettiin tutustumalla mahdollisiin olemassa oleviin Web Audio API -äänenmuokkaussovelluksiin. Tarjolla olevissa sovelluksissa huomattiin mm. Noise-ominaisuuden monipuolisen muokkauksen puute. Tässä projektissa kehitetty ja toteutettu äänigeneraattorisovellus toimii ilman kolmansien osapuolien tai muiden ohjelmoijien tekemiä apusovelluksia. Sovellus toimii Chrome-verkkoselaimessa täysin JavaScript- ja Web Audio API-pohjaisesti. Sovelluksen ulkoasu on toteutettu HTML5- ja CSS3-periaatteita käyttäen. Sovellus toimii sille määritellyssä tarkoituksessaan eli äänen tuottamisessa ja muokkaamisessa varsin hyvin. Sovellukseen jäi kehitettävää tallennusominaisuuden osalta.
Asiasanat: Web Audio API, HTML5, CSS3, JavaScript, Äänigeneraattori.
Oulun ammattikorkeakoulu
Tietotekniikan koulutusohjelma, ohjelmistokehitys
Tekijä(t): Markku Leinonen
Opinnäytetyön nimi: Web Audio API -Äänigeneraattori
Työn ohjaaja(t): Terhi Holappa
Työn valmistumislukukausi ja -vuosi: Syksy 2015 Sivumäärä: 32 + 3 liitettä
Tämän työn aiheena oli W3C-yhteisön tarjoama Web Audio API ja sen tarjoamat äänenmuokkausmenetelmät. Tarkoituksena oli kehittää äänigeneraattorisovellus, jossa olisi yksi tai useampi äänilähde (oscillator ja noise). Oskillaattoreiden tuottamaa ääntä tulisi olla mahdollista muokata erilaisin audio- ja elektroniikka-alan äänenmuokkausperiaattein. Näitä periaatteita ovat mm. volume, frequency, VCO, VCA, LPF, LFO, delay ja feedback. Idea aiheeseen saatiin elektronisen musiikin harrastajilta.
Tarkoituksena oli toteuttaa laitteistoriippumaton Google Chrome -verkkoselainpohjainen äänigeneraattorisovellus, käyttäen HTML5-, CSS3- ja JavaScript-ohjelmointikieliä ja Web Audio-ohjelmointirajapintaa. Tarkoituksena oli myös toteuttaa sovellus, joka ei tarvitsisi toimiakseen mitään riippuvuuksia eikä internet-yhteyttä, vaan sovelluksen tulisi toimia paikallisesti esimerkiksi PC:lla tai tablettitietokoneella. Tässä onnistuttiin varsin hyvin.
Projekti aloitettiin tutustumalla mahdollisiin olemassa oleviin Web Audio API -äänenmuokkaussovelluksiin. Tarjolla olevissa sovelluksissa huomattiin mm. Noise-ominaisuuden monipuolisen muokkauksen puute. Tässä projektissa kehitetty ja toteutettu äänigeneraattorisovellus toimii ilman kolmansien osapuolien tai muiden ohjelmoijien tekemiä apusovelluksia. Sovellus toimii Chrome-verkkoselaimessa täysin JavaScript- ja Web Audio API-pohjaisesti. Sovelluksen ulkoasu on toteutettu HTML5- ja CSS3-periaatteita käyttäen. Sovellus toimii sille määritellyssä tarkoituksessaan eli äänen tuottamisessa ja muokkaamisessa varsin hyvin. Sovellukseen jäi kehitettävää tallennusominaisuuden osalta.
Asiasanat: Web Audio API, HTML5, CSS3, JavaScript, Äänigeneraattori.