Skip to main content

Generate WAVE files

Project description

This project lives at GitHub.


You need Python 3. I don’t want to support Python 2 for now. This is a pure Python package with no other dependencies.

I recommend you install the latest version from PyPI with pip:

pip install wavemaker

The standard distutils installation works too:

tar xzf wavemaker-*.tar.gz
cd wavemaker-*
python install


The command line tool is called make_wave. This is how you use it:

make_wave sine-wave.wav

There is more help built in:

$ make_wave --help
usage: make_wave [-h] [--waveform {sine}] [--frequency FREQUENCY]
                [--amplitude AMPLITUDE] [--duration DURATION]
                [--sample_rate SAMPLE_RATE] [--sample_size {16}]

Generate WAVE files.

positional arguments:
  output_path           The path to the resulting WAVE file

optional arguments:
  -h, --help            show this help message and exit
  --waveform {sine}     The shape of the signal being generated (default:
  --frequency FREQUENCY
                        The oscillating rate of the wave. A non-negative
                        float, in Hz (default: 440.0)
  --amplitude AMPLITUDE
                        The amplitude of the wave. A float between 0.0 and 1.0
                        (default: 1.0)
  --duration DURATION   The time duration of the signal. A non-negative float,
                        in seconds (default: 1.0)
  --sample_rate SAMPLE_RATE
                        The number of samples per second. A non-negative int,
                        in Hz (default: 44100)
  --sample_size {16}    The number of bits used to store each sample (default:


There is a single public API function call. It takes the same arguments that the command line tool does as keyword arguments. Please see the docstring for more:

write_wave_file(output_path, waveform='sine', frequency=440.0, amplitude=1.0,
                duration=1.0, sample_rate=44100, sample_size=16)

Basic usage:

import wavemaker


v0.1.0 - Jan 04, 2014

  • First release.

Project details

Download files

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

Files for wavemaker, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size wavemaker-0.1.0.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page