2022-10-19 21:48:33 +02:00
|
|
|
using PortAudio
|
2021-05-24 23:34:37 +02:00
|
|
|
|
2022-10-19 21:48:33 +02:00
|
|
|
const RADIANS_PER_FRAME = 1 / 44100 * 440 * 2 * pi
|
2021-07-25 19:09:59 +02:00
|
|
|
|
2022-10-19 21:48:33 +02:00
|
|
|
function test()
|
|
|
|
stream = PortAudioStream() do _, output_array, frames_per_buffer, frames_already
|
|
|
|
# 44100 frames / second
|
|
|
|
# 440 cycles / second
|
|
|
|
# 2pi radians / cycle
|
|
|
|
if frames_already > 44100
|
|
|
|
0
|
|
|
|
else
|
|
|
|
for frame in 1:frames_per_buffer
|
|
|
|
output_array[1, frame] = sin((frames_already + frame) * RADIANS_PER_FRAME)
|
2021-06-01 18:39:27 +02:00
|
|
|
end
|
2022-10-19 21:48:33 +02:00
|
|
|
frames_per_buffer
|
2021-05-13 17:42:09 +02:00
|
|
|
end
|
|
|
|
end
|
2022-10-19 21:48:33 +02:00
|
|
|
start(stream)
|
|
|
|
sleep(2)
|
|
|
|
close(stream)
|
2021-05-13 17:42:09 +02:00
|
|
|
end
|