This project processes A/V files into a collection of Pairtree structures and generates waveform data (for visualization) from audio files.
In addition to a JDK (>= 11) installed and configured, you will also need the following in order to generate waveform data for audio files:
- the BBC's audiowaveform command line tool, with the executable on your PATH; and
- an AWS S3 bucket for storing the audio waveform data, and write credentials for the bucket (which you'll likely want to be world-readable).
There are two sets of build instructions: one for systems with Maven pre-installed and one for systems without Maven.
To build the project the first time, type:
./mvnw validate && ./mvnw verify
To run the service locally, type:
./mvnw -Plive test
These will download a version of Maven for you, build the project, and then proceed to run the project in test mode.
To process one of the test CSVs, you can copy a CSV file from src/test/resources/csvs/ into src/test/resources/csvs/watched.
To build the project the first time, type:
mvn validate && mvn verify
To run the service locally, type:
mvn -Plive test
These will build and run the project in test mode.
To process one of the test CSVs, you can copy a CSV file from src/test/resources/csvs/ into src/test/resources/csvs/watched.
mvn(w) validate only needs to be run once, in order to build the project for the first time. After that, mvn(w) verify (or mvn(w) package) will work fine. Also, the build automatically happens when you run mvn(w) -Plive test so you don't need to repeat both steps just to run a test after the initial run.
To run av-pairtree from the Jar file, one must set AWS S3 credentials and then run the JAR:
#!/bin/bash
export AUDIOWAVEFORM_S3_BUCKET=myAwsS3Bucket
export AUDIOWAVEFORM_S3_OBJECT_URL_TEMPLATE=http://example.com/{}
export AWS_ACCESS_KEY_ID=myAwsAccessKey
export AWS_DEFAULT_REGION=us-west-2
export AWS_SECRET_ACCESS_KEY=myAwsSecretKey
java \
-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory \
-Dvertx-config-path=config.properties \
-jar target/av-pairtree-0.0.1-SNAPSHOT.jar run edu.ucla.library.avpairtree.verticles.MainVerticleThe application is configured by the value of vertx-config-path, which in the example above is a config file residing in the same directory as the Jar file.
We use an internal ticketing system, but we've left the GitHub issues open in case you'd like to file a ticket or make a suggestion.