Introduction to Song Maker

Song Maker is an advanced tool designed to assist with musical composition, arrangement, and analysis. It leverages the power of music21 and other musical libraries to create, modify, and analyze music in various formats, including MIDI and MusicXML. By using ABC notation, Song Maker allows users to define intricate musical pieces easily, accommodating various musical elements such as dynamics, chords, and rhythmic patterns. For example, Song Maker can convert a MIDI file into ABC notation for detailed analysis, allowing musicians to identify motifs and patterns in their compositions.

Main Functions of Song Maker

  • Music Creation

    Example Example

    Using ABC notation, a user can define a 24-beat composition with specific rhythmic and melodic patterns, which Song Maker then converts into MIDI and MusicXML files.

    Example Scenario

    A composer wants to quickly sketch a new song. They input the melody and harmony using ABC notation, specifying note lengths and dynamics. Song Maker processes this input and generates the corresponding MIDI file for immediate playback and further refinement.

  • Music Analysis

    Example Example

    Converting a MIDI file to ABC notation allows detailed examination of the music's structure, revealing repeating patterns and common motifs.

    Example Scenario

    A music student needs to analyze Bach's compositions. By converting the pieces from the music21 corpus into ABC notation, the student can study the intricate details of Bach's counterpoint techniques, identifying specific motifs and their variations.

  • Lyrics and Dynamics Integration

    Example Example

    Adding lyrics to a score involves updating the parts_data dictionary with the new lyrical content and associating it with specific beats.

    Example Scenario

    A songwriter wants to add lyrics to their melody. They input the lyrics into the parts_data structure, aligning them with the melody's rhythm. Song Maker integrates these lyrics into the score, producing a complete lead sheet with both music and lyrics.

Ideal Users of Song Maker

  • Composers and Arrangers

    Composers and arrangers benefit from Song Maker's ability to quickly generate and manipulate musical ideas. The tool's capability to create detailed compositions using ABC notation and to export them as MIDI or MusicXML files streamlines the creative process, allowing for easy experimentation with different musical elements.

  • Music Educators and Students

    Music educators and students can use Song Maker for educational purposes, such as analyzing famous compositions, studying musical structures, and understanding theoretical concepts. The detailed analysis functions help in identifying motifs, rhythmic patterns, and harmonic progressions, providing valuable insights for music theory education.

How to Use Song Maker

  • Visit for a free trial without login, also no need for ChatGPT Plus.

    Ensure you have internet access and a web browser.

  • Set up necessary libraries.

    Run the command `%run /mnt/data/add_libraries_py` to set up `music21` and `ai_song_maker` libraries.

  • Load your musical score.

    Use `converter.parse('/path/to/your/file.mid')` to load a MIDI file or other supported formats into the system.

  • Generate ABC notation.

    Convert the loaded score to ABC notation using `abc_notes = song_maker.score_to_abc(score)`.

  • Analyze and extend your composition.

    Analyze the ABC notation for patterns and motifs, and extend or modify sections as needed to create a cohesive composition.

  • Education
  • Analysis
  • Songwriting
  • Performance
  • Composition

Song Maker Q&A

  • What file formats does Song Maker support?

    Song Maker supports MIDI, MusicXML, and ABC notation files for input and output.

  • How can I add dynamics to my score?

    First, view the parts data using `print(song_maker.view_parts_data(parts_data))`. Then, modify the `parts_data` dictionary to include dynamics like crescendo or diminuendo.

  • Can I use Song Maker to create complex compositions?

    Yes, Song Maker can handle compositions with over 80 beats and multiple instrument parts, ensuring rich and varied musical pieces.

  • How do I analyze my composition for patterns?

    Convert your score to ABC notation and use `song_maker.analyze_measures(abc_notation, expected_beats_per_measure)` to identify repeating patterns and motifs.

  • What instruments can I include in my composition?

    You can include traditional MIDI instrument names such as Guitar, Piano, Bass, and many others specified in the `ordered_part_instrument` dictionary.


Copyright © 2024 All rights reserved.