合成音乐

# -*- coding: utf-8 -*-
"""
Created on Sun Feb 23 15:57:07 2020

@author: leslielee

列举一些音频库
(除ffmpeg与tksnack外,其余都需要转化为wav格式才能处理)
from scipy.io import wavfile
portaudio是一个开源 跨平台的声音IO库
pyPortAudio是PortAudio的python封装
tkSnack是Python和Tcl/Tk的声音工具包
PyAudio借鉴了pyPortAudio与tkSnack  
from pydub import AudioSegment
import wave 内置库
ffmpeg 录制,转换流媒体  需安装,终端执行

安装ffmpeg
conda install ffmpeg  但是conda命令很慢
pip install ffmpeg
conda install -c https://conda.anaconda.org/menpo ffmpeg

注意
此时,ffmpeg只能在anaconda的命令行里面用

使用ffmpeg
ffmpeg -i D:/当年情.mp3 -f wav D:/当年情.wav
ffmpeg -i D:/当年情.wav -f mp3 -acodec libmp3lame -y D:/当年情.mp3

查看conda install命令怎么使用:
conda install -help

仓库
https://conda.anaconda.org/menpo  
https://pypi.org

查看的blog:
https://blog.csdn.net/liaoxingwei2008/article/details/86605189
"""
from scipy.io import wavfile
import numpy as np

path1 = '当年情(mandarin).wav'
path2 = '当年情(cantonese).wav'

fs1,data1 = wavfile.read(path1)
fs2,data2 = wavfile.read(path2)

# 在一半的时候切换  之所以再加200000,是因为leslie有一句没唱完
half = int(len(data1[:,0])/2)+200000
# 将两种方言拼接起来
data3 = np.vstack([data1[0:half,:],data2[half+1:-1,:]])

# 将data3保存为wave
path3 = '当年情.wav'
wavfile.write(path3,fs1,data3)

发布了53 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37083038/article/details/104510209