A collection of python scripts for extracting and analyzing acoustics from audio files.

Related tags

AudiopyAcoustics
Overview

pyAcoustics

https://img.shields.io/badge/license-MIT-blue.svg?

A collection of python scripts for extracting and analyzing acoustics from audio files.

1   Common Use Cases

What can you do with this library?

  • Extract pitch and intensity:

    pyacoustics.intensity_and_pitch.praat_pi.getPraatPitchAndIntensity()
    
  • Extract segments of a wav file:

    pyacoustics.signals.audio_scripts.getSubwav()
    
  • Perform simple manipulations on wav files:

    pyacoustics.signals.resampleAudio()
    
    pyacoustics.signals.splitStereoAudio()
    
  • Split audio files on segments of silence or on pure tones:

    pyacoustics.speech_detection.split_on_tone.splitFileOnTone()
    
  • Programmatically manipulate pitch or duration of a file:

    pyacoustics.morph.morph_utils.praat_pitch()
    
  • Mask speech with speech shaped noise:

    pyacoustics.speech_filters.speech_shaped_noise.batchMaskSpeakerData()
    
  • And more!

2   Major revisions

Ver 1.0 (June 7, 2015)

  • first public release.

3   Features as they are added

Mask speech with speech shaped noise (March 21, 2016)

Find syllable nuclei/estimate speech rate using Uwe Reichel's matlab code (July 29, 2015)

Find the valley bottom between peaks (July 7th, 2015)

4   Requirements

Many of the individual features require different packages. If you aren't using those packages then you don't need to install the dependencies.

pyacoustics.intensity_and_pitch.praat_pi requires praat

pyacoustics.intensity_and_pitch.get_f0 requires the ESPS getF0 function as implemented by Snack although I recall having difficulty installing it.

pyacoustics.speech_rate/dictionary_estimate.py requires my library psyle

pyacoustics.signals.data_fitting.py requires SciPy, NumPy, and scikit-learn

My praatIO library is used extensively and can be downloaded here

5   Installation

If you on Windows, you can use the installer found here (check that it is up to date though) Windows installer

PyAcoustics is on pypi and can be installed or upgraded from the command-line shell with pip like so:

python -m pip install pyacoustics --upgrade

Otherwise, to manually install, after downloading the source from github, from a command-line shell, navigate to the directory containing setup.py and type:

python setup.py install

If python is not in your path, you'll need to enter the full path e.g.:

C:\Python36\python.exe setup.py install

6   Example usage

See the example folders for a few real-world examples using this library.

  • examples/split_audio_on_silence.py

    Detects the presence of speech in a recording based on acoustic intensity. Everything louder than some threshold specified by the user is considered speech.

  • examples/split_audio_on_tone.py

    Detects the presence of pure tones in a recording. One can use this to automatically segment stimuli. Beeps can be played while the speech is being recorded and then later this tool can automatically segment the speech, based on the presence of those tones.

    Also detects speech using a pitch analysis. Most syllables contain some voicing, so a stream of modulating pitch values suggests that someone is speaking. This aspect is not extensively tested but it works well for the example files.

  • examples/estimate_speech_rate.py

    Calculates the speech rate through a matlab script written by Uwe Reichel that estimates the location of syllable boundaries.

7   Citing LMEDS

PyAcoustics is general purpose coding and doesn't need to be cited but if you would like to, it can be cited like so:

Tim Mahrt. PyAcoustics. https://github.com/timmahrt/pyAcoustics, 2016.

8   Acknowledgements

PyAcoustics is an ongoing collection of code with contributions from a number of projects worked on over several years. Development of various aspects of PyAcoustics was possible thanks to NSF grant IIS 07-03624 to Jennifer Cole and Mark Hasegawa-Johnson, NSF grant BCS 12-51343 to Jennifer Cole, José Hualde, and Caroline Smith, and NSF grant IBSS SMA 14-16791 to Jennifer Cole, Nancy McElwain, and Daniel Berry.

Owner
Tim
I write tools for working with speech data.
Tim
Library for Python 3 to communicate with the Google Chromecast.

pychromecast Library for Python 3.6+ to communicate with the Google Chromecast. It currently supports: Auto discovering connected Chromecasts on the n

Home Assistant Libraries 2.4k Jan 02, 2023
C++ library for audio and music analysis, description and synthesis, including Python bindings

Essentia Essentia is an open-source C++ library for audio analysis and audio-based music information retrieval released under the Affero GPL license.

Music Technology Group - Universitat Pompeu Fabra 2.3k Jan 03, 2023
Music player - endlessly plays your music

Music player First, if you wonder about what is supposed to be a music player or what makes a music player different from a simple media player, read

Albert Zeyer 482 Dec 19, 2022
GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

GiantMIDI-Piano is a classical piano MIDI dataset contains 10,854 MIDI files of 2,786 composers

Bytedance Inc. 1.3k Jan 04, 2023
A Python wrapper for the high-quality vocoder "World"

PyWORLD - A Python wrapper of WORLD Vocoder Linux Windows WORLD Vocoder is a fast and high-quality vocoder which parameterizes speech into three compo

Jeremy Hsu 583 Dec 15, 2022
📺Headless全自动B站直播录播、切片、上传一体工具

DDRecorder Headless全自动B站直播录播、切片、上传一体工具 感谢 FortuneDayssss/BilibiliUploader 安装指南(Windows) 在Release下载zip包解压。 修改配置文件config.json 双击运行DDRecorder.exe (这将使用co

322 Dec 27, 2022
Mentos Music Bot With Python

Mentos Music Bot For Any Query Join Our Support Group 👥 Special Thanks - @OfficialYukki Hey Welcome To Here 💫 💫 You Can Make Your Own Music Bot Fo

Cyber Toxic 13 Oct 21, 2022
Python library for audio and music analysis

librosa A python package for music and audio analysis. Documentation See https://librosa.org/doc/ for a complete reference manual and introductory tut

librosa 5.6k Jan 06, 2023
An audio digital processing toolbox based on a workflow/pipeline principle

AudioTK Audio ToolKit is a set of audio filters. It helps assembling workflows for specific audio processing workloads. The audio workflow is split in

Matthieu Brucher 238 Oct 18, 2022
Python implementation of the Short Term Objective Intelligibility measure

Python implementation of STOI Implementation of the classical and extended Short Term Objective Intelligibility measures Intelligibility measure which

Pariente Manuel 250 Dec 21, 2022
A Python wrapper around the Soundcloud API

soundcloud-python A friendly wrapper around the Soundcloud API. Installation To install soundcloud-python, simply: pip install soundcloud Or if you'r

SoundCloud 84 Dec 31, 2022
Python tools for the corpus analysis of popular music.

CATCHY Corpus Analysis Tools for Computational Hook discovery Python tools for the corpus analysis of popular music recordings. The tools can be used

Jan VB 20 Aug 20, 2022
nicfit 425 Jan 01, 2023
Praat in Python, the Pythonic way

Parselmouth - Praat in Python, the Pythonic way Parselmouth is a Python library for the Praat software. Though other attempts have been made at portin

Yannick Jadoul 786 Jan 09, 2023
Mousai is a simple application that can identify song like Shazam

Mousai is a simple application that can identify song like Shazam. It saves the artist, album, and title of the identified song in a JSON file.

Dave Patrick 662 Jan 07, 2023
Terminal-based music player written in Python for the best music in the world 🎵 🎧 💻

audius-terminal-player Terminal-based music player written in Python for the best music in the world 🎵 🎧 💻 Browse and listen to Audius from the com

Audius 21 Jul 23, 2022
Any-to-any voice conversion using synthetic specific-speaker speeches as intermedium features

MediumVC MediumVC is an utterance-level method towards any-to-any VC. Before that, we propose SingleVC to perform A2O tasks(Xi → Ŷi) , Xi means utter

谷下雨 47 Dec 25, 2022
An audio guide for destroying oracles in Destiny's Vault of Glass raid

prophet An audio guide for destroying oracles in Destiny's Vault of Glass raid. This project allows you to make any encounter with oracles without hav

24 Sep 15, 2022
This bot can stream audio or video files and urls in telegram voice chats

Voice Chat Streamer This bot can stream audio or video files and urls in telegram voice chats :) 🎯 Follow me and star this repo for more telegram bot

WiskeyWorm 4 Oct 09, 2022
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022