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

Release history Release notifications

This version
History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
wavemaker-0.1.0.tar.gz (5.0 kB) Copy SHA256 hash SHA256 Source None Jan 4, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page