Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.

  User Info

  Board Stats

  • Total Members: 0
  • Total Posts: 0
  • Total Topics: 0
  • Total Categories: 0
  • Total Boards: 0
  • Most Online: 21,221

  Theme Select



Forum Default

Permanently

  Board News

Sample Rate Conversion Testing

2025-10-17 13:50:09 by spoon | Views: 6497 | Comments: 73

It is proposed to implement an automated method of testing and showing the results for various digital transformations / filters / resampling here on HydrogenAudio. Starting with Sample Rate Conversion (note aware of the good work done by https://src.infinitewave.ca/  ), we propose a test suite where samples can be downloaded, uploaded and results processed automatically here, with a custom section dedicated to each function.

Having looked about the place, this is a good basis for testing:

https://www2.spsc.tugraz.at/www-archive/downloads/Mueller11_DopplerSRC_0.pdf

Looking for feedback on these tests, RMAA also does various tests, and can be looked at also.

Initial thoughts are to test up and down resampling separately, at frequencies most likely to be used in the real world.

The paper above tests:

Impulse Response
A signal with a sample rate of 96 kHz is downsampled to 44.1 kHz. The signal x[n]
consists of 96000 gcd(96000,44100) = 320 unit impulses with enough space between them. The im-
pulses are at sample positions n so that {n mod 320} is a permutation of {0, 1, 2, . . . , 319}.
This basically means that all fractional differences in sample positions between input
and output signal are addressed exactly once. In the later analysis the output signal is
upsampled (by inserting zeros) to lcm(96000, 44100) = 14.112 MHz and the impulse re-
sponses are added to obtain a high resolution impulse response, which is also inspected
in the frequency domain in phase and magnitude utilizing the DFT.

Dynamic Ratio
A sine wave at a frequency of 5 kHz with a sampling rate of 48 kHz is resampled to a
linear chirp between 100 Hz and 20 kHz over 10 seconds simulating the Doppler effect
of a passing object. For analysis the spectogram of the resulting file is plotted.

Sweep
A sweep signal with a linear slope of 1 kHz/s from 1 Hz to 48 kHz at a sample rate of
96 kHz is downsampled to 44.1 kHz. Again the spectogram is plotted for analysis to
evaluate aliasing effects and filter cutoff.

Aliasing
A 23 kHz sine at −4 dBFS with a white noise floor of −150 dBFS over 30 seconds is
downsampled from 96 kHz to 44.1 kHz. The resulting signal is analysed using Welch’s
method with 4 segments, an overlap of 50 %, and a Hann window.

Harmonic Distortion
Equivalent to the Aliasing test, with the only difference that the sine has a frequency
of 1 kHz.

Intermodulation Distortion
Again equals the Aliasing test with the difference that the sine is replaced by two sines,
one at 60 Hz, −6 dBFS and the second at 7 kHz, −18.0412 dBFS, which equals quarter
the amplitude of the first sine

[OPEN SOURCE] Audio Resampling Tool (ART) Version 0.5

2025-10-08 21:06:27 by forart.eu | Views: 1808 | Comments: 1

What is this ?
This is a simple audio resampler, written entirely in C and specifically targeting embedded systems. It provides fine control over both the CPU load and memory footprint so it can be easily adapted to a wide range of hardware (e.g., ESP32 to high-end ARM). It is also well suited for ASRC (asynchronous sample rate converter) applications because it allows the resample ratio to be modified continuously and provides a function to query the exact phase position of the resampler (required in the feedback loop of an ASRC). The latest version has optimizations to improve speed and accuracy when performing fixed-ratio conversions, and also supports multithreading for stereo and multichannel files.

Chengelog:
The audio resampler initially targeted ASRC applications wherein the resample ratio is infinitely and continuously adjustable. However, this flexibility comes at a cost in performance and accuracy when used in fixed ratio sample rate conversions, which is obviously a very common use case for audio resamplers. This version has an added initialization API for fixed-ratio conversions that provides several optimizations for them, and also adds optional multithreading support to the resample and decimation engines for doing stereo and multichannel conversions in parallel (using either pthreads or native Windows threads). Note that this is all backward compatible with the original API.

There’s also a new tool for benchmarking and testing the resampler and the decimator, including the non-interleaved versions.

  • New benchmarking and testing application
  • Fix for long-term drift resulting from sample ratios not exactly represented in doubles
  • If possible, use a specific reduced number of filers and eliminate the interpolation requirement
  • Stereo sample rate conversions are now 2x – 3x faster and more accurate
  • Automatic calculation of optimum lowpass filter moved to resampler
  • Add optional multithreaded resampling and decimation
   

License: BSD 3-Clause "New" or "Revised"
Downloads: https://github.com/dbry/audio-resampler/releases/tag/0.5
Git: https://github.com/dbry/audio-resampler#readme

[OPEN SOURCE] Microsoft's ASIO drivers "will be shipped with Windows"

2025-10-01 08:58:08 by forart.eu | Views: 2266 | Comments: 0

Actively-developed "USB Audio Class 2 (UAC2) driver, optimized for low-latency musician scenarios" that "includes an ASIO interface [..] will be shipped in Windows."

Even if "There is no public release of the driver, yet", their "project is open source to enable community participation, and to encourage others to create and ship useful low-latency audio drivers for Windows."

Git: https://github.com/microsoft/low-latency-audio#readme