Skip to main content

Does audio feature extraction and suggest the feasible volumne for better feeling and experience.

Project description

✔ PyVolSuggester Package

  • A Python package to provide suggestion on volume at which the music audio file needs to be played for better experience and feeling.
  • In backend, it extracts various generic features for particular audio and analyze among them and provide feedback on volumne on it.
  • This tools helps in maintaining good vibes along the music playout.

PyVolSuggester PyPi

GitHub Repo stars GitHub Repo forks GitHub Repo watchers GitHub contributors

GitHub language count GitHub top language GitHub repo file count GitHub repo size

GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests

GitHub commit activity GitHub commit activity/year GitHub commit activity/month GitHub commit activity/week GitHub last commit GitHub Discussions

PyPI - Downloads per day PyPI - Downloads per week PyPI - Downloads per month

PyPI Version PyPI - Implementation PyPI - Python Version PyPI - Format PyPI - Status

GitHub all releases GitHub release version (latest by date) GitHub tag (latest by date) GitHub Release Date GitHub (Pre-)Release Date

Github

image


📌How this Script works :

  • First user need to download the script and run Volume Suggester.py in the local system.
  • After running it, user will be prompted to select an audio file(mp3 file) using dialog box.
  • Once user has selected the audio file, following feature extraction and analysis graph will be generated at the backend.
    • Generic Audio Features:
      • Channels : (number of channels; 1 for mono, 2 for stereo audio)
      • Sample Width : (number of bytes per sample; 1 means 8-bit, 2 means 16-bit)
      • Frame Rate / Sample Rate : (frequency of samples used (in Hertz))
      • Frame Width : (Number of bytes for each “frame”. One frame contains a sample for each channel.)
      • Audio Length / Duration : (audio file length (in milliseconds))
      • Frame Count : (the number of frames from the sample)
      • Intensity : (loudness in dBFS (dB relative to the maximum possible loudness))
    • Plot on Amplitude over Time Analysis
    • Following Derived Audio Features:
      • Spectogram
      • RMS/Energy Spectogram
      • Zero Crossing Rate
      • Mel Frequency Cepstral Coefficients
      • Mel Frequency Spectogram
      • Chroma Feature
      • Tempogram
  • After these feature extraction is done, user will be able to Play/Pause(using CTRL button) and Stop(using ESC button) the selected song.

📌Input/Output Deliverables:

- Input: 
    - Single Audio File (.mp3)

- Output:
    - Output Folder consisting of different feature extraction

📌Features:

  • Implemented following features in the package:
    1. Generic Audio Features:

      • Channels : (number of channels; 1 for mono, 2 for stereo audio)
      • Sample Width : (number of bytes per sample; 1 means 8-bit, 2 means 16-bit)
      • Frame Rate / Sample Rate : (frequency of samples used (in Hertz))
      • Frame Width : (Number of bytes for each “frame”. One frame contains a sample for each channel.)
      • Audio Length / Duration : (audio file length (in milliseconds))
      • Frame Count : (the number of frames from the sample)
      • Intensity : (loudness in dBFS (dB relative to the maximum possible loudness))
    2. Derived Audio Features:

      • Amplitude over Time
      • Spectogram
      • RMS/Energy Spectogram
      • Zero Crossing Rate
      • Mel Frequency Cepstral Coefficients
      • Mel Frequency Spectogram
      • Chroma Feature
      • Tempogram
    3. Player for playing selected audio file

    4. Suggestion on volume on the basis of various feature extraction.


📌Prerequisites:

  • In order to use this package, one need to ensure the following requirements:
    • Python 3.7 or later installed on your machine.
    • ffmpeg pacakge must be installed and its PATH must be added to Environment variables.

📌Package Usage

This command will import the PyVolSuggester module.

import PyVolSuggester

This command will install all the uninstalled required libraries used in script.

from PyVolSuggester import Suggester

This will prompt user for input of ffmpeg path and audio file selection(.wav format).

Suggester.main()

This will extract the generic features of the selected audio file.

Suggester.extract()

This will allow user to play, plause and stop the audio file.

Suggester.play_pause_stop()

This will generate a amplitude over time plot and save it as an image to output directory.

Suggester.amplitude_wave()

This will generate a spectogram plot and save it as an image to output directory.

Suggester.spectogram()

This will generate a RMS/Energy Spectogram plot and save it as an image to output directory.

Suggester.rms_energy_spectogram()

This will generate a Zero Crossing Rate plot and save it as an image to output directory.

Suggester.zero_crossing_rate()

This will generate a Mel Frequency Cepstral Coefficients plot and save it as an image to output directory.

Suggester.mel_frequency_cepstral_coefficients()

This will generate a Mel Frequency Spectogram plot and save it as an image to output directory.

Suggester.mel_frequency_spectogram()

This will generate a Chroma Feature plot and save it as an image to output directory.

Suggester.chroma_feature()

This will generate a tempogram plot and save it as an image to output directory.

Suggester.tempogram()

This will suggest user the most feasible volume for that particular audio.

Suggester.suggest_volume()

📌Package Installation

pip install PyVolSuggester

🌟Stargazers Over Time:

Stargazers repo roster for @akash-rajak/PyVolSuggester Stargazers over time


🌟Forkers Over Time:

Forkers repo roster for @akash-rajak/PyVolSuggester


📌Contributors:

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

pyvolsuggester-1.1.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

pyvolsuggester-1.1.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

Details for the file pyvolsuggester-1.1.1.tar.gz.

File metadata

  • Download URL: pyvolsuggester-1.1.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pyvolsuggester-1.1.1.tar.gz
Algorithm Hash digest
SHA256 f01d60254b3b31bcd6c01e11a60a43653a5b0639b075d0b89843892775012aae
MD5 c7073aa2fecd90795d92efea403d2b5a
BLAKE2b-256 08b7579fce63af21025e48ecd34303626f4c31f591151b6165af2e719388d605

See more details on using hashes here.

File details

Details for the file pyvolsuggester-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyvolsuggester-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bb93e3c831a7c9a627a9b33cc1b826a821c25535fc4bcc17fb6eaf24906a30c4
MD5 97bfa7af1d821f11e73799e4b42a0594
BLAKE2b-256 c9203a53b77e0e7480d5e220e1d68838103696be613ca9c27ee5bd3ee67731bc

See more details on using hashes here.

Supported by

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