zoukankan      html  css  js  c++  java
  • Atitit 读取音频音乐文件的bpm 目录 1.1. Librosa是一个用于音频、音乐分析、处理的python工具包, 1 1.2. \bpm.py 1 1.3. Echo 2 1.4. Cod

    Atitit 读取音频音乐文件的bpm

     

    目录

    1.1. Librosa是一个用于音频、音乐分析、处理的python工具包, 1

    1.2. \bpm.py 1

    1.3. Echo 2

    1.4. Code desc 2

    1.5. ref 4

     

     

      1. Librosa是一个用于音频、音乐分析、处理的python工具包,

    一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。本文主要介绍librosa的安装与使用方法。

    Librosa大概总共50M

     

      1. \bpm.py

    # thie file encode is utf8

    #djddd    C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe  D:\00wkspc\bpm.py

    import librosa

    import numpy as np

     

    yy ,sr = librosa.load('D:\\00000\\不仅仅是喜欢_孙语赛_不仅仅是喜欢.mp3')

    onset_env = librosa.onset.onset_strength(yy, sr=sr, hop_length=512, aggregate=np.median)

    tempo, _ = librosa.beat.beat_track(onset_envelope=onset_env, sr=sr)

    print(tempo)

    #tempo就是你们要的bpm

    #sr is samp rate

     

      1. Echo

     

    C:\Users\Administrator>C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe  D:\00wkspc\bpm.py

    112.34714673913044

     

      1. Code desc

     

    import librosa
    import numpy as np
    yy ,sr = librosa.load('xx.mp3')
    onset_env = librosa.onset.onset_strength(y, sr=sr, hop_length=512, aggregate=np.median)
    tempo, _ = librosa.beat.beat_track(onset_envelope=onset_env, sr=sr)
    tempo就是你们要的bpm

     

     

     

    >>> # Load a wav file

    >>> y, sr = librosa.load('./beat.wav')

    >>> y

    array([  0.00000000e+00,   0.00000000e+00,   0.00000000e+00, ...,

             8.12290182e-06,   1.34394732e-05,   0.00000000e+00], dtype=float32)

    >>> sr

    22050

    Librosa默认的采样率是22050,如果需要读取原始采样率,需要设定参数sr=None:

    ---------------------

     可见,'beat.wav'的原始采样率为44100。如果需要重采样,只需要将采样率参数sr设定为你需要的值:

     

     

     

      1. ref

    (9+条消息)音频处理库—librosa的安装与使用 - z小白的博客 - CSDN博客.html

  • 相关阅读:
    滚轮事件
    键盘事件
    运动(学习)
    事件(没有尽头的待完善)
    js 盒子模型(没写完)
    Number 数字相关的方法, 强制 、隐式类型转换 、进制之间转换
    操作DOM 和 节点
    DOM
    Object 的一些静态方法 、 for-in 循环、Object.keys() 、Object.values()、Object.entries()
    删除字段
  • 原文地址:https://www.cnblogs.com/attilax/p/15197201.html
Copyright © 2011-2022 走看看