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()
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
【医学知识图谱构建】基于有监督对比学习的上下位关系预测
背景 & 挑战(Background & Challenge)随着人工智能和医疗行业的蓬勃发展,各种医疗知识库与医疗知识图谱的构建已成为精准医学领域的研究热点。大数据时代,随着医疗系统的信息化发展,医疗领域已经积累了海量的数据。医疗知识图谱所具有的数据集成能力和知识推理能力能够将大量的医疗数据进行有序整合并应用到各类医疗场景中。目前在医疗领域,国外已经构建了一些知识库,比如医学主题
1845 1
【医学知识图谱构建】基于有监督对比学习的上下位关系预测
|
机器学习/深度学习 存储 编解码
如何提取歌曲副歌(高潮)
### 摘要 副歌就是我们日常说的高潮。 副歌分析属于MIR领域的一个小分支,MIR(Music information retrieval)是从音乐中检索信息的跨学科科学,该领域需要数学、乐理、信号处理、机器学习、概率、算法等学科的背景知识。 ### 业界类似方案 - 1:根据能量值、音高区间差异定位 - 2:根据动态歌词定位 - 3:谱聚类&能量值 第一种方式太简单暴
如何提取歌曲副歌(高潮)
|
消息中间件 缓存 监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
springboot的热部署、配置的宽松绑定和校验、任务、邮件、监控、springboot整合JdbcTemplate,h2等sql技术、整合redis,mongodb,es等nosql技术、整合redis,Memcached,jetcache,j2cache等缓存技术、整合ActiveMQ,RabbitMQ,RocketMQ,Kafka等消息的中间件的入门、整合缓存/任务/邮件/监控
【Java笔记+踩坑】SpringBoot基础3——开发。热部署+配置高级+整合NoSQL/缓存/任务/邮件/监控
|
安全 网络架构
|
机器学习/深度学习 自动驾驶 算法
ONNX 在自动驾驶汽车中的应用案例
【8月更文第27天】随着自动驾驶技术的快速发展,高效的模型部署和跨平台的支持变得尤为重要。Open Neural Network Exchange (ONNX) 作为一种开放的模型格式,可以促进不同深度学习框架之间的模型转换,同时支持多种硬件平台上的高效执行。本文将探讨 ONNX 在自动驾驶系统中的应用,特别是如何在感知、决策和控制等核心环节中发挥作用。
691 3
|
前端开发 UED
触屏新体验:CSS动画让移动端底部导航活起来!
触屏新体验:CSS动画让移动端底部导航活起来!
|
Dart
Flutter笔记:手动配置VSCode中Dart代码自动格式化
Flutter笔记:手动配置VSCode中Dart代码自动格式化
1688 5
|
数据采集 数据库 Python
为什么基于 Django 和 Scrapy 的项目需要 @sync_to_async 装饰器
通过使用 @sync_to_async 装饰器,我们可以在 Scrapy 的异步环境中高效地调用同步的 Django ORM 操作。这样可以避免阻塞事件循环,充分利用 Scrapy 的异步 I/O 优势,从而提升爬虫的性能和并发处理能力。在构建基于 Django 和 Scrapy 的项目时,理解并正确使用 @sync_to_async 是非常重要的,这将帮助你构建高效、健壮的应用程序。
|
Ubuntu 关系型数据库 MySQL
Mysql8.0在Ubuntu安装
Mysql8.0在Ubuntu安装
数仓模型建设
数仓模型建设
347 1