musicalbeeps

Play sound beeps corresponding to musical notes.


Keywords
music, musical, note, notes, beep, beeps, play, player, sound, frequency, music-player, musical-notes, python3
License
MIT
Install
pip install musicalbeeps==0.2.9

Documentation

MusicalBeeps

GitHub PyPI PyPI - Python Version PyPI - Downloads

A python package to play sound beeps corresponding to musical notes from the command line or another python program.

This package uses the numpy and simplaudio packages.

Installation

From the Python Package Index

pip install musicalbeeps

From source

$ git clone https://github.com/MaelDrapier/MusicalBeeps
$ cd MusicalBeeps
$ python setup.py install

Usage

From the command line

musicalbeeps --help

usage: musicalbeeps [-h] [--silent] [--volume VOLUME] [file]

Play sound beeps corresponding to musical notes.

positional arguments:
  file             a file containing musical notes

optional arguments:
  -h, --help       show this help message and exit
  --silent         disable player output
  --volume VOLUME  volume between 0 and 1 (default=0.3)

how to play notes:
    Notes are read from a file passed as argument, or directly from the
    standard input. Each note must be on a new line.

note format:
    Each note must be formatted like so: 'A5#:1.5' (without quotes)
    Where:
        - 'A' is the note (between A and G, can be lowercase)
        - '5' is the octave (between 0 and 8, default=4)
        - '#' (or 'b') is optional and used to play a sharp or flat note
        - ':1.5' is the duration of the note (1.5 seconds here, default=0.5)

pause:
    You can pause the player by replacing the note by the 'pause' word.
    For exemple, 'pause:5' will pause the player for 5 seconds.

Examples

  • To play a B sharp on octave n°5 for 1.2 seconds: echo "B5#:1.2" | musicalbeeps

  • To play the content of a file: musicalbeeps file_to_play.txt

Example files are provided in the music_scores directory of this repository.

From a python program

import musicalbeeps


player = musicalbeeps.Player(volume = 0.3,
                            mute_output = False)

# Examples:

# To play an A on default octave n°4 for 0.2 seconds
player.play_note("A", 0.2)

# To play a G flat on octave n°3 for 2.5 seconds
player.play_note("G3b", 2.5)

# To play a F sharp on octave n°5 for the default duration of 0.5 seconds
player.play_note("F5#")

# To pause the player for 3.5 seconds
player.play_note("pause", 3.5)

Initializations parameters for the Player class

Name Type Default Description
volume float 0.3 Set the volume. Must be between 0 and 1
mute_output bool False Mute the output displayed when a note is played