Metadata-Version: 2.4
Name: musy
Version: 0.0.1
Summary: Toolbox for analyzing, creating and visualizing music
Home-page: https://github.com/CarloLepelaars/musy
Author: Carlo Lepelaars
Author-email: info@carlolepelaars.nl
License: Apache Software License 2.0
Keywords: nbdev jupyter notebook python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastcore
Requires-Dist: mingus
Requires-Dist: MIDIUtil
Requires-Dist: midi-player
Provides-Extra: dev
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# musy


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## Developer Guide

## Usage

### Installation

``` sh
pip install musy
```

### Documentation

Documentation can be found hosted on this GitHub
[repository](https://github.com/CarloLepelaars/musy)’s
[pages](https://CarloLepelaars.github.io/musy/). Additionally you can
find package manager specific guidelines on
[conda](https://anaconda.org/CarloLepelaars/musy) and
[pypi](https://pypi.org/project/musy/) respectively.

## How to use

# Note

``` python
from musy import Note
```

The [`Note`](https://CarloLepelaars.github.io/musy/core.html#note) is
the basic building block from which you can create chords and songs.

``` python
c_sharp = Note("C#")
c_sharp
```

    musy.core.Note(note='C#')

Notes can be added and subtracted to form new notes. Each added integer
represents a semitone.

``` python
c_sharp + 1
```

    musy.core.Note(note='D')

``` python
c_sharp - 1
```

    musy.core.Note(note='C')

``` python
c_sharp + 14
```

    musy.core.Note(note='D#')

Intervals can be obtained by comparing a note with a different note or
string.

``` python
c_sharp.interval("F#")
```

    'perfect fourth'

Shorthand is also available for intervals.

``` python
c_sharp.interval("B", short=True)
```

    'b7'

Notes can be converted to its relative major or minor.

``` python
Note("C").minor()
```

    musy.core.Note(note='A')

``` python
Note("C#").major()
```

    musy.core.Note(note='E')

Note methods can be chained together.

``` python
Note("C").minor().major().augment().diminish().diminish()
```

    musy.core.Note(note='B')

# Chord

TODO: Docs for chord.
