声音是如何转化为数据的?

设备录制声音声音后,根据声音的振幅呈现出振幅图。横轴为时间线,纵轴为振幅。

对声音时间线采样

声音转化为数据的过程,就是将连续的时间每一个固定的时间间隔取一个幅度值,把时间离散化为时刻。

采样周期=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


根据乐谱生成音乐

步骤:

  1. 保留7个音符,用0表示停顿,简化后用字符串表示。
  2. 准备对应音符的mp3文件。
  3. 根据简谱将对应mp3文件拼接起来。

怎么准备对应音符的mp3文件?

先录制音符的发音,通过剪辑软件对其进行剪辑。

准备软件:

  • 录音机
  • 钢琴模拟器
  • 音频剪辑工具

这些工具都有在线平台,如果电脑没有,可以去网上搜。

用python查看音频数据量#用python对音频图片截取保留拼接#根据乐谱生成音乐相关推荐

  1. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  2. 财务大数据比赛有python吗-Python 适合大数据量的处理吗?

    我很喜欢用python,用python处理数据是家常便饭,从事的工作涉及nlp,算法,推荐,数据挖掘,数据清洗,数据量级从几十k到几T不等,我来说说吧 百万级别数据是小数据,python处理起来不成问 ...

  3. python能处理多大的数据-Python 适合大数据量的处理吗?

    python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 王守崑,推荐系统,数据挖掘 需要澄清两点之后才可以比较全面的看这个问题: ...

  4. python增大音频音量_音频数据增强及python实现

    博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/13404523.html 音频时域波形具有以下特征:音调,响度,质量.我们在进行数据增强时,最好只 ...

  5. python读取大数据量xml_多快好省地使用pandas分析大型数据集

    1 简介 pandas虽然是个非常流行的数据分析利器,但很多朋友在使用pandas处理较大规模的数据集的时候经常会反映pandas运算"慢",且内存开销"大". ...

  6. python做面板数据_用Python做数据分析的基本步骤(持续修改更新)

    一.环境搭建 数据分析最常见的环境是Anaconda+Jupyter notebook 二.导入包 2.1数据处理包导入 import numpy as np import pandas as pd ...

  7. python查看运行内存占用_利用Python如何实时检测自身内存占用

    前言 最近在做文本统计,用 Python 实现,遇到了一个比较有意思的难题--如何保存统计结果. 直接写入内存实在是放不下,十几个小时后内存耗尽,程序被迫关闭.如果直接写入数据库吧,每次写入又太慢了, ...

  8. python读取hdf-eos5数据_《Python和HDF 5大数据应用》——2.4 你的第一个HDF5文件-阿里云开发者社区...

    本节书摘来自异步社区<Python和HDF 5大数据应用>一书中的第2章,第2.4节,作者[美]Andrew Collette(科莱特),胡世杰 译,更多章节内容可以访问云栖社区" ...

  9. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例

    用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...

最新文章

  1. python零基础入门教程视频下载-Python零基础入门学习视频教程全42集,资源教程下载...
  2. Nginx:几种负载均衡调度策略配置
  3. 笔记-中项案例题-2019年下-整体管理
  4. Linux Centos7安装hadoop3.x安装流程(跪舔文)
  5. 全国计算机等级考试题库二级C操作题100套(第13套)
  6. 微信看一看强化学习推荐模型的知识蒸馏探索之路丨CIKM 2021
  7. POJ1212 HDU1650 UVA180 LA5240 Eeny Meeny【约瑟夫环】
  8. C 使用异或(xor)加密/解密文件
  9. MarkDown 和LaTex语法学习(基于软件Typora)
  10. 效率源linux,效率源希捷硬盘修复(4.2版)及程序下载
  11. 使用D3.js进行Neo4j数据的前端展示
  12. Box和Dropbox的区别
  13. 服务器日志显示system特殊登陆,事件查看器 安全 特殊登陆 什么意思??
  14. 前端代码 Jenkins 线上打包报错:TypeError: StackFrame is not a constructor
  15. 花2万多买的Python学习路线、Python视频教程免费分享,持续更新…
  16. 房价拐点已到,刚需可以持币等待购房好时机
  17. Ubuntu18.04中如何更换为清华的镜像源
  18. 小米VR一体机开发及apk文件导入
  19. Redis的那些最常见面试问题[精校版]
  20. 从两周发布上线到一周发布上线,如何做到高效稳定?

热门文章

  1. java 判断特殊字符_java 判断是否包含特殊字符
  2. 【一次国际会议经历】NDSS‘ 16以及出席国际会议种种
  3. linux tcptraceroute tcpping安装使用
  4. Intermediate Level Attack
  5. MES系统的应用(下)
  6. 实现纯前端生成字母头像
  7. JS控制video播放暂停或者开始
  8. 期权专题1:普通期权定价
  9. FPGA高速接口设计之SpaceWire——总线协议概述
  10. 基于RFLD技术的智能小区一卡通应用方案