Skip to main content

Extract and separate audio signals by pitch from `.mp3` or `.wav` files.

Project description

audio-pitch-separation

Extract and separate audio signals by pitch from .mp3 or .wav files. Harmonic, percussive, and note-wise components are visualized and saved as .wav files automatically.

track visualization

Features

  • Supports both mp3 and wav audio input
  • Separates harmonic & percussive components using HPSS
  • Extracts note-wise waveforms via Constant-Q Transform (CQT)
  • Visualizes all audio tracks as waveform plots
  • Saves each pitch as an individual .wav file
  • Easy GUI file picker (via PyQt5)

Installation

pip install audipart

Usage

python -m audipart
  1. A GUI window will prompt you to select an .mp3 or .wav audio file.
  2. From the selected audio, the following will be generated:
    • harmonic.wav and percussive.wav using HPSS
    • .wav files for each pitch from C2 to C8
    • A waveform plot saved as figure.png
  3. All output files will be saved in a new folder named after the input file (excluding the extension).

you can also import audipart like this demo.

Example

For example, if you select song.mp3, the following directory will be created:

song/
├── harmonic.wav
├── percussive.wav
├── C2.wav
├── C#2.wav
├── ...
├── C8.wav
└── figure.png

TODO

  • Extract note-wise MIDI representation

License

MIT License.

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audipart-0.0.2.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

audipart-0.0.2-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file audipart-0.0.2.tar.gz.

File metadata

  • Download URL: audipart-0.0.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for audipart-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1be086d65d69c02e22022c2b8649c5d96ed74b3dcd78832be56b7b800a7b3db3
MD5 b6bd67d620636a443201247c57cf48f2
BLAKE2b-256 55915639ce557fc849a2c21aa30264c299be7f96b4bbcf8ca6a2f4138cac6bcc

See more details on using hashes here.

File details

Details for the file audipart-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: audipart-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.16

File hashes

Hashes for audipart-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 77141a1c2cd5b2bb2a07e17173e6162de3b27848d61c8b3ba3f816a6b6bd7b91
MD5 7508b0d8769e2d2acc73d00289df8fab
BLAKE2b-256 68433c80c54b52b975ef1f7a5a2ff1c72b038ba5bafca9f69f584b3891d9e58c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page