Metadata-Version: 2.1
Name: formgen
Version: 0.1.0
Summary: Python library for generating, transforming, and analyzing temporal gestalt units.
Home-page: https://github.com/programsounds/pcpy
License: MIT
Author: Yota Kobayashi
Author-email: yota@programsounds.net
Requires-Python: >=3.9,<3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: numpy (>=1.26.0,<2.0.0)
Requires-Dist: pcpy (>=0.1.0,<0.2.0)
Project-URL: Repository, https://github.com/programsounds/pcpy
Description-Content-Type: text/markdown

# formgen

## Abstract

- formgen (form generator) is a collection of modules for generating, transforming, and analyzing musical structures with diverse sonority and gestures.
    - The modules are Python scripts and can be flexibly assembled to create high-level software depending on user's needs, for example, for computer-assisted composition, live interactive system, and musical score analysis.
- formgen regards muscial structures as temporal gestalten, that is, musical units whose multidimensional attributes unfold in time. Its perspective is unbounded by linear functions and relationships; instead, formgen identifies musical units with the morphological and statistical features, for example, melodic and rhythmic contours and overall sonority. As proposed by James Tenney, the musical units are termed temporal gestalt units (TGs) (Tenney and Polansky 1980). 
    - With the pitch and temporal spaces defined by Robert Morris as the theoretical basis, formgen associates the features of TG to descriptors of independent musical spaces (Morris 1987).
    - Separating concerns of music structure into independent dimensions allows parametric operations on the structure (i.e., generation and transformation) using the morphological and statistical descriptors in their own dimensions. Realization of new musical structures is through integration of the descriptors.

## Documentation
- Under development
    - Documentation will be available on GitHub Pages
    
## Requirement

Python 3.7 and higher (due to support for the elements order in dict object)


