pydub 歌曲,提取副歌,音乐歌曲切片,渐进渐出,音量,歌曲歌谱

简介: pydub 歌曲,提取副歌,音乐歌曲切片,渐进渐出,音量,歌曲歌谱
#一提起副歌,传参数,为歌曲路径,副歌输出路径,多长时间的副歌
#副歌支持flac wav 不支持mp3  mp4 wma
# from pychorus import find_and_output_chorus
# chorus_start_sec = find_and_output_chorus("F://那女孩对我说.mp3", "F://a.wav", 40)
# print(chorus_start_sec)


#二 截取歌曲任意片段
# 需要 ffmpeg/bin/三个exe文件
#以毫秒为单位
# 把歌曲直接看成数组,来切片就行
# from pydub import AudioSegment
# song = AudioSegment.from_mp3("F://那女孩对我说.mp3")
# song[33*1000:44*1000].export('F://end_of_time_slice.mp3')


# #三 控制音量  音量变大,音量变小
# # 音量变大最好别用  声音容易失真
# from pydub import AudioSegment
# # 1秒=1000毫秒
# SECOND = 1000
# # 导入音乐
# song = AudioSegment.from_mp3("F://那女孩对我说.mp3")
# # 取33秒到70秒间的片段
# song = song[0*SECOND:10*SECOND]
# # 入场部分提高6分贝, 退场部分减少5分贝
# ten_seconds = 5 * SECOND
# last_five_seconds = -5 * SECOND
# beginning = song[:ten_seconds] + 20
# ending = song[last_five_seconds:] - 30
# # 形成新片段
# new_song = beginning + song[ten_seconds:last_five_seconds] + ending
# # 导出音乐
# new_song.export('F://end_of_time_slice.mp3')

# 四重复片段 数组拼接
# from pydub import AudioSegment
# song = AudioSegment.from_mp3("F://那女孩对我说.mp3")
# newsong = (song[0*1000:5*1000])*2
# newsong.export('F://end_of_time_slice.mp3')

# 五音乐渐进渐出 参数就是几秒钟渐进  几秒钟渐出
# from pydub import AudioSegment
# # 导入音乐
# song = AudioSegment.from_mp3("F://那女孩对我说.mp3")
# # 提取片段
# song = song[0*1000:10*1000]
# # 渐进渐出
# awesome = song.fade_in(5000).fade_out(5000)
# # 导出音乐
# awesome.export('F://end_of_time_fade.mp3')

# 六音乐反转
# from pydub import AudioSegment
# # 导入音乐
# song = AudioSegment.from_mp3("F://那女孩对我说.mp3")[0*1000:100*1000]
# # 翻转音乐
# backwards = song.reverse()
# # 导出音乐
# backwards.export("F://end_of_time_reverse.mp3")

# 七画图谱
# 版本一
# import matplotlib.pyplot as plt
# import librosa.display
# # 音乐文件载入
# audio_path = 'F://那女孩对我说.mp3'
# music, sr = librosa.load(audio_path)
# # 宽高比为14:5的图
# plt.figure(figsize=(14, 5))
# librosa.display.waveplot(music, sr=sr)
# # 显示图
# plt.show()

# 版本二
#import matplotlib.pyplot as plt
#import librosa.display
#import numpy as np
#from pydub import AudioSegment
#
## 1秒=1000毫秒
#SECOND = 1000
## 音乐文件
#AUDIO_PATH = 'F://那女孩对我说.mp3'
#
#def split_music(begin, end, filepath):
#    # 导入音乐
#    song = AudioSegment.from_mp3(filepath)
#    # 取begin秒到end秒间的片段
#    song = song[begin * SECOND: end * SECOND]
#    # 存储为临时文件做备份
#    temp_path = "F://临时.mp3"
#    song.export(temp_path)
#    return temp_path
#
#music, sr = librosa.load(split_music(0, 1, AUDIO_PATH))
#
## 宽高比为14:5的图
#plt.figure(figsize=(14, 5))
#librosa.display.waveplot(music, sr=sr)
#plt.show()
#
## 放大
#n0 = 9900
#n1 = 10000
#music = np.array([mic for mic in music if mic > 0])
#plt.figure(figsize=(14, 5))
#plt.plot(music[n0:n1])
#plt.grid()
## 显示图
#plt.show()
相关文章
|
2月前
|
JavaScript
文本,视频网站轮播框如何只播放前五条数据
文本,视频网站轮播框如何只播放前五条数据
|
3月前
|
Java
java实现视频和配音音频的合成
java实现视频和配音音频的合成
|
机器人 语音技术
神器 | 文本转语音,直接可以合成多人多风格音频了!
为了适应更多的音频使用场景和需求,近期我们将文本转语音服务进行了升级,全新的功能将成为你配音工具的不二之选。
404 1
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
LabVIEW播放提示声音或者音乐
使用LabVIEW播放提示声音或者音乐,可在LabVIEW中右键鼠标:函数→声音→输出,选择相应的函数,如下图所示:
|
机器学习/深度学习 人工智能 算法
怎么把一首歌的伴奏提取出来?
怎么把一首歌的伴奏提取出来?
201 0
|
算法
《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题解)
《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题解)
308 0
《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题解)
|
存储 缓存 分布式计算
如何设计歌曲音频指纹索引系统
## 目录 * 音频指纹是什么 * 音频指纹使用场景 * 音频指纹检索主流程 * 指纹检索原理 * 索引检索方案选型 * 机器成本 * 性能考虑 * 如何增量DUMP * 指纹HASH冲突问题 * HASH冲突解决方案 ## 音频指纹是什么 音频指纹技术是指通过特定的算法将一段音频中独一无二的数字特征以标识符的形式提取出来,用于识别海量的声音样本或跟踪定
如何设计歌曲音频指纹索引系统
《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题目)
《信号与系统》实验-使用 MATLAB 进行生成数字音乐、生成乐器音乐、音乐处理与添加音乐特效(题目)
292 0