Skip to main content

Python audio augmentation

Project description

:bell: pydiogment

Build Status Documentation Status License Python Coverage Status Coverage Status

pydiogment aims to simplify audio augmentation. It generates multiple audio files based on a starting mono audio file. The library can generates files with higher speed, slower, and different tones etc.

:inbox_tray: Installation

Dependencies

pydiogment requires:

  • Python (>= 3.5)

  • NumPy (>= 1.17.2) pip install numpy

  • SciPy (>= 1.3.1) pip install scipy

  • FFmpeg sudo apt install ffmpeg

Installation

If you already have a working installation of numpy and scipy, you can simply install pydiogment using pip:

pip install -U pydiogment

:bulb: How to use

  • Amplitude related augmentation

    • Apply a fade in and fade out effect

      from pydiogment.auga import fade_in_and_out
      
      test_file = "path/test.wav"
      fade_in_and_out(test_file)
      
    • Apply gain to file

      from pydiogment.auga import apply_gain
      
      test_file = "path/test.wav"
      apply_gain(test_file, -100)
      apply_gain(test_file, -50)
      
    • Add Random Gaussian Noise based on SNR to file

      from pydiogment.auga import add_noise
      
      test_file = "path/test.wav"
      add_noise(test_file, 10)
      
  • Frequency related augmentation

    • Change file tone

      from pydiogment.augf import change_tone
      
      test_file = "path/test.wav"
      change_tone(test_file, 0.9)
      change_tone(test_file, 1.1)
      
  • Time related augmentation

    • Slow-down/ speed-up file

      from pydiogment.augt import slowdown, speed
      
      test_file = "path/test.wav"
      slowdown(test_file, coefficient=0.8)
      speed(test_file, coefficient=1.2)
      
    • Apply random cropping to the file

      from pydiogment.augt import random_cropping
      
      test_file = "path/test.wav"
      random_cropping(test_file, 1)
      
    • Change shift data on the time axis in a certain direction

      from pydiogment.augt import shift_time
      
      test_file = "path/test.wav"
      shift_time(test_file, 1,"right")
      shift_time(test_file, 1,"left")
      

:bookmark_tabs: Documentation

A thorough documentation of the library is available under pydiogment.readthedocs.io.

:construction_worker: Contributing

Contributions are welcome and encouraged. To learn more about how to contribute to pydiogment please refer to the Contributing guidelines

:tada: Acknowledgment and credits

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

pydiogment-0.0.2.tar.gz (9.7 kB view hashes)

Uploaded Source

Built Distribution

pydiogment-0.0.2-py3-none-any.whl (13.2 kB view hashes)

Uploaded Python 3

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