Metadata-Version: 2.1
Name: soothingsounds
Version: 1.0.0
Summary: Generate a variety of white/brown/pink noises good for relaxation
Home-page: https://github.com/scivision/soothing-sounds
Author: Michael Hirsch, Ph.D
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: tests
Provides-Extra: io
Requires-Dist: numpy
Requires-Dist: sounddevice
Provides-Extra: io
Requires-Dist: scipy; extra == 'io'
Requires-Dist: pyfftw; extra == 'io'
Provides-Extra: tests
Requires-Dist: pytest; extra == 'tests'
Requires-Dist: coveralls; extra == 'tests'
Requires-Dist: flake8; extra == 'tests'
Requires-Dist: mypy; extra == 'tests'

[![image](https://travis-ci.org/scivision/soothing-sounds.svg)](https://travis-ci.org/scivision/soothing-sounds)
[![image](https://coveralls.io/repos/scivision/soothing-sounds/badge.svg)](https://coveralls.io/r/scivision/soothing-sounds)
[![Build status](https://ci.appveyor.com/api/projects/status/bg0wym66ousyk657?svg=true)](https://ci.appveyor.com/project/scivision/soothing-sounds)

# Soothing Sounds Generator


An acoustically pleasing Python code, targeted initially for Raspberry Pi, but should run almost anywhere. 
Uses lightweight, pure Python
[SoundDevice](https://pypi.org/project/sounddevice/)
to generate sounds.
Optionally, other sound playback Python packages can be used.

I have used the outputs of this program written to SD cards, played on media players in multiple locations for a few years.

## Install

    pip install -e .

## Usage

The noise `color` option is one of

> white pink blue violet brown

the examples will use pink noise.

### Play sound from speakers

    python soothing.py pink

### save sound to disk


1. generate raw sound file: `python soothing.py pink -o pink.raw`
2. convert raw to lossless FLAC (playable in almost all media players, computer, phone etc.)
   ```bash
   ffmpeg -f s16le -ar 16000 -ac 1 -i pink.raw pink.fla
   ``` 


## Notes

The core noise generation code is almost entirely from 
[Python Acoustics](https://github.com/python-acoustics/python-acoustics)

### optional high performance Python FFTW install:

    sudo apt-get install libfftw3-dev

### Optional PyAudio

* Linux: `apt install portaudio19-dev libjack-dev libjack0`
* Mac: ` brew install portaudio`

and then:

    pip install pyaudio


### Optional Pygame

Pick one of the following methods to install pygame

#### pip

simplest way for PCs, but may require compiling for ARM CPU:

    pip install pygame

#### Linux distro
For ARM CPU, this is the best choice generally for PyGame.

    apt install python-pygame

#### compile Pygame via pip
Usually you don't want to bother with this

    apt install mercurial libflac-dev libmad0-dev libmikmod2-dev libogg-dev libportmidi-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev libvorbis-dev libwebp-dev libwebpdemux1 sharutils libswscale-dev libavformat-dev

    pip install hg+http://bitbucket.org/pygame/pygame


    cd /tmp

    hg clone http://bitbucket.org/pygame/pygame

    cd /tmp/pygame

    python setup.py build

    python setup.py install


