做思维导图的在线网站,网络建站公司如何做市场,郑州高校网站建设服务公司,宁乡做网站前言#xff1a;
aubio 是一组算法和工具#xff0c;用于标记和变换音乐和声音。它扫描或监听音频信号#xff0c;并尝试识别音乐事件。例如#xff0c;当鼓被击打时#xff0c;它能检测到音符的频率#xff0c;或者一个有节奏的旋律的节拍是多少。
aubio 的功能包括
aubio 是一组算法和工具用于标记和变换音乐和声音。它扫描或监听音频信号并尝试识别音乐事件。例如当鼓被击打时它能检测到音符的频率或者一个有节奏的旋律的节拍是多少。
aubio 的功能包括
在每次打击前对声音文件进行分割进行音高检测敲击节奏从现场音频产生 MIDI 流 Python版本的配置和使用 按照官网的说法异常简单但是,。。。。。
笔者的工作目录github,下载后解压 K:\Prj_EDU\Sw_Proj\Aubio_python 1 python pycharm 版本windows【失败】 $ python -c import aubio; print(aubio.version, aubio.float_type)如果没有安装
1.1 安装AUBIO
1.1.0 用pip安装aubio错误笔者没有实现
错误如下 Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.mirrors.ustc.edu.cn/simple/, https://mirrors.aliyun.com/pypi/simple/, https://pypi.tuna.tsinghua.edu.cn/simple/, http://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.org/simple/ Collecting aubio Using cached aubio-0.4.9.tar.gz (479 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: numpy in k:\prj_edu\sw_proj\aubio_python\aubio_python\.venv\lib\site-packages (from aubio) (1.26.4) Building wheels for collected packages: aubio Building wheel for aubio (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─ [42 lines of output] K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python\.venv\lib\site-packages\setuptools\__init__.py:81: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try pip install --use-pep517. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-39 creating build\lib.win-amd64-cpython-39\aubio copying python\lib\aubio\cmd.py - build\lib.win-amd64-cpython-39\aubio copying python\lib\aubio\cut.py - build\lib.win-amd64-cpython-39\aubio copying python\lib\aubio\midiconv.py - build\lib.win-amd64-cpython-39\aubio copying python\lib\aubio\slicing.py - build\lib.win-amd64-cpython-39\aubio copying python\lib\aubio\__init__.py - build\lib.win-amd64-cpython-39\aubio running build_ext checking for aubio 0.4.9 Running pkg-config --libs --cflags aubio 0.4.9 failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) Info: aubio 0.4.9 was not found by pkg-config Info: looking for *optional* additional packages checking for libavcodec Running pkg-config --libs --cflags libavcodec failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for libavformat Running pkg-config --libs --cflags libavformat failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for libavutil Running pkg-config --libs --cflags libavutil failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for libswresample Running pkg-config --libs --cflags libswresample failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for libavresample Running pkg-config --libs --cflags libavresample failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for sndfile Running pkg-config --libs --cflags sndfile failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) checking for samplerate Running pkg-config --libs --cflags samplerate failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) Info: libaubio was not installed or built locally with waf, adding src/ error: Microsoft Visual C 14.0 or greater is required. Get it with Microsoft C Build Tools: https://visualstudio.microsoft.com/visual-cpp-build-tools/ [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for aubio Running setup.py clean for aubio Failed to build aubio ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (aubio) 尝试用python-pip的包管理 (.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python pip install python-pip Looking in indexes: https://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.mirrors.ustc.edu.cn/simple/, https://mirrors.aliyun.com/pypi/simple/, https://pypi.tuna.tsinghua.edu.cn/simple/, http://pypi.mirrors.ustc.edu.cn/simple/, https://pypi.org/simple/ Collecting python-pip Downloading python_pip-1.1.1-py3-none-any.whl.metadata (1.9 kB) Downloading python_pip-1.1.1-py3-none-any.whl (4.7 kB) Installing collected packages: python-pip Successfully installed python-pip-1.1.1 (.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python\Aubio_Python 结果和上面错误一样没有用。 1.1.1 用conda安装【笔者安装了但是不知道为何无法使用或者不知道如何实验未来在研究吧】
(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python conda config --add channels conda-forge
(.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python conda install -c conda-forge aubioThe following packages will be downloaded: package | build ---------------------------|----------------- aubio-0.4.9 | py37hdcea730_5 256 KB conda-forge ffmpeg-4.3.1 | ha925a31_0 26.2 MB conda-forge ------------------------------------------------------------ Total: 26.4 MB The following NEW packages will be INSTALLED: aubio conda-forge/win-64::aubio-0.4.9-py37hdcea730_5 None ffmpeg conda-forge/win-64::ffmpeg-4.3.1-ha925a31_0 None python_abi conda-forge/win-64::python_abi-3.7-2_cp37m None Proceed ([y]/n)? Downloading and Extracting Packages aubio-0.4.9 | 256 KB | ############################################################################################################################################################################################ | 100% ffmpeg-4.3.1 | 26.2 MB | ############################################################################################################################################################################################ | 100% Preparing transaction: done Verifying transaction: done Executing transaction: done Retrieving notices: ...working... done 1.1.2 pip安装
$ pip install pytest在 Pycharm的调试如下 $ git clone https://git.aubio.org/aubio/aubio
$ cd aubio
$ pytest 参考
Python documentation — aubio 0.4.9 documentation 2 Python版本 pycharm Linux Ubuntu的版本 【成功】 项目地址 frankfrank-virtual-machine:~/Projects/PythonAubio/PrjAubio$ 2.1 在ubuntu上安装pycharm略
2.2 配置环境
2.2.1 安装numpy pip install numpy遇到问题 (.venv) frankfrank-virtual-machine:~/Projects/PythonAubio/PrjAubio$ pip install numpy ERROR: Could not find a version that satisfies the requirement numpy (from versions: none) ERROR: No matching distribution found for numpy 解决
1 安装 python-pip
sudo apt-get install python-pip2 用pip安装numpy,并采用清华的安装包源
pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple【案]如果直接用pip install numpy 会报错
2.2.2 直接安装aubio
pip install aubioCollecting aubio Downloading aubio-0.4.9.tar.gz (479 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 479.0/479.0 kB 21.6 kB/s eta 0:00:00 Preparing metadata (setup.py) ... done Requirement already satisfied: numpy in ./.venv/lib/python3.10/site-packages (from aubio) (1.26.4) Building wheels for collected packages: aubio Building wheel for aubio (setup.py) ... done Created wheel for aubio: filenameaubio-0.4.9-cp310-cp310-linux_x86_64.whl size380355 sha256cabcdaf2ab3bffd631e1fa78608ec6b7857393070e7eebb68108a886c960741a Stored in directory: /home/frank/.cache/pip/wheels/00/30/30/a06fe7e9c7fe740486c219851b2bc1c7ed4a97e9c257efd3d7 Successfully built aubio Installing collected packages: aubio Successfully installed aubio-0.4.9 2.3 使用aubio:
2.3.1 进入aubio/python/demo目录 2.3.2 使用python版本的工具
2.3.2.1 py确认系统安装的python的可用版本 2.3.2.2 运行一个demo (.venv) frankfrank-virtual-machine:~/Projects/aubio/aubio/python/demos$ python3 demo_pitch.py Usage: demo_pitch.py filename [samplerate] 【会给出使用技巧】
python3 demo_pitch.py TestAudio/1.wav 480000.000000 0.000000 0.000000 0.010667 0.000000 0.000000 0.021333 0.000000 0.000000 0.032000 0.000000 0.000000 0.042667 0.000000 0.000000 0.053333 0.000000 0.000000 0.064000 0.000000 0.000000 0.074667 0.000000 0.000000 0.085333 0.000000 0.000000 0.096000 0.000000 0.000000 0.106667 0.000000 0.000000 0.117333 0.000000 0.000000 0.128000 20.157473 0.000000 0.138667 25.830223 0.000000 0.149333 34.323399 0.000000 0.160000 51.689980 0.000000 0.170667 162.232635 0.000000 0.181333 162.232635 0.000000 0.192000 162.232635 0.000000 0.202667 162.232635 0.000000 0.213333 138.269699 0.270921 0.224000 138.326996 0.249590 0.234667 138.321472 0.244399 0.245333 162.232635 0.000000 报错audio的图像画的时候确实python, matplotlib包 2.3.2.3 安装matplotlib (.venv) frankfrank-virtual-machine:~/Projects/aubio/aubio/python/demos$ pip install matplotlib ERROR: Could not find a version that satisfies the requirement matplotlib (from versions: none) ERROR: No matching distribution found for matplotlib [notice] A new release of pip is available: 23.2.1 - 24.0 [notice] To update, run: pip install --upgrade pip 提升pip的版本有点低
解决先sudo apt update更新包的List 然后sudo apt install python3-pip
【案] linux 系统的好处就是配置开源环境的时候比windows的系统方便太多 Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib python-pkg-resources python-setuptools python2 python2-minimal python2.7 python2.7-minimal Use sudo apt autoremove to remove them. The following packages will be REMOVED: python-pip The following NEW packages will be installed: python3-pip 0 upgraded, 1 newly installed, 1 to remove and 113 not upgraded. Need to get 1,305 kB of archives. After this operation, 2,153 kB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 python3-pip all 22.0.2dfsg-1ubuntu0.4 [1,305 kB] Fetched 1,305 kB in 2s (524 kB/s) debconf: unable to initialize frontend: Dialog debconf: (Dialog frontend requires a screen at least 13 lines tall and 31 columns wide.) debconf: falling back to frontend: Readline (Reading database ... 187860 files and directories currently installed.) Removing python-pip (20.3.4dfsg-4) ... Progress: [ 0%] [.....................................................................................................................................................................................................................................................................................] Progress: [ 14%] [#######################################..............................................................................................................................................................................................................................................] Selecting previously unselected package python3-pip.#############################################......................................................................................................................................................................................................] (Reading database ... 187359 files and directories currently installed.) Preparing to unpack .../python3-pip_22.0.2dfsg-1ubuntu0.4_all.deb ... Unpacking python3-pip (22.0.2dfsg-1ubuntu0.4) ...######################################################################################...............................................................................................................................................................] Setting up python3-pip (22.0.2dfsg-1ubuntu0.4) ...#############################################################################################################################.......................................................................................................................] Progress: [ 71%] [#####################################################################################################################################################################################################................................................................................] Processing triggers for man-db (2.10.2-1) ...##################################################################################################################################################################################################################........................................] 然后安装matplotlib
(.venv) frankfrank-virtual-machine:~/Projects/aubio/aubio/python/demos$ pip3 install matplotlib
【案由于源的问题会报错】
改为
pip3 install -i https://pypi.mirrors.ustc.edu.cn/simple/ matplotlib2.3.3 使用demo_notes。py 找到一段音乐的音调
【案笔者先录制了一段D4调号的钢琴音乐然后用识别软件进行测试结果如下] (.venv) frankfrank-virtual-machine:~/Projects/aubio/aubio/python/demos$ python3 demo_notes.py TestAudio/1_D4.wav time [ start vel last ] 1.578957 [ 62. 110. -1.] D4 4.620771 [ 62. 110. 0.] D4 7.407166 [ 62. 110. 0.] D4 由此LINUX环境下的配置成功完结。 参考
GitHub - aubio/aubio: a library for audio and music analysis 问题
1 下载aubio的问题 (.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python git clone https://git.aubio.org/aubio/aubio 程序“git.exe”无法运行: 拒绝访问。所在位置 行:1 字符: 1 git clone https://git.aubio.org/aubio/aubio ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~。 所在位置 行:1 字符: 1 git clone https://git.aubio.org/aubio/aubio ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException FullyQualifiedErrorId : NativeCommandFailed 【解决】如果不能自动下载我们手动下载然后把源码Copy到对应的文件夹也可。
2 Python包的问题 (.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python pytest test session starts platform win32 -- Python 3.9.5, pytest-8.2.0, pluggy-1.5.0 rootdir: K:\Prj_EDU\Sw_Proj\Aubio_python collected 0 items / 29 errors ERRORS _____________________________________________________________________________________________ ERROR collecting python/tests/test_aubio.py _____________________________________________________________________________________________ ImportError while importing test module K:\Prj_EDU\Sw_Proj\Aubio_python\python\tests\test_aubio.py. Hint: make sure your test modules/packages have valid Python names. Traceback: D:\Programs\Python\Python39\lib\importlib\__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) python\tests\test_aubio.py:3: in module from numpy.testing import TestCase E ModuleNotFoundError: No module named numpy ___________________________________________________________________________________________ ERROR collecting python/tests/test_aubio_cut.py ___________________________________________________________________________________________ ImportError while importing test module K:\Prj_EDU\Sw_Proj\Aubio_python\python\tests\test_aubio_cut.py. Hint: make sure your test modules/packages have valid Python names. Traceback: D:\Programs\Python\Python39\lib\importlib\__init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) python\tests\test_aubio_cut.py:3: in module import aubio.cut E ModuleNotFoundError: No module named aubio 【案】大部分报了aubio,和 numpy的包的错误 ,正确安装即可 3 pip install aubio问题
3.1 pip install aubio报错 解决办法 (.venv) PS K:\Prj_EDU\Sw_Proj\Aubio_python .\setup.py clean4 本地编译器版本太低 Running pkg-config --libs --cflags samplerate failed: FileNotFoundError(2, 系统找不到指定的文件。, None, 2, None) Info: libaubio was not installed or built locally with waf, adding src/ error: Microsoft Visual C 14.0 or greater is required. Get it with Microsoft C Build Tools: https://visualstudio.microsoft.com/visual-cpp-build-tools/ [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for aubio Running setup.py clean for aubio Failed to build aubio ERROR: Could not build wheels for aubio, which is required to install pyproject.toml-based projects 参考 1 安装aubio:
Installing aubio — aubio 0.4.9 documentation
python
Installing aubio for Python — aubio 0.4.9 documentation
2 下载aubio
https://aubio.org/download
3 Python的包安装管理手册 PyPA的基本使用
PYPI下的aubio项目地址
aubio · PyPI Installing Packages - Python Packaging User Guide
4 aubio 开源仓库
https://github.com/aubio/aubio
python
aubio/python at master · aubio/aubio · GitHub
各个版本列表
Index of /pub aubio aubio is a collection of tools for music and audio analysis. This package integrates the aubio library with [NumPy] to provide a set of
efficient tools to process and analyse audio signals, including: - read audio from any media file, including videos and remote streams
- high quality phase vocoder, spectral filterbanks, and linear filters
- Mel-Frequency Cepstrum Coefficients and standard spectral descriptors
- detection of note attacks (onset)
- pitch tracking (fundamental frequency estimation)
- beat detection and tempo tracking aubio works with both Python 2 and Python 3. Links
----- - [module documentation][doc_python]
- [installation instructions][doc_python_install]
- [aubio manual][manual]
- [aubio homepage][homepage]
- [issue tracker][bugtracker] Demos
----- Some examples are available in the [python/demos folder][demos_dir]. Each
script is a command line program which accepts one ore more argument. **Notes**: installing additional modules is required to run some of the demos. ### Analysis - demo_source.py uses aubio to read audio samples from media files
- demo_onset_plot.py detects attacks in a sound file and plots the results using [matplotlib]
- demo_pitch.py looks for fundamental frequency in a sound file and plots the results using [matplotlib]
- demo_spectrogram.py, demo_specdesc.py, demo_mfcc.py for spectral analysis. ### Real-time - demo_pyaudio.py and demo_tapthebeat.py use [pyaudio]
- demo_pysoundcard_play.py, demo_pysoundcard.py use [PySoundCard]
- demo_alsa.py uses [pyalsaaudio] ### Others - demo_timestretch.py can change the duration of an input file and write the new sound to disk,
- demo_wav2midi.py detects the notes in a file and uses [mido] to write the results into a MIDI file ### Example Use demo_timestretch_online.py to slow down loop.wav, write the results in
stretched_loop.wav: $ python demo_timestretch_online.py loop.wav stretched_loop.wav 0.92 Built with
---------- The core of aubio is written in C for portability and speed. In addition to
[NumPy], aubio can be optionally built to use one or more of the following
libraries: - media file reading: - [ffmpeg] / [avcodec] to decode and read audio from almost any format, - [libsndfile] to read audio from uncompressed sound files, - [libsamplerate] to re-sample audio signals, - [CoreAudio] to read all media formats supported by macOS, iOS, and tvOS. - hardware acceleration: - [Atlas] and [Blas], for accelerated vector and matrix computations, - [fftw3], to compute fast Fourier Transforms of any size, - [Accelerate] for accelerated FFT and matrix computations (macOS/iOS), - [Intel IPP], accelerated vector computation and FFT implementation. [ffmpeg]: https://ffmpeg.org
[avcodec]: https://libav.org
[libsndfile]: http://www.mega-nerd.com/libsndfile/
[libsamplerate]: http://www.mega-nerd.com/SRC/
[CoreAudio]: https://developer.apple.com/reference/coreaudio
[Atlas]: http://math-atlas.sourceforge.net/
[Blas]: https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms
[fftw3]: http://fftw.org
[Accelerate]: https://developer.apple.com/reference/accelerate
[Intel IPP]: https://software.intel.com/en-us/intel-ipp [demos_dir]:https://github.com/aubio/aubio/tree/master/python/demos
[pyaudio]:https://people.csail.mit.edu/hubert/pyaudio/
[PySoundCard]:https://github.com/bastibe/PySoundCard
[pyalsaaudio]:https://larsimmisch.github.io/pyalsaaudio/
[mido]:https://mido.readthedocs.io [manual]: https://aubio.org/manual/latest/
[doc_python]: https://aubio.org/manual/latest/python.html
[doc_python_install]: https://aubio.org/manual/latest/python_module.html
[homepage]: https://aubio.org
[NumPy]: https://www.numpy.org
[bugtracker]: https://github.com/aubio/aubio/issues
[matplotlib]:https://matplotlib.org/