Table of Contents
IEEE1599Generator is a project developed for the Music Programming exam at the University of Milan (academic year 2020-2021). It is an application which, on the basis of a series of user-definable parameters, generates an IEEE 1599 file by randomly the elements present.
- Java 11.0.12
- Apache Maven 3.8.2
- Clone the repo:
git clone https://github.com/FedericaPaoli1/IEEE1599Generator.git
- Run the following command:
mvn clean package
-
Within the
target/
folder, run the following command:java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App
followed by the parameters:
Description Default --creator=<String> creator name of the IEEE1599 file --title=<String> musical composition title Title --author=<String> musical composition author Author --track-length=<long> track length in seconds --bpm=<int> time expressed in bpm --metre=<first parameter:second parameter> metre expressed as a string --instruments-number=<int> musical instruments number -
Specify the following parameters as many times as there are musical instruments (instruments-number):
Description Default --max-notes-number=<int> maximum number of played notes --min-duration=<numerator/denominator> minimum duration of musical figures expressed as integers array --max-duration=<numerator/denominator> maximum duration of musical figures expressed as integers array --min-height=<Anglo-Saxon note name>_<possible accidental (sharp, sharp_and_a_half, demisharp, double_sharp, flat, flat_and_a_half, demiflat, double_flat)><octave> minimum height of musical figures expressed as a string --max-height=<Anglo-Saxon note name>_<possible accidental (sharp, sharp_and_a_half, demisharp, double_sharp, flat, flat_and_a_half, demiflat, double_flat)><octave> maximum height of musical figures expressed as a string --max-notes-number-chord=<int> maximum number of notes in a chord --irregular-groups=<boolean> presence or absence of irregular groups --min-delay=<int> minimum delay in VTU after which the next note will sound --seed=<long> seed for random object 1234 -
Once execution is complete, the following will be generated:
- the IEEE1599 file, called
ieee1599.xml
- the log file, called
ieee1599.log
- the IEEE1599 file, called
-
To generate the Java documentation, run the following command:
mvn javadoc:javadoc
and in
/target/site/apidocs/
you will find the generated javadoc file, calledindex.html
.
After positioning yourself in the /target
folder:
- Generation of IEEE1599 file with a single musical instrument:
java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App --creator=Federica --track-length=120 --bpm=108 --metre=4:4 --instruments-number=1 --max-notes-number=150 --min-duration=1/8 --max-duration=1/1 --min-height=C-1 --max-height=A4 --max-notes-number-chord=3 --irregular-groups=false --min-delay=256
- Generation of the IEEE1599 file with the presence of irregular groups:
java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App --creator=Federica --track-length=120 --bpm=108 --metre=4:4 --instruments-number=1 --max-notes-number=150 --min-duration=1/8 --max-duration=1/1 --min-height=C-1 --max-height=A4 --max-notes-number-chord=3 --irregular-groups=true --min-delay=256
- Generation of IEEE1599 file with the presence of accidental in note pitches:
java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App --creator=Federica --track-length=120 --bpm=108 --metre=4:4 --instruments-number=1 --max-notes-number=150 --min-duration=1/8 --max-duration=1/1 --min-height=C_flat_and_a_half2 --max-height=A_sharp_5 --max-notes-number-chord=3 --irregular-groups=false --min-delay=256
- Generation of IEEE1599 file with more than one musical instrument:
java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App --creator=Federica --track-length=120 --bpm=108 --metre=4:4 --instruments-number=5 --max-notes-number=150 --min-duration=1/8 --max-duration=1/1 --min-height=C-1 --max-height=B_sharp_9 --max-notes-number-chord=3 --irregular-groups=true --min-delay=256 --max-notes-number=200 --min-duration=1/16 --max-duration=1/2 --min-height=E2 --max-height=A4 --max-notes-number-chord=2 --irregular-groups=true --min-delay=256 --max-notes-number=250 --min-duration=1/32 --max-duration=1/4 --min-height=C-1 --max-height=G8 --max-notes-number-chord=5 --irregular-groups=false --min-delay=2 --max-notes-number=50 --min-duration=1/64 --max-duration=1/1 --min-height=D_flat_and_a_half2 --max-height=A5 --max-notes-number-chord=1 --irregular-groups=true --min-delay=100 --max-notes-number=20 --min-duration=1/2 --max-duration=1/1 --min-height=B-1 --max-height=A9 --max-notes-number-chord=7 --irregular-groups=false --min-delay=256
- Generation of the IEEE1599 file with a different setting of the values that have the default value:
java -cp IEEE1599Generator-1.0-SNAPSHOT-jar-with-dependencies.jar com.ieee1599generator.IEEE1599App --creator=Federica --title=DifferentTitle --author=DifferentAuthor --track-length=120 --bpm=108 --metre=4:4 --instruments-number=1 --max-notes-number=150 --min-duration=1/8 --max-duration=1/1 --min-height=C-1 --max-height=A4 --max-notes-number-chord=3 --irregular-groups=false --min-delay=256 --seed=5678
Distributed under the MIT License. See LICENSE
for more information.
Federica Paoli' - [email protected]
Project Link: https://github.com/FedericaPaoli1/IEEE1599Generator