search query: @keyword latenssi / total: 9
reference: 3 / 9
« previous | next »
Author:Pero, Jaakko
Title:Audio Programming Interfaces in Real-time Context
Reaaliaikaisten audio-ohjelmointirajapintojen vertailu
Publication type:Master's thesis
Publication year:2014
Pages:x + 73      Language:   eng
Department/School:Signaalinkäsittelyn ja akustiikan laitos
Main subject:Akustiikka ja äänenkäsittely   (S3004)
Supervisor:Välimäki, Vesa
Instructor:Pihlajamäki, Tapani
Electronic version URL: http://urn.fi/URN:NBN:fi:aalto-201409012571
OEVS:
Electronic archive copy is available via Aalto Thesis Database.
Instructions

Reading digital theses in the closed network of the Aalto University Harald Herlin Learning Centre

In the closed network of Learning Centre you can read digital and digitized theses not available in the open network.

The Learning Centre contact details and opening hours: https://learningcentre.aalto.fi/en/harald-herlin-learning-centre/

You can read theses on the Learning Centre customer computers, which are available on all floors.

Logging on to the customer computers

  • Aalto University staff members log on to the customer computer using the Aalto username and password.
  • Other customers log on using a shared username and password.

Opening a thesis

  • On the desktop of the customer computers, you will find an icon titled:

    Aalto Thesis Database

  • Click on the icon to search for and open the thesis you are looking for from Aaltodoc database. You can find the thesis file by clicking the link on the OEV or OEVS field.

Reading the thesis

  • You can either print the thesis or read it on the customer computer screen.
  • You cannot save the thesis file on a flash drive or email it.
  • You cannot copy text or images from the file.
  • You cannot edit the file.

Printing the thesis

  • You can print the thesis for your personal study or research use.
  • Aalto University students and staff members may print black-and-white prints on the PrintingPoint devices when using the computer with personal Aalto username and password. Color printing is possible using the printer u90203-psc3, which is located near the customer service. Color printing is subject to a charge to Aalto University students and staff members.
  • Other customers can use the printer u90203-psc3. All printing is subject to a charge to non-University members.
Location:P1 Ark Aalto  1700   | Archive
Keywords:audio processing
digital signal processing
latency
digitaalinen signaalinkäsittely
latenssi
äänenkäsittely
Abstract (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.
Abstract (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.
ED:2014-09-21
INSSI record number: 49711
+ add basket
« previous | next »
INSSI