用python查看音频数据量#用python对音频图片截取保留拼接#根据乐谱生成音乐
声音是如何转化为数据的?
设备录制声音声音后,根据声音的振幅呈现出振幅图。横轴为时间线,纵轴为振幅。
对声音时间线采样
声音转化为数据的过程,就是将连续的时间每一个固定的时间间隔取一个幅度值,把时间离散化为时刻。
采样周期=1/采样频率
对振幅值量化
对纵轴的声音的振幅也要量化,计算机用0,1表示,不能表示一些小数,所以要对一些小数取整,量化就是对振幅值进行限定和近似的过程。
采样和量化后,将其进行编码。
量化位数越高,采样的精度就越高,声音的质量也就越好。通常:
采样单位的二进制数 单位:位/字节
固定电话:8位
网络歌曲:16位或以上
声道数:包含声道的个数,电话通常为单声道,音乐为双声道,还有4,5.1,7.1声道,声道越多,声音就会更加立体逼真。
比特率=采样频率*量化位数*声道数
数据量=比特率*持续时间
这些数据量往往很大,传输不易,人们就想到要将其进行压缩,减小数据量。
数据压缩原理:
重新编码,去掉原始数据中的冗余数据(即那些重复数据)。如:
AAAAAAAAAABBBBBBBBBB
将其进行数据压缩,就可以表示为 10A10B
将重复的数据用该值和重复的次数来代替,表达的信息一样,但是信息量减少了。
压缩分为有损压缩(用于压缩音频,视频)和无损压缩(用于压缩文件)。
在日常生活中,有的音频需要截取,拼接,这用python怎么做到呢?
截取与保存:
from pydub import AudioSegment as AS
song = AS.from_file('record.mp3', format='mp3')
song = song[4000:8500] + song[10000:14500]
file = song.export('song.mp3', format='mp3')
file.close()
注:
- 本py文件要与record.mp3位于同一文件夹
- 生成的song.mp3也位于该文件夹
- 拼接片段用“+”表示
- 如果保存片段要连续凭借N次,就乘以N
- 保存时需要指明文件格式
常见的音频格式:
wav:保存无压缩音频,声音质量好,但数据量大
mp3:压缩比高,可达10:1,且声音质量挺好
flac:无损压缩,比mp3好
rm:文件小,适合在线播放
wma: 优于mp3
根据乐谱生成音乐
步骤:
- 保留7个音符,用0表示停顿,简化后用字符串表示。
- 准备对应音符的mp3文件。
- 根据简谱将对应mp3文件拼接起来。
怎么准备对应音符的mp3文件?
先录制音符的发音,通过剪辑软件对其进行剪辑。
准备软件:
- 录音机
- 钢琴模拟器
- 音频剪辑工具
这些工具都有在线平台,如果电脑没有,可以去网上搜。
用python查看音频数据量#用python对音频图片截取保留拼接#根据乐谱生成音乐相关推荐
- 【Python开发】Python 适合大数据量的处理吗?
Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...
- 财务大数据比赛有python吗-Python 适合大数据量的处理吗?
我很喜欢用python,用python处理数据是家常便饭,从事的工作涉及nlp,算法,推荐,数据挖掘,数据清洗,数据量级从几十k到几T不等,我来说说吧 百万级别数据是小数据,python处理起来不成问 ...
- python能处理多大的数据-Python 适合大数据量的处理吗?
python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 王守崑,推荐系统,数据挖掘 需要澄清两点之后才可以比较全面的看这个问题: ...
- python增大音频音量_音频数据增强及python实现
博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/13404523.html 音频时域波形具有以下特征:音调,响度,质量.我们在进行数据增强时,最好只 ...
- python读取大数据量xml_多快好省地使用pandas分析大型数据集
1 简介 pandas虽然是个非常流行的数据分析利器,但很多朋友在使用pandas处理较大规模的数据集的时候经常会反映pandas运算"慢",且内存开销"大". ...
- python做面板数据_用Python做数据分析的基本步骤(持续修改更新)
一.环境搭建 数据分析最常见的环境是Anaconda+Jupyter notebook 二.导入包 2.1数据处理包导入 import numpy as np import pandas as pd ...
- python查看运行内存占用_利用Python如何实时检测自身内存占用
前言 最近在做文本统计,用 Python 实现,遇到了一个比较有意思的难题--如何保存统计结果. 直接写入内存实在是放不下,十几个小时后内存耗尽,程序被迫关闭.如果直接写入数据库吧,每次写入又太慢了, ...
- python读取hdf-eos5数据_《Python和HDF 5大数据应用》——2.4 你的第一个HDF5文件-阿里云开发者社区...
本节书摘来自异步社区<Python和HDF 5大数据应用>一书中的第2章,第2.4节,作者[美]Andrew Collette(科莱特),胡世杰 译,更多章节内容可以访问云栖社区" ...
- python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例
用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...
最新文章
- python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...
- Nginx:几种负载均衡调度策略配置
- 笔记-中项案例题-2019年下-整体管理
- Linux Centos7安装hadoop3.x安装流程(跪舔文)
- 全国计算机等级考试题库二级C操作题100套(第13套)
- 微信看一看强化学习推荐模型的知识蒸馏探索之路丨CIKM 2021
- POJ1212 HDU1650 UVA180 LA5240 Eeny Meeny【约瑟夫环】
- C 使用异或(xor)加密/解密文件
- MarkDown 和LaTex语法学习(基于软件Typora)
- 效率源linux,效率源希捷硬盘修复(4.2版)及程序下载
- 使用D3.js进行Neo4j数据的前端展示
- Box和Dropbox的区别
- 服务器日志显示system特殊登陆,事件查看器 安全 特殊登陆 什么意思??
- 前端代码 Jenkins 线上打包报错:TypeError: StackFrame is not a constructor
- 花2万多买的Python学习路线、Python视频教程免费分享,持续更新…
- 房价拐点已到,刚需可以持币等待购房好时机
- Ubuntu18.04中如何更换为清华的镜像源
- 小米VR一体机开发及apk文件导入
- Redis的那些最常见面试问题[精校版]
- 从两周发布上线到一周发布上线,如何做到高效稳定?