本文件示例了如何用python脚本来生成任意波形的Wav音频文件,用来做为声音源帮助听力产品的测试。

python中需要安装wave、nump、scipy库;

下面为一生成无声音的脚本:

import wave
import numpy as np
import scipy.signal as signal# sample frequency, unit = hz
frameRate = 16000
time = 60  # unit = second
volumn =  0 # 30000,音量设置# 通过调用 scipy.signal库中的 chrip 函数,产生长度为10秒、取样频率为44.1kHz、100Hz到1kHz的频率扫描波
t = np.arange(0, time, 1.0 / frameRate)#
# Save time line into xls file.
#
'''
ft = open("ti.xls", "w")
for item in t:ft.write(str(item)+'\n')
ft.close()
'''# chirp(t,f0,t1,f1,method='linear', phi=0, vertex_zero=True)
#    t = array of time
#    f0 = start frequency from t[0]
#    t1 = end time
#    f1 = frequency of t1
# for linear method: f(t) = f0 + (f1 - f0) * t/t1
wave_data = signal.chirp(t, 100, time, 100, method='linear') * volumn
# 由于chrip函数返回的数组为float64型,需要调用数组的astype方法将其转换为short型。
wave_data = wave_data.astype(np.short)#
# Save time line into xls file.
#
maxVal = 0
minVal = 32768
fwave = open("wave.xls", "w")
for item in wave_data:fwave.write(str(item)+'\n')if maxVal < item:maxVal = itemif minVal > item:minVal = item
fwave.close()
print('[min,max] value=[' + str(minVal) + ',' + str(maxVal) + ']' )'''
#data = 2+np.sin(np.random.rand(160000)) # random noise
data = 2+np.sin(np.array(range(160000))) # sin wave sounddata = data*10000  # increase volumn
data = data.astype(np.short) # convert wave dat to int16 from float64
print(type(data[0]))
# print(len(data))
# print(data[:3])
'''f = wave.open(r"000.wav", "wb")# 配置声道数、量化位数和取样频率
f.setnchannels(1)  # 声道数
f.setsampwidth(2)  # 量化位数
f.setframerate(frameRate)  # 采样频率
f.writeframes(wave_data.tostring())  # 将wav_data转换为二进制数据写入文件
f.close()

Python制作任意音频文件相关推荐

  1. Python 将MP3音频文件转换成MIDI乐谱文件

    Python 将MP3音频文件转换成MIDI乐谱文件 spleeter 1.系统环境 我的Python环境 安装spleeter pip install spleeter 查看spleeter是否安装 ...

  2. [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作

    [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...

  3. 使用python绘制wav 音频文件频谱图

    1.wav 文件需要是Windows PCM 格式(未压缩),请参考 2.python 库的安装: pip install pyaudio(可能会用到) pip install matplotlib( ...

  4. Python播放MP3音频文件

    Python播放MP3音频文件(转载) 按推荐顺序排列 ①使用playsound库 from playsound import playsoundplaysound('xx.mp3') ②使用pyga ...

  5. 使用Python合并mp3音频文件的最简单方法

    想把多个单独的英语单词MP3朗读音频文件合并在一起,开始找的方法一是下载专门的音频编辑合成软件,但是觉得太麻烦.二是使用免费的在线mp3音频合成服务,这种网站免费,使用也很简单.但是需要把文件一个个上 ...

  6. 如何制作mp3音频文件?分享制作mp3的简单方法

    MP3 对每个人来说都不是一个陌生的名字,因为它是全球排名第一的主流音乐格式.听过上千首MP3歌曲,你知道自己可以制作MP3文件吗?如果答案是否定的,那么您很幸运能找到这篇文章,因为它将通过向您介绍一 ...

  7. python制作任意形式照片墙

    用python做任意文字图片墙 今天应产品经理夫人的要求,需给其做一张"青春"图与"爱心"图. 安排!!! 直接上代码: import pygame from ...

  8. Python获取mp3音频文件时长方法汇总

    '''pymediainfo: pip3 install pymediainfo 版本:5.1.0不支持网络音频 ''' class pymediainfoTest():@classmethoddef ...

  9. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...

  10. python多线程截取音频文件片段,输出指定比特率的mp3文件,很好用

    比如,有许多mp3文件,每个文件前都有一段固定时间长度的广告,我想把讨厌的广告批量处理掉,然后在另外一个文件夹内批量的生成指定比特率的mp3文件,我该怎么办? 完成后,生成转换后的文件夹. 经苦心研究 ...

最新文章

  1. “时隔 10 年,重新开始写代码的我要崩溃了!”
  2. linux select使用
  3. ROS 机器人操作系统进阶实战
  4. Linux安装和管理程序的相关知识点
  5. hibernate底层dao
  6. C语言Node lt T gt,c语言论坛填空;#includelt;stdio.hgt;# 爱问知识人
  7. c+++11并发编程语言,C++11并发编程:多线程std:thread
  8. 游标声明 oracle,Oracle游标声明
  9. 马化腾不“爱”刘强东了?
  10. Redis分布式锁的概念
  11. 【BZOJ3781】小B的询问 莫队
  12. WPF杂难解 中文字体显示模糊
  13. java解压zip压缩包
  14. 互联网产品为什么能让用户“上瘾”,常用套路是什么?
  15. 摆脱“概念化”,自动售货机玩儿“物联网”是否靠谱?
  16. android 绘制坐标系(雷达探测界面)
  17. bootstrap-select下拉选项数据超长换行显示
  18. ​数据科学家必须了解的事:中心极限定理
  19. 北上广深到底谁大谁小?
  20. 2017计算机非全日制调剂,2017年非全日制硕士研究生调剂方案

热门文章

  1. 吉林大学校园网linux客户端,吉林大学校园网认证客户端 v5.2.1 pc版
  2. This version of ChromeDriver only supports Chrome version 93 Current browser version is 95.0.4638.54
  3. matlab fread每隔,matlab 中关于fread函数的用法
  4. C语言 fread 函数 - C语言零基础入门教程
  5. HTMLUnit爬虫模拟登录Linkedin
  6. c语言计算机病毒程序代码,bat电脑病毒代码
  7. iOS内购(代码部分,swift)
  8. 西电版《离散数学》勘误
  9. 单片机C语言,从小白到菜鸟进阶教程(超详细代码解读)
  10. OpenGL超级宝典(第7版)笔记1 清单的初始环境配置part1