python - 使用 Flask 流式传输随机音频
问题描述
我有以下函数可以生成音调并将其写入 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();
现在我想用烧瓶流式传输它。
我想做的是播放从我的python脚本生成的随机“哔”声。我还想为用户提供启动和停止 Stream 的选项。
我怎样才能做到这一点?烧瓶可以吗?
解决方案
推荐阅读
- python - 嵌套列表Python中的列表理解
- android - “未找到 ID 为 'io.fabric' 的插件”错误。从 build.gradle 中删除织物后
- java - 使用密码查询导入 Neo4j 形状文件时出错
- javascript - Blazor 到 Javascript 字节数组互操作
- python - python中的FM解调问题 - wow&flutter测量
- javascript - 悬停时动画 SVG - 悬停时不要做微笑
- sql - 在两个不同的表Oracle之间计数
- ajax - laravel7 工作图像上传,但 ajax 说有错误
- php - 如何使用子主题使以下标题以 h4 标签而不是 h2 输出标题?
- vb.net - 在键盘中按下 Enter 时更改按钮的背景颜色