haku: @instructor Pihlajamäki, Tapani / yhteensä: 4
viite: 2 / 4
Tekijä:Pero, Jaakko
Työn nimi:Audio Programming Interfaces in Real-time Context
Reaaliaikaisten audio-ohjelmointirajapintojen vertailu
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2014
Sivut:x + 73      Kieli:   eng
Koulu/Laitos/Osasto:Signaalinkäsittelyn ja akustiikan laitos
Oppiaine:Akustiikka ja äänenkäsittely   (S3004)
Valvoja:Välimäki, Vesa
Ohjaaja:Pihlajamäki, Tapani
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201409012571
OEVS:
Digitoitu arkistokappale luettavissa Harald Herlin -oppimiskeskuksen asiakaskoneilla | ohje

Digitaalisten opinnäytteiden lukeminen Aalto-yliopiston Harald Herlin -oppimiskeskuksen suljetussa verkossa

Oppimiskeskuksen suljetussa verkossa voi lukea sellaisia digitaalisia ja digitoituja opinnäytteitä, joille ei ole saatu julkaisulupaa avoimessa verkossa.

Oppimiskeskuksen yhteystiedot ja aukioloajat: https://learningcentre.aalto.fi/fi/harald-herlin-oppimiskeskus/

Opinnäytteitä voi lukea Oppimiskeskuksen asiakaskoneilla, joita löytyy kaikista kerroksista.

Kirjautuminen asiakaskoneille

  • Aalto-yliopistolaiset kirjautuvat asiakaskoneille Aalto-tunnuksella ja salasanalla.
  • Muut asiakkaat kirjautuvat asiakaskoneille yhteistunnuksilla.

Opinnäytteen avaaminen

  • Asiakaskoneiden työpöydältä löytyy kuvake:

    Aalto Thesis Database

  • Kuvaketta klikkaamalla pääset hakemaan ja avaamaan etsimäsi opinnäytteen Aaltodoc-tietokannasta. Opinnäytetiedosto löytyy klikkaamalla viitetietojen OEV- tai OEVS-kentän linkkiä.

Opinnäytteen lukeminen

  • Opinnäytettä voi lukea asiakaskoneen ruudulta tai sen voi tulostaa paperille.
  • Opinnäytetiedostoa ei voi tallentaa muistitikulle tai lähettää sähköpostilla.
  • Opinnäytetiedoston sisältöä ei voi kopioida.
  • Opinnäytetiedostoa ei voi muokata.

Opinnäytteen tulostus

  • Opinnäytteen voi tulostaa itselleen henkilökohtaiseen opiskelu- ja tutkimuskäyttöön.
  • Aalto-yliopiston opiskelijat ja henkilökunta voivat tulostaa mustavalkotulosteita Oppimiskeskuksen SecurePrint-laitteille, kun tietokoneelle kirjaudutaan omilla Aalto-tunnuksilla. Väritulostus on mahdollista asiakaspalvelupisteen tulostimelle u90203-psc3. Väritulostaminen on maksullista Aalto-yliopiston opiskelijoille ja henkilökunnalle.
  • Ulkopuoliset asiakkaat voivat tulostaa mustavalko- ja väritulosteita Oppimiskeskuksen asiakaspalvelupisteen tulostimelle u90203-psc3. Tulostaminen on maksullista.
Sijainti:P1 Ark Aalto  1700   | Arkisto
Avainsanat:audio processing
digital signal processing
latency
digitaalinen signaalinkäsittely
latenssi
äänenkäsittely
Tiivistelmä (fin):Tässä työssä vertailtiin kolmea yleisesti saatavilla olevaa audioohjelmointirajapintaa, ALSAa, Core Audiota ja WASAPIa.
Suorituskyvyn vertailemiseksi toteutettiin Karplus-Strong-kielimalliin perustuva reaaliaikainen testiohjelma kaikilla kolmella eri ohjelmointirajapinnalla.
Mallin aaltotaulukko korvattiin järjestelmän tuntemattomalla viiveellä.

Testeissä lyhyt valkoisen kohinan purske lähetettiin äänikortin ulostuloon, joka oli kytketty saman laitteen sisäänmenoon lyhyellä kaapelilla.
Testiohjelma luki signaalia laitteen sisäänmenosta, tallensi sen analyysiä varten, mutta lisäksi lähetti sen alipäästösuodattimen läpi takaisin ulostuloon, muodostaen silmukan.
Kohinapurske käyttäytyy tällaisessa silmukassa kuin kielisoittimen kieli, kun se on ensin alkutilastaan poikkeutettu.
Kun testiohjelmaa suoritettiin reaaliaikaisesti, järjestelmän viiveet eli latenssit näkyivät kielimallissa aaltotaulukon pituuksina, joita vertailtiin.

Testiohjelmia ajettiin samalla Apple-laitteistolla, ajot tallennettiin ja latenssit määritettiin tallenteista.
Virtualisointiohjelmia ei käytetty, vaan käyttöjärjestelmiä ohjelmistoineen ajettiin laitteessa sellaisenaan.
Mittauspisteet valittiin siten, että samoja voitiin käyttää kaikkien toteutusten mittauksissa.
Toteutusten keskinäistä vertailua varten puskurikoon ja näytteenottotaajuuden vaikutukset vähennettiin tuloksista, jolloin jäljelle jääneiden latenssien havaittiin olevan muutaman millisekunnin sisällä toisistaan.

Pienimmät latenssit mitattiin ALSAa käyttäneellä toteutuksella 96 kHz:n näytteenottotaajuudella.
ALSAlla saavutettiin yleisesti paras suorituskyky, ja WASAPIllakin lähes yhtä hyvä.
Suurimmat latenssiarvot mitattiin Core Audio -rajapintaa käyttäneellä toteutuksella.
Lisäksi rajapintoja vertailtiin suhteessa yleisiin suunnitteluperiaatteisiin.

Vertailussa huomioitiin metodien määrä ja arvioitiin käyttöönoton helppoutta ja dokumentaation saatavuutta.
Suuri opeteltavien metodien määrä hidastaa rajapinnan käyttöönottoa.
Rajapintojen metodit laskettiin, jolloin ALSAssa havaittiin olevan muihin rajapintoihin verrattuna huomattavasti suurempi määrä ohjelmoijalle näkyviä metodeja.
Tiivistelmä (eng):In this thesis, three popular, generally available audio programming interfaces, ALSA, Core Audio, and WASAPI, were compared.
A modified real-time Karplus-Strong plucked-string model application was implemented using all three APIs.
In order to compare the performances, the wavetable of the plucked-string model was effectively replaced by the unknown delay of the system.
In the tests, a short burst of white noise was written to the physical audio output device of the sound card, which was hardwired with a short cable to the input port of the same device.
The input stream was then acquired by the application, stored on an additional buffer for further analysis, but also sent back to the output device, in order to create a loop.
The noise burst in the loop acts similarly to a string instrument after its initial excitation.
As the model is run in real-time, the latency of the whole system appears as the length of the wavetable.
These latencies were compared.

In order to guarantee a fair comparison, the applications and corresponding operating systems were installed and run natively on the same Apple hardware, without additional virtualization layers.
The runs were recorded and latencies were determined by analyzing the recordings.
By compensating the known effect of buffer size and sample rate, the overhead latency characteristic of each implementation was extracted from the results.
Overhead latencies were found to be within a few milliseconds.
The smallest overhead latencies were measured from the ALSA implementation at 96 kHz.
Overall, ALSA gave the best performance, and WASAPI was nearly as good.
The largest overhead latencies were measured from the Core Audio implementation both at 44.1 kHz and 48 kHz sample rates.

Additionally, the APIs were compared in terms of major existing API design recommendations.
The steepness of the learning curve of an API can be estimated by counting the number of methods the programmer is exposed to.
Compared with the other two, ALSA was found to expose a significantly larger number of methods.
ED:2014-09-21
INSSI tietueen numero: 49711
+ lisää koriin
INSSI