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()
相关文章
|
1月前
|
JavaScript
ThreeJs的音频和位置音频
这篇文章详细介绍了在Three.js中如何使用Audio和PositionalAudio来实现普通音频和位置相关的音频效果,包括音频加载、音量控制以及如何根据位置变化调整音频的播放。
21 1
|
4月前
|
JavaScript
文本,视频网站轮播框如何只播放前五条数据
文本,视频网站轮播框如何只播放前五条数据
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
|
对象存储
视屏截取帧率转为图片
视屏截取帧率转为图片
|
机器学习/深度学习 人工智能 算法
怎么把一首歌的伴奏提取出来?
怎么把一首歌的伴奏提取出来?
227 0
|
存储 缓存 分布式计算
如何设计歌曲音频指纹索引系统
## 目录 * 音频指纹是什么 * 音频指纹使用场景 * 音频指纹检索主流程 * 指纹检索原理 * 索引检索方案选型 * 机器成本 * 性能考虑 * 如何增量DUMP * 指纹HASH冲突问题 * HASH冲突解决方案 ## 音频指纹是什么 音频指纹技术是指通过特定的算法将一段音频中独一无二的数字特征以标识符的形式提取出来,用于识别海量的声音样本或跟踪定
如何设计歌曲音频指纹索引系统
|
JSON API 数据格式
基于Qt的网络音乐播放器(四)酷狗API接口获取歌曲的搜索列表和歌曲的播放
基于Qt的网络音乐播放器(四)酷狗API接口获取歌曲的搜索列表和歌曲的播放
基于Qt的网络音乐播放器(四)酷狗API接口获取歌曲的搜索列表和歌曲的播放
|
JSON Java API
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
1065 0
基于Qt的音乐播放器(三)通过酷狗音乐的api接口,返回json格式歌曲信息(播放地址,歌词,图片)
为什么电影24帧就够了,游戏60帧还要提高?
这个问题亦困扰了吾很久。后来找了一篇文章,感觉自己看明白了。在此总结一下。
126 0