Code: Select all
$ bin/python3
...
sample_rates = [44100, 48000, 88200, 96000, 176400, 192000]
frames_per_period_list = [16, 32, 64, 128, 256, 512, 1024]
periods_per_buffer_list = [2, 3]
for sample_rate in sample_rates:
... for frames_per_period in frames_per_period_list:
... for periods_per_buffer in periods_per_buffer_list:
... frames_per_buffer = frames_per_period * periods_per_buffer
... latency_ms = frames_per_buffer / sample_rate * 1000
... print(f"{sample_rate}, {frames_per_period}, {periods_per_buffer}, {latency_ms:0.2f}")
...
44100, 16, 2, 0.73
44100, 16, 3, 1.09
44100, 32, 2, 1.45
44100, 32, 3, 2.18
44100, 64, 2, 2.90
44100, 64, 3, 4.35
44100, 128, 2, 5.80
44100, 128, 3, 8.71
44100, 256, 2, 11.61
44100, 256, 3, 17.41
44100, 512, 2, 23.22
44100, 512, 3, 34.83
44100, 1024, 2, 46.44
44100, 1024, 3, 69.66
48000, 16, 2, 0.67
48000, 16, 3, 1.00
48000, 32, 2, 1.33
48000, 32, 3, 2.00
48000, 64, 2, 2.67
48000, 64, 3, 4.00
48000, 128, 2, 5.33
48000, 128, 3, 8.00
48000, 256, 2, 10.67
48000, 256, 3, 16.00
48000, 512, 2, 21.33
48000, 512, 3, 32.00
48000, 1024, 2, 42.67
48000, 1024, 3, 64.00
88200, 16, 2, 0.36
88200, 16, 3, 0.54
88200, 32, 2, 0.73
88200, 32, 3, 1.09
88200, 64, 2, 1.45
88200, 64, 3, 2.18
88200, 128, 2, 2.90
88200, 128, 3, 4.35
88200, 256, 2, 5.80
88200, 256, 3, 8.71
88200, 512, 2, 11.61
88200, 512, 3, 17.41
88200, 1024, 2, 23.22
88200, 1024, 3, 34.83
96000, 16, 2, 0.33
96000, 16, 3, 0.50
96000, 32, 2, 0.67
96000, 32, 3, 1.00
96000, 64, 2, 1.33
96000, 64, 3, 2.00
96000, 128, 2, 2.67
96000, 128, 3, 4.00
96000, 256, 2, 5.33
96000, 256, 3, 8.00
96000, 512, 2, 10.67
96000, 512, 3, 16.00
96000, 1024, 2, 21.33
96000, 1024, 3, 32.00
176400, 16, 2, 0.18
176400, 16, 3, 0.27
176400, 32, 2, 0.36
176400, 32, 3, 0.54
176400, 64, 2, 0.73
176400, 64, 3, 1.09
176400, 128, 2, 1.45
176400, 128, 3, 2.18
176400, 256, 2, 2.90
176400, 256, 3, 4.35
176400, 512, 2, 5.80
176400, 512, 3, 8.71
176400, 1024, 2, 11.61
176400, 1024, 3, 17.41
192000, 16, 2, 0.17
192000, 16, 3, 0.25
192000, 32, 2, 0.33
192000, 32, 3, 0.50
192000, 64, 2, 0.67
192000, 64, 3, 1.00
192000, 128, 2, 1.33
192000, 128, 3, 2.00
192000, 256, 2, 2.67
192000, 256, 3, 4.00
192000, 512, 2, 5.33
192000, 512, 3, 8.00
192000, 1024, 2, 10.67
192000, 1024, 3, 16.00
Of course, that assumes that the system doesn't hit another limit (CPU, memory / disk IO throughput) when processing the higer-sample-rate/lower-latency inputs.