Efficient Velvet-Noise Convolution in Multicore Processors

Jose A. Belloch*, Jose M. Badia, German Leon, Vesa Välimäki

*Tämän työn vastaava kirjoittaja

Tutkimustuotos: LehtiartikkeliArticleScientificvertaisarvioitu

23 Lataukset (Pure)

Abstrakti

Velvet noise, a sparse pseudo-random signal, finds valuable applications in audio engineering, such as artificial reverberation, decorrelation filtering, and sound synthesis. These applications rely on convolution operations whose computational requirements depend on the length, sparsity, and bit resolution of the velvet-noise sequence used as filter coefficients. Given the inherent sparsity of velvet noise and its occasional restriction to a few distinct values, significant computational savings can be achieved by designing convolution algorithms that exploit these unique properties. This paper shows that an algorithm called the transposed double-vector filter is the most efficient way of convolving velvet noise with an audio signal. This method optimizes access patterns to take advantage of the processor's fast caches. The sequential sparse algorithm is shown to be always faster than the dense one, and the speedup is linearly dependent on sparsity. The paper also explores the potential for further speedup on multicore platforms through parallelism and evaluate the impact of data encoding, including 16-bit and 32-bit integers and 32-bit floating-point representations. The results show that using the fastest implementation of a long velvet-noise filter, it is possible to process more than 40 channels of audio in real time using the quad-core processor of a modern system-on-chip.

AlkuperäiskieliEnglanti
Sivut383-393
Sivumäärä11
JulkaisuAES: Journal of the Audio Engineering Society
Vuosikerta72
Numero6
DOI - pysyväislinkit
TilaJulkaistu - kesäk. 2024
OKM-julkaisutyyppiA1 Alkuperäisartikkeli tieteellisessä aikakauslehdessä

Sormenjälki

Sukella tutkimusaiheisiin 'Efficient Velvet-Noise Convolution in Multicore Processors'. Ne muodostavat yhdessä ainutlaatuisen sormenjäljen.

Siteeraa tätä