Python实现音乐的剪辑
一、读取音频文件
from scipy.io import wavfile
import numpy as np
like = wavfile.read('./嘤嘤嘤.wav')
print (like)
结果:

图片是三维的ndarray,视频是四维的由[[img],[img],[img]]+音频组成
这里读取音频文件使用的scipy,scipy四个高端科学计算端。
音频结果将返回一个tuple。第一维参数是采样频率,单位为秒;第二维数据是一个ndarray表示歌曲,如果第二维的ndarray只有一个数据表示单声道,两个数据表示立体声。很明显这里是个立体声。
所以,通过控制第二维数据就能对歌曲进行裁剪。
继续音频裁剪就是:
like[1][ start_s*44100 : end_s*44100 ]
对like这个元组第二维数据进行裁剪,所以是like[1];第二维数据中是对音乐数据切分。 start_s表示你想裁剪音频的起始时间;同理end_s表示你裁剪音频的结束时间。乘44100 是因为每秒需要进行44100次采样。
对音频进行裁剪,并保存到本地,使用wavfile中的write:
wavfile.write('like2.wav',44100,like[1][30*44100:45*44100])
第一个参数表示,保存的路径。第二个参数表示采样频率。第三个参数表示裁剪的音乐片段。
完整代码就是:
from scipy.io import wavfile
import numpy as np
like = wavfile.read('./嘤嘤嘤.wav')
4 wavfile.write('like2.wav',44100,like[1][30*44100:45*44100])
二、两段音乐拼接:
音乐拼接使用ndarray的级联:
np.concatenate(参数1:参数2)
完整代码:
from scipy.io import wavfile
import numpy as np
like = wavfile.read('./嘤嘤嘤.wav')
jueji = wavfile.read('./林俊杰-爱不会绝迹.wav')
mix = np.concatenate([like[1][:30*44100],jueji[1][-30*44100:]])
wavfile.write('./mix.wav',44100,mix)
Python实现音乐的剪辑的更多相关文章
- python实现音乐播放器
python实现音乐播放器 模块:pygame 模块:time Python 布尔循环实例: import time import pygame muxi_k = """ ...
- python播放音乐
最近一直想实现使用Python播放音乐的功能,找了百度上的好多博客,要不就只能播放wav格式的,要不播放mp3格式的但无法在Linux系统下使用的,或者只能在Python2的情况下播放的,写的都不符合 ...
- python 视频配音、剪辑
一.FFmpeg的使用 首先下载FFmpeg然后将FFmpeg添加到环境路径中.运行cmd 输入ffmpeg无报错表示成功. 二.python中的使用 在python中执行cmd命令需要调用subpr ...
- Python 的音乐库
前言 其实处理这个用 Matlab 最方便,之前把 guitar-synthesizer 从 Matlab 移植到 Python,过程中更是体会到了这一点. 不过 Matlab 安装包又大,启动又慢, ...
- python 简易音乐盒子
#!/usr/bin/env python#-*- coding:utf-8 -*- from Tkinter import *import tkMessageBoximport urllib def ...
- 用Python演奏音乐
目录 背景 准备 安装mingus 下载并配置fluidsynth 下载soundfont文件 分析 乐谱格式 乐谱解析 弹奏音乐 添加伴奏 保存音乐 完整程序 背景 笔者什么乐器也不会,乐理知识也只 ...
- Python+moviepy音视频剪辑:视频帧数据的本质、Clip的fl方法进行变换处理的原理以及滚屏案例
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt+moviepy音视频剪辑实战 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一. ...
- 使用python播放音乐
1.首先安装pygame,pip install pygame 2.上代码: import time import pygame #音乐路径 filepath=r"C:\Users\1473 ...
- python 喜马拉雅 音乐下载 演示代码
1.主程序文件 import os import json import requests from contextlib import closing from progressbar import ...
随机推荐
- 【Jmeter】参数Parameters和Body Data
在做接口并发测试的时候,才发现Jmeter中的Parameters和Body Data两种参数格式并不是简单的一个是xx=xx,另外一个是json格式的参数 先看一个接口 [post] /api/xx ...
- recvfrom WSAEFAULT 10014 的错误记录
在使用 recvfrom 时一直没报错, 像这样 recvfrom(sock, Data, , (sockaddr*)&server_addr, &send_size) 当我看见百度百 ...
- PHP and laravel知识点小小积累
function () use ($x, &$y){} 自从PHP5.3开始有了closure/匿名函数的概念,在这里的use关键词的作用是允许匿名函数capture到父函数scope 内存在 ...
- 微软在Build 2016开发者大会中发布 “认知服务”,牛津计划有正式名字啦!
2016年3月30日:微软在Build 2016开发者大会中发布“认知服务”. 在Build 2016开发者大会中,微软发布了新的智能服务:微软认知服务(Microsoft Cognitive Ser ...
- pt-heartbeat(percona toolkit)
pt-heartbeat是用来监控主从延迟的一款percona工具,现在我们大部分的MySQL架构还是基于主从复制,例如MHA,MMM,keepalived等解决方案.而主从环境的话,我们很关心的就是 ...
- 用WCAT进行IIS压力测试
用WCAT进行IIS压力测试 分类: javascript专辑 IT信息化 2008-10-13 16:56 5754人阅读 评论(1) 收藏 举报 iis测试服务器microsoft脚本网络 如何建 ...
- Python零基础学习系列之四--Python程序设计思想
前面我们把Python环境安装成功,同时也选择了自己合适的IDE工具来开启自己的编程之旅. 那么今天来说说怎么编程,程序设计需要什么步骤,我们应该怎么做才能编写自己的程序. 1-1.程序设计方法: I ...
- 高精度定时器实现 z
1背景Permalink .NET Framework 提供了四种定时器,然而其精度都不高(一般情况下 15ms 左右),难以满足一些场景下的需求. 在进行媒体播放.绘制动画.性能分析以及和硬件交互时 ...
- win10系统 WMI Provider Host cpu 占用过高
今天上班,发现系统有点卡,QQ总是没响应. 打开任务管理器,发现有一个程序- WMI Provider Host 占用cpu竟然高达80% 然后通过事件查看器发现是一个pid为9832的程序造成的 然 ...
- yii2.0 Activeform表单部分组件使用方法 [ 2.0 版本 ]
文本框:textInput(); 密码框:passwordInput(); 单选框:radio(),radioList(); 复选框:checkbox(),checkboxList(); 下拉框:dr ...