Metadata-Version: 2.1
Name: pytunesmith
Version: 0.1.2
Summary: PyTuneSmith: A Python library for creating and manipulating music.
Author: micha2718l
Author-email: micha2718l@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: gtts (>=2.5.1,<3.0.0)
Requires-Dist: numpy (>=1.26.4,<2.0.0)
Requires-Dist: pretty-midi (>=0.2.10,<0.3.0)
Requires-Dist: pydub (>=0.25.1,<0.26.0)
Requires-Dist: pyfluidsynth (>=1.3.3,<2.0.0)
Requires-Dist: scipy (>=1.12.0,<2.0.0)
Description-Content-Type: text/markdown

# PyTuneSmith

PyTuneSmith is a Python library designed for creating and manipulating music. It provides tools for generating musical compositions, applying audio effects, and synthesizing audio from musical scores.

## Features

- **Musical Composition:** Create musical compositions with ease, defining melodies, harmonies, and rhythms programmatically.
- **Audio Effects:** Apply various audio effects to your compositions, such as convolution and gain adjustments, to enhance the sound.
- **Lyrics Synthesis:** Integrate lyrics into your compositions with adjustable playback speeds and apply effects to the vocal tracks.
- **MIDI Synthesis:** Convert your compositions into MIDI format for further processing or playback using external synthesizers.

## Installation

PyTuneSmith can be installed using Poetry:

```bash
poetry add pytunesmith
```

Usage
Here's a simple example of how to create a song with PyTuneSmith:

```python
import pytunesmith

# Define the song structure
song = pytunesmith.Song(tempo=120)

# Add a piano track
piano_track = pytunesmith.InstrumentTrack(
    name="Acoustic Grand Piano",
    melody=[('C4', 0, 1), ('E4', 1, 2), ('G4', 2, 3)]
)
song.add_instrument_track(piano_track)

# Add lyrics
lyrics_track = pytunesmith.LyricsTrack(
    lyrics=[("Hello", 1), ("world", 2)]
)
song.set_lyrics_track(lyrics_track)

# Export the song to a WAV file
song.export("hello_world_song.wav")
```

## Collaboration with an LLM
PyTuneSmith is not just a library; it's a testament to the power of collaboration between humans and AI. A significant portion of this project was authored and constructed with the help of a Large Language Model (LLM), with guidance and direction provided by a human developer. This unique collaboration has allowed for the rapid development and refinement of the library, showcasing the potential of AI-assisted programming.

## Contributing
Contributions to PyTuneSmith are welcome! If you have ideas for new features, improvements, or bug fixes, feel free to open an issue or submit a pull request.

## License
PyTuneSmith is released under the MIT License. See the LICENSE file for more details.
