The CRIM Intervals Highlighter React App is a cutting-edge web application designed for musicologists, researchers, and enthusiasts focusing on the analysis of musical intervals within the context of the CRIM (Citations: The Renaissance Imitation Mass) project. Leveraging the Enhancing Music Notation Addressability (EMA) expressions, this tool allows for the visualization and highlighting of specific intervals or passages within music scores, utilizing URLs to music pieces in MEI (Music Encoding Initiative) format. When used with CRIM intervals, it is particularly adept at enabling users to focus on and analyze distinct sections of a score.
- Dynamic Music Score Rendering: Renders music scores from MEI format URLs.
- EMA Expression and CRIM Interval Highlighting: Highlights sections of a music score based on Enhancing Music Notation Addressability (EMA) expressions and can be used in conjunction with specified CRIM intervals, allowing for in-depth analysis of specific musical elements.
- User-Friendly Interface: Provides an intuitive interface for users to input URLs, EMA expressions, and trim intervals for immediate score analysis and visualization.
- Responsive Design: Optimized for various devices, ensuring accessibility and a seamless user experience across platforms.
To get the CRIM Intervals Highlighter React App running locally for development and testing, follow these instructions.
You'll need the following installed on your system:
- Node.js (https://nodejs.org)
- Yarn (https://yarnpkg.com/) or npm (https://www.npmjs.com/)
- Clone the repository:
git clone https://github.com/eleon024/ema_react_app.git
- Navigate to the project directory:
cd ema_react_app
- Install dependencies:
yarn install
or
npm install
- Start the development server:
yarn start
or
npm start
Now, the app should be running on http://localhost:3000/
. Append your query parameters (pieceURL
, ema_expression
, measure_range
, and observation
) to the URL to test its functionality.
Contributions are welcome! Please open an issue first to discuss your proposed changes. Ensure to update tests as appropriate.