A look back at some items in our archives.
Configuring Subversion
After you install subversion you should put CNMAT's long list of "global-ignores" in your .subversion/config file
Why?
Subversion can be configured to "ignore" certain files, which mainly means not to try to check them into the repository if they appear in a folder. You mainly need this for files that are created by the build process, which don't belong in the repository. By default Subversion comes configured with a pretty conservative list of these files; I've added quite a few.
How?
NOTE: This information no longer applies to users accessing the CNMAT subversion server!
Why?
July 23-27, 11 AM -4 PM
(Lecture 11-12, lunch break 12-1, lab session with instructor support 1-4)
CNMAT, 1750 Arch Street, Berkeley, CA
Instructors: Adrian Freed
The format will be short morning lectures and demonstrations and late morning and afternoon supervised lab sessions. There will be plenty of scope for discussions and private access to instructors for guidance and mentoring.
# Mac OSX:
- Use the Subversion package by Martin Ott: [http://homepage.mac.com/martinott/] (or build it from source, or using Fink or DarwinPorts)
- Optional: Install the svnX graphical front-end: [http://www.lachoseinteractive.net/en/community/subversion/svnx/features/]
# Linux
- Use your distro package manager to find a subversion client.
# Windows
- Use TortiseSVN
# Repository web-view
You can view the project source code through the web browser at this address:
_Mathematica_ searches a local user directory (see $UserDirectory) in addition to the system-wide location for add-on packages. The musictheory/src directory needs to be added to this path. This can be done in two possible ways:
1. Create a symbolic link in $UserDirectory to the musictheory/src directory. Using Terminal:
cd ~/Library/Mathematica/Applications
Open up the notebook musictheory/nb/Introduction.nb and evaluate its contents.
- If the MusicTheory subpackages were not found, then the installation was not done correctly.
- If you did not install LilyPond, the demonstrations using Notate[] will not work.
Details on the features of major subpackages.
# Features
- Imports a MIDI type 0, 1, or 2 file and parses into a series of chunks (headers, track), and events (channel, meta, sysex).
# Planned
- Convert parsed MIDI data into a score
- MIDI export
# Features
- Defines a collection of symbols for standard western notation
- Defines symbols used in score representation
# Planned
- More symbols for advanced notation requirements
# Maybe
- Some way to deal with generalized pitch classes
# Features
- PitchClass
- DiatonicToChromatic
- Pitch to numeric
- PitchToInteger
- IntegerToPitch
- Duration to numeric
- DurationToRational
- RationalToDuration
- TotalDuration
- DurationToOnset
- OnsetToDuration
- Score reduction
- ExtractDurations
- ExtractPitchInstances
# Planned
- Score to/from piano roll
# Features
- GeneratePolyrhythm
# Planned
- TBD
# Features
- Notate
Renders and returns an image given a Score or Notes as input.
# Planned
- Ability to export to various formats (all possible using the Lilypond backend)
- EPS
- PDF
- MusicXML
- MIDI
- Support for rhythmic notation e.g., "Tubs" notation and polygon visualizations
Modes are defined as a list of intervals relative to the root of a scale.
# Features
- Modes of limited transposition
- Standard musical modes:
- Ionian
- Dorian
- Phrygian
- Lydian
- Mixolydian
- Aeolian
- Locrian
# Planned
- More scales...
A collection of ancient Hindu rhythms popularized by Olivier Messiaen.
# Features
- Decitalas = { {i, name, {Duration[...], ...}, {...}, ... }
# Planned
- N/A
[inline-left:MusicTheoryDemo.png]
# Features
- TBD
# Planned
- Stream segregation
- Rhythmic analysis
- Harmonic analysis
- Key inference
This is software for music theoretic programming in the Mathematica environment.
It contains several sub-packages that comprise symbolic representation of music scores and events, operations and transformations on musical objects, music data formats import/export, music notation and visualization, and generative composition.
The install process breaks down as follows:
1. Install a subversion client (optional, but recommended)
2. Obtain the project source code from the repository
3. Configure _Mathematica_ so that it will find the package
4. Install Lilypond (optional, but highly recommended)
5. Open and evaluate the demo notebook to verify that everything works
[http://lilypond.org/web/|LilyPond] is an open-source project that does music typesetting using a TeX-style syntax and similar layout-optimization algorithms. The MusicTheory\`Notation\` subpackage uses LilyPond as a rendering engine to present musical fragments directly in the _Mathematica_ notebook interface.