Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/carterenyi/emviz
Browse files Browse the repository at this point in the history
  • Loading branch information
carterenyi committed Feb 26, 2019
2 parents fadfe02 + 127e80c commit fcf746e
Show file tree
Hide file tree
Showing 28 changed files with 390 additions and 6 deletions.
Binary file added EMVizLogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion EMVizScripts/dur.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
%
% Date Time Prog Note
% 4.6.2002 18:36 TE Created under MATLAB 5.3 (Mac)
%© Part of the MIDI Toolbox, Copyright © 2004, University of Jyvaskyla, Finland
% Part of the MIDI Toolbox, Copyright 2004, University of Jyvaskyla, Finland
% See License.txt

if isempty(nmat), d = []; return; end
Expand Down
2 changes: 1 addition & 1 deletion EMVizScripts/midi2hz.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
%
% Author Date
% T. Eerola 1.2.2003
%© Part of the MIDI Toolbox, Copyright © 2004, University of Jyvaskyla, Finland
% Part of the MIDI Toolbox, Copyright 2004, University of Jyvaskyla, Finland
% See License.txt

if isempty(m), return; end
Expand Down
2 changes: 1 addition & 1 deletion EMVizScripts/nmat2snd.m
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
% semitones lower than desired. To fix, transpose input up by 3 semitones
% (3 midi notes) to get correct pitch with better envelope.
% 2.5.2005 9:30 TE Almost a total revision if the shepard function
%© Part of the MIDI Toolbox, Copyright © 2004, University of Jyvaskyla, Finland
% Part of the MIDI Toolbox, Copyright 2004, University of Jyvaskyla, Finland
% See License.txt

if isempty(nmat), return; end
Expand Down
2 changes: 1 addition & 1 deletion EMVizScripts/onset.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
%
% Date Time Prog Note
% 4.6.2002 18:36 TE Created under MATLAB 5.3 (Mac)
%© Part of the MIDI Toolbox, Copyright © 2004, University of Jyvaskyla, Finland
% Part of the MIDI Toolbox, Copyright 2004, University of Jyvaskyla, Finland
% See License.txt

if isempty(nmat), ob = []; return; end
Expand Down
2 changes: 1 addition & 1 deletion EMVizScripts/velocity.m
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
%
% Date Time Prog Note
% 4.6.2002 18:36 TE Created under MATLAB 5.3 (Mac)
%© Part of the MIDI Toolbox, Copyright © 2004, University of Jyvaskyla, Finland
% Part of the MIDI Toolbox, Copyright 2004, University of Jyvaskyla, Finland
% See License.txt

if isempty(nmat), return; end
Expand Down
Binary file added EMViz_Manual.pdf
Binary file not shown.
Binary file added Josquin_Ave_Maria.mid
Binary file not shown.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2018 carterenyi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Binary file added LiberUsualis_Alleluia_Exsultate.mid
Binary file not shown.
45 changes: 45 additions & 0 deletions MyAppInstaller_web.app/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>setup</string>
<key>CFBundleIconFile</key>
<string>installer.icns</string>
<key>CFBundleIdentifier</key>
<string>com.mathworks.toolbox.compiler.setup</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2013 __MyCompanyName__. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>mathworks.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
</dict>
</plist>
Binary file added MyAppInstaller_web.app/Contents/MacOS/setup
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.com.mathworks.toolbox.compiler.setup</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 67 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,67 @@
# emviz
![Example EMVizLogo.png](EMVizLogo.png)

EMViz (Early Music Visualization) provides built-in pattern recognition for symbolic music based on a contour recursion algorithm by Carter-Enyi (2016) producing visualizations of musical form using arc diagrams, as proposed by Wattenberg (2002). The algorithm brings together contour theory (Morris 1987, Quinn 1996, Schultz 2013) with studies of melodic
accent (Thomassen 1982, Huron 2006). Symbolic music data (.midi, .xml) from various sources (including ELVIS at McGill and the Yale Classical Archives Corpus) may be imported, analyzed and visualized in a matter of minutes. Arc diagram visualizations in the supplemental materials include music from the Liber Usualis, Josquin des Prez and J. S. Bach.

## Getting Started

Mac OSX version:
https://morehousecollege.box.com/s/3ziy19h8n36l54oza5fcesx2f9z7y2yg

Windows version:
https://morehousecollege.box.com/s/cd2t5kb5xt4e3f7zsd0zcnbat2e9b1vw

Or github repository:
https://github.com/carterenyi/emviz

### Prerequisites

If you have MATLAB 2017b, you will not need to install MATLAB Runtime and may also run individual scripts (source code) from the github repository.

### Installing

Detailed instructions for installation:
1. You will need a web connection for the entire installation because MATLAB Runtime
(also free) will also be downloaded and installed when you run the application installer
2. Download the entire folder at the appropriate link above
3. Find the “AppInstaller” folder or zip file and double-click it, then double-click
“MyApplicationInstall_web” (.exe for Windows and .app for Mac); Mac will unzip
revealing a “test” folder (which has the MyApplicationInstall_web.app inside); Windows
may also ask you to expand the files before installing (if so, you will need to double-click
the installer again after this unpacking)
4. Because this software is not from an “App Store”, you will likely need to override
some security preferences after expanding/unzipping and clicking on the .app or .exe, to
do this right-click or control-click and select “Open” on Mac or “Run as administrator”
on Windows
5. The actual installation process (which requires an internet connection) may take 5 – 20
minutes depending on the download speed of your internet connection (it is downloading
MATLAB Runtime so your computer can interpret the code for the algorithm and GUI)

## Running the tests

MIDI files for testing are included at the link above. You should be able to produce the images in
[paper.md](https://github.com/carterenyi/emviz/blob/master/paper.md)

## Deployment

Details for installation on a live system are above.

## Built With

MATLAB 2017b

## Contributing

Please read [contributing.md](https://github.com/carterenyi/emviz/blob/master/contributing.md) for details on our code of conduct, and the process for submitting pull requests to us.

## Authors

* **Aaron Carter-Enyi** <carterenyi@gmail.com>

## License

This project is licensed under the MIT License - see the [LICENSE](https://github.com/carterenyi/emviz/blob/master/LICENSE) file for details

## Acknowledgments

* Inspired by Martin Wattenberg's Shape of Song and the phonology of Niger-Congo (African) tone languages.
76 changes: 76 additions & 0 deletions coc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at carterenyi@gmail.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
23 changes: 23 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## How to contribute to emviz: Early Music Visualization

#### **Did you find a bug?**

Please email <carterenyi@gmail.com>

#### **Did you write a patch that fixes a bug?**

* Open a new GitHub pull request with the patch.

* Ensure the PR description clearly describes the problem and solution.

#### **Do you intend to add a new feature or change an existing one?**

Please email <carterenyi@gmail.com>

#### **Do you have questions about the source code?**

Please email <carterenyi@gmail.com>

#### **Do you want to contribute to the emviz documentation?**

Please email <carterenyi@gmail.com>
Binary file added figure1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figure2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figure3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added figure4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
78 changes: 78 additions & 0 deletions paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
@article{Carter-Enyi:2016a,
author = {{Carter-Enyi}, Aaron},
title = {{Contour Recursion and Auto-Segmentation}},
journal = {Music Theory Online},
volume = {22},
number = {1},
type = {Journal Article},
year = 2016,
url = {http://www.mtosmt.org/issues/mto.16.22.1/mto.16.22.1.carter-enyi.pdf}
}

@phdthesis{Carter-Enyi:2016b,
author = {Carter-Enyi, Aaron},
title = {{Contour Levels: An Abstraction of Pitch Space based on African Tone Systems}},
university = {Ohio State University},
type = {Thesis},
year = 2016,
adsurl = {http://adsabs.harvard.edu/abs/2016PhDT.......160C},
url = {http://rave.ohiolink.edu/etdc/view?acc_num=osu1461029477}
}

@book{Huron:2006,
author = {Huron, David},
title = {{Sweet Anticipation: Music and the Psychology of Expectation}},
publisher = {MIT Press},
address = {Cambridge},
ISBN = {9780262275965},
type = {Book},
year = 2006
}

@book{Morris:1987,
author = {Morris, Robert D},
title = {{Composition with pitch-classes: a theory of compositional design}},
publisher = {Yale University Press},
ISBN = {0300036841},
type = {Book},
year = 1987
}

@article{Quinn:1997,
author = {Quinn, Ian},
title = {{Fuzzy Extensions to the Theory of Contour}},
journal = {Music Theory Spectrum},
volume = {19},
number = {2},
pages = {232-263},
ISSN = {01956167},
DOI = {10.2307/745755},
url = {http://www.jstor.org.proxy.lib.ohio-state.edu/stable/745755},
type = {Journal Article},
year = 1997
}

@article{Thomassen:1982,
author = {Thomassen, Joseph M},
title = {{Melodic accent: Experiments and a tentative model}},
journal = {The Journal of the Acoustical Society of America},
volume = {71},
number = {6},
pages = {1596-1605},
ISSN = {0001-4966},
DOI = {10.1121/1.387814}
type = {Journal Article},
year = 1982
}

@inproceedings{Wattenberg:2002,
author = {Wattenberg, Martin},
title = {{Arc diagrams: Visualizing structure in strings}},
booktitle = {Information Visualization, 2002. INFOVIS 2002. IEEE Symposium on},
publisher = {IEEE},
pages = {110-116},
ISBN = {076951751X},
DOI = {10.1109/INFVIS.2002.1173155},
type = {Conference Proceedings},
year = 2002
}
Loading

0 comments on commit fcf746e

Please sign in to comment.