У меня есть следующая функция, которая генерирует тон и записывает его в файл wav
import struct
import numpy as np
from scipy import signal as sg
import wave
import math
# Parameters
sampleRate = 44100
frequency = 400
duration = 1
# define wave file
file = wave.open('test.wav', 'w')
file.setnchannels(1)
file.setsampwidth(2)
file.setframerate(sampleRate)
def generate(output, freq, dur):
# create sine wave
n_cycles = math.floor(freq*dur) # number of cycle
dur2 = n_cycles /freq # adjusted duration
samples = dur2*sampleRate
x = np.arange(samples+1) # want inclusive range
sineWave = (32767.0*np.sin(2 * np.pi * freq * x / sampleRate))
for i in sineWave:
value = i
data = struct.pack('<h', int(value))
output.writeframesraw(data);
for x in range(1):
generate(file, 1153.1, 1.0)
file.close();
Теперь я хочу передать его с flask.
Что я хочу do проигрывает случайные звуки "Beep", сгенерированные из моего python скрипта. Я также хочу дать пользователю возможность запускать и останавливать поток.
Как я могу это сделать? Возможно ли это с Flask?
Спасибо!