Code Monkey home page Code Monkey logo

musicalbeeps's Introduction

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

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)

Initialization 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

musicalbeeps's People

Contributors

maeldrapier avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.