import numpy as np
import matplotlib.pyplot as plt T = 1.0 / sample_rate #周期
x = np.arange(0, 1.0, T)
y = 0.9*np.sin(2 * np.pi * fc * x)
file=wave.open(r'hello.wav','wb')
file.setnchannels(1)#设置通道数
file.setsampwidth(2)#设置采样宽
file.setframerate(16000)#设置采样
file.setcomptype('NONE','not compressed')#设置采样格式 无压缩
plt.plot(y[:16])#画出一个周期的波形图
plt.show()
y=y*32768
y_data=y.astype(np.int16).tobytes()#将类型转为字节
file.writeframes(y_data)
file.close()
ys=y[:fft_size]
yf=np.abs(np.fft.fft(ys)/fft_size)
plt.subplot(211)
plt.plot(x[:fft_size],ys)
plt.subplot(212)
plt.plot(x[:fft_size],yf)
plt.show()

最新文章

  1. sql跨库查询
  2. TextView 选择文字
  3. ios每日一发--Leanclude数据云存储以及登录 注册账户
  4. Servlet 编程 请求的转发
  5. [Mongo] How to Install Mongo on Debian(不要安装)
  6. 屏幕取色工具推荐 ColorPix
  7. WWF3常用类 <第十一篇>
  8. hadoop 2.0 lzo 问题
  9. java之表达式陷阱
  10. 16位cpu下主引导扇区及用户程序的编写
  11. springmvc实现REST中的GET、POST、PUT和DELETE
  12. 机器学习基石:Homework #0 SVD相关&常用矩阵求导公式
  13. ?:,reverse,vector的基本小结
  14. [Python]mysql-python 安装错误 fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
  15. Qgis练手
  16. 深入详解美团点评CAT跨语言服务监控(八)报表持久化
  17. 根据svm将视频帧转换为img
  18. PTA 7-6 列出连通集(深搜+广搜)
  19. Rails中activeAdmin的使用
  20. OO第三次阶段总结

热门文章

  1. mybatis-plus 多租户
  2. 可能是最简单的本地GPT3 对话机器人,支持OpenAI 和 Azure OpenAI
  3. Nginx01 简介和安装
  4. Office 2016 专业版打开Excel空白解决方案
  5. react 高效高质量搭建后台系统 系列 —— 前端权限
  6. 树莓派开机启动VNC
  7. element plus + vue3表单第一次数据未清空的bug问题解决
  8. 多线程并发(二):聊聊AQS中的共享锁实现原理
  9. JZOJ 2474. 【GDKOI 2021普及组DAY2】我的世界
  10. SVN信息泄露漏洞