Skip to content

Repository files navigation

PianoScaleAPI

PianoScaleAPI is a comprehensive API designed to provide resources and tools for piano scales and chords. This API allows you to retrieve detailed information about various scales and chords, generate chords based on scales, and analyze harmonic relationships. Future enhancements will include MIDI data integration and VexFlow visualizations.

Key Features

  • Scale Lookup: Retrieve information about various piano scales.
  • Chord Generation: Generate chords based on selected scales.
  • Harmony Analysis: Analyze harmonic relationships between scales and chords.
  • Interactive Tools: Endpoints for scale progression and chord construction.
  • MIDI Integration (Future): Retrieve MIDI data for scales and chords.
  • VexFlow Integration (Future): Visualize scales and chords using VexFlow notation.

Endpoints

/scales

  • GET: Retrieve a list of available scales.
  • GET /{scale}: Get details about a specific scale.
  • GET /{scale}/midi: (Future) Retrieve MIDI data for a specific scale.
  • GET /{scale}/vexflow: (Future) Get VexFlow visualization for a specific scale.

/chords

  • GET: Retrieve a list of available chords.
  • GET /{chord}: Get details about a specific chord.
  • GET /{chord}/midi: (Future) Retrieve MIDI data for a specific chord.
  • GET /{chord}/vexflow: (Future) Get VexFlow visualization for a specific chord.

/harmony

  • POST: Analyze harmonic relationships between scales and chords.

/tools

  • GET /progression: Get scale progression suggestions.
  • GET /construction: Get chord construction advice.

Technologies

  • Programming Language: Python/Node.js
  • Framework: Express/Flask
  • Database: MongoDB/PostgreSQL
  • MIDI Integration: mido (Python) or equivalent
  • VexFlow Integration: For visual notation

Development Steps

  1. Define API Endpoints and Specifications
  2. Set Up Development Environment
  3. Implement Core API Endpoints
  4. Integrate MIDI Data (Future)
  5. Add VexFlow Visualizations (Future)
  6. Test API Functionality
  7. Deploy API to Hosting Platform
  8. Create Documentation

Contributing

Contributions are welcome! Please open an issue or submit a pull request with improvements, bug fixes, or new features.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

For any questions or feedback, please contact your-email@example.com.

About

PianoScaleAPI provides tools for working with piano scales and chords. Retrieve detailed scale information, generate chords, and analyze harmonic relationships. Future features include MIDI data and VexFlow visualizations. Ideal for musicians, educators, and developers integrating musical theory into apps.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages