Python制作任意音频文件
本文件示例了如何用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制作任意音频文件相关推荐
- Python 将MP3音频文件转换成MIDI乐谱文件
Python 将MP3音频文件转换成MIDI乐谱文件 spleeter 1.系统环境 我的Python环境 安装spleeter pip install spleeter 查看spleeter是否安装 ...
- [原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作
[原创]使用python对视频/音频文件进行详细信息采集,并进行去重操作 转载请注明出处 一.关于为什么用pymediainfo以及pymediainfo的安装 使用python对视频/音频文件进行详 ...
- 使用python绘制wav 音频文件频谱图
1.wav 文件需要是Windows PCM 格式(未压缩),请参考 2.python 库的安装: pip install pyaudio(可能会用到) pip install matplotlib( ...
- Python播放MP3音频文件
Python播放MP3音频文件(转载) 按推荐顺序排列 ①使用playsound库 from playsound import playsoundplaysound('xx.mp3') ②使用pyga ...
- 使用Python合并mp3音频文件的最简单方法
想把多个单独的英语单词MP3朗读音频文件合并在一起,开始找的方法一是下载专门的音频编辑合成软件,但是觉得太麻烦.二是使用免费的在线mp3音频合成服务,这种网站免费,使用也很简单.但是需要把文件一个个上 ...
- 如何制作mp3音频文件?分享制作mp3的简单方法
MP3 对每个人来说都不是一个陌生的名字,因为它是全球排名第一的主流音乐格式.听过上千首MP3歌曲,你知道自己可以制作MP3文件吗?如果答案是否定的,那么您很幸运能找到这篇文章,因为它将通过向您介绍一 ...
- python制作任意形式照片墙
用python做任意文字图片墙 今天应产品经理夫人的要求,需给其做一张"青春"图与"爱心"图. 安排!!! 直接上代码: import pygame from ...
- Python获取mp3音频文件时长方法汇总
'''pymediainfo: pip3 install pymediainfo 版本:5.1.0不支持网络音频 ''' class pymediainfoTest():@classmethoddef ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: 1 import scipy 2 from scipy.io import wavfile 3 4 import soundfi ...
- python多线程截取音频文件片段,输出指定比特率的mp3文件,很好用
比如,有许多mp3文件,每个文件前都有一段固定时间长度的广告,我想把讨厌的广告批量处理掉,然后在另外一个文件夹内批量的生成指定比特率的mp3文件,我该怎么办? 完成后,生成转换后的文件夹. 经苦心研究 ...
最新文章
- “时隔 10 年,重新开始写代码的我要崩溃了!”
- linux select使用
- ROS 机器人操作系统进阶实战
- Linux安装和管理程序的相关知识点
- hibernate底层dao
- C语言Node lt T gt,c语言论坛填空;#includelt;stdio.hgt;# 爱问知识人
- c+++11并发编程语言,C++11并发编程:多线程std:thread
- 游标声明 oracle,Oracle游标声明
- 马化腾不“爱”刘强东了?
- Redis分布式锁的概念
- 【BZOJ3781】小B的询问 莫队
- WPF杂难解 中文字体显示模糊
- java解压zip压缩包
- 互联网产品为什么能让用户“上瘾”,常用套路是什么?
- 摆脱“概念化”,自动售货机玩儿“物联网”是否靠谱?
- android 绘制坐标系(雷达探测界面)
- bootstrap-select下拉选项数据超长换行显示
- ​数据科学家必须了解的事:中心极限定理
- 北上广深到底谁大谁小?
- 2017计算机非全日制调剂,2017年非全日制硕士研究生调剂方案
热门文章
- 吉林大学校园网linux客户端,吉林大学校园网认证客户端 v5.2.1 pc版
- This version of ChromeDriver only supports Chrome version 93 Current browser version is 95.0.4638.54
- matlab fread每隔,matlab 中关于fread函数的用法
- C语言 fread 函数 - C语言零基础入门教程
- HTMLUnit爬虫模拟登录Linkedin
- c语言计算机病毒程序代码,bat电脑病毒代码
- iOS内购(代码部分,swift)
- 西电版《离散数学》勘误
- 单片机C语言,从小白到菜鸟进阶教程(超详细代码解读)
- OpenGL超级宝典(第7版)笔记1 清单的初始环境配置part1