【转载】julian-urbano/MelodyShape

A Library and Tool for Symbolic Melodic Similarity based on Shape Similarity

  1. Java 88.4%
  2. TeX 10.5%
  3. Shell 1.1%

JavaTeXShell

branch: master

MelodyShape/

Changed all source encodings to UTF-8.

latest commit da8abe2b08

 julian-urbano authored on 24 Oct 2014

  etc Moved logic to instantiate main and re-rank comparers and rankers to … 3 months ago
  lib Minor changes to project structure, preparing for JAR. a year ago
  src/jurbano/melodyshape Changed all source encodings to UTF-8. 3 months ago
  tex Updated user manual for v1.2. 3 months ago
  CHANGELOG.txt Ready to deploy v1.2. 3 months ago
  LICENSE.txt Simplified project structure. 3 months ago
  README.md Ready to deploy v1.2. 3 months ago
  deploy.xml Ready to deploy v1.2. 3 months ago

README.md

MelodyShape

MelodyShape is an open source Java library and tool to compute the melodic similarity between monophonic music pieces. It implements several algorithms that compute similarity based on the geometric shape that melodies describe in the pitch-time plane.

All these algorithms have obtained the best results in the MIREX Symbolic Melodic Similarity task in 2010, 2011, 2012, 2013 and 2014 editions, as well as the best results reported for the 2005 collection.

MelodyShape can be run both as a graphical user interface and as a command line tool:

$ java -jar melodyshape-1.2.jar
usage: melodyshape-1.2 -q <file/dir> -c <dir> -a <name> [-k <cutoff>] [-l] [-t <num>] [-v] [-vv] [-gui] [-h]
-q <file/dir>  path to the query melody or melodies.
-c <dir>       path to the collection of documents.
-a <name>      algorithm to run:
               - 2010-domain, 2010-pitchderiv, 2010-shape
               - 2011-shape, 2011-pitch, 2011-time
               - 2012-shapeh, 2012-shapel, 2012-shapeg, 2012-time, 2012-shapetime
               - 2013-shapeh, 2013-time, 2013-shapetime
               - 2014-shapeh, 2014-time, 2014-shapetime
-k <cutoff>    number of documents to retrieve.
-l             show results in a single line (omits similarity scores).
-t <num>       run a fixed number of threads.
-v             verbose, to stderr.
-vv            verbose a lot, to stderr.
-gui           run with graphical user interface.
-h             show this help message.

MelodyShape 1.2  Copyright (C) 2014  Julian Urbano <[email protected]>
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License version 3.

A detailed user manual in PDF is available from the releases page.

Dependencies

  • The MelodyShape library uses the Math library from Apache Commons.
  • The command line tool uses the CLI library from Apache Commons.

Current Version

The current version is MelodyShape 1.2, and it is compiled for Java 7. It can be redistributed and/or modified under the terms of the GNU General Public License version 3. Javadoc documentation and a user manual are available as well.

时间: 2025-01-14 04:27:13

【转载】julian-urbano/MelodyShape的相关文章

oracle 国外网站【转载】

[转自]:http://www.2cto.com/database/201406/306615.html 1. http://www.oratechinfo.co.uk/ http://www.oratechinfo.co.uk/ 2. oracle官方文档汇总 1> 10.2官方文档 http://www.oracle.com/pls/db102/homepage 2> 11.2官方文档 http://docs.oracle.com/cd/E11882_01/index.htm 3>

【转载】C++拷贝构造函数(深拷贝,浅拷贝)

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量.下面看一个类对象拷贝的简单例子. #include <iostream>using namespace std;class CExample {private:     int a;public:     CExample(int b)     { a=b;}     void Show ()     {        cout<

门控时钟-理论分析 ---- 转载

转载自:http://www.chipsbank.com/news_detail/newsId=123.html 门控的基本要求: 1. 所需要的沿(对于正沿触发的寄存器是正沿,对于负沿触发的寄存器是负沿)不增加,不减少: 1. 不会产生毛刺: 1. 使用后功耗要能够降低: 1. 最好面积还会减小. 1. 上升沿触发的门控时钟的结构研究:应用与上升沿触发的寄存器的门控. 1. 直接与门结构: 1. 高电平使能Latch + 与门结构: 1. 低电平使能Latch + 与门结构: 1. 波形研究:

浅谈Java中的equals和==(转载)

在初学Java时,可能会经常碰到下面的代码: 1 String str1 = new String("hello"); 2 String str2 = new String("hello"); 3 4 System.out.println(str1==str2); 5 System.out.println(str1.equals(str2)); 为什么第4行和第5行的输出结果不一样?==和equals方法之间的区别是什么?如果在初学Java的时候这个问题不弄清楚,就

JVM学习(2)——技术文章里常说的堆,栈,堆栈到底是什么,从os的角度总结--转载http://www.cnblogs.com/kubixuesheng/p/5202561.html

转载自---http://www.cnblogs.com/kubixuesheng/p/5202561.html 俗话说,自己写的代码,6个月后也是别人的代码--复习!复习!复习!涉及到的知识点总结如下: 堆栈是栈 JVM栈和本地方法栈划分 Java中的堆,栈和c/c++中的堆,栈 数据结构层面的堆,栈 os层面的堆,栈 JVM的堆,栈和os如何对应 为啥方法的调用需要栈 属于月经问题了,正好碰上有人问我这类比较基础的知识,无奈我自觉回答不是有效果,现在深入浅出的总结下: 前一篇文章总结了:JV

GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流(转载)

最近听同事说他都在使用GitHub,GitHub是程序员的社区,在里面可以学到很多书上学不到的东西,所以最近在准备入手这方面的知识去尝试学习,正好碰到这么详细完整的文章,就转载了,希望对自己和大家有帮助. GitHub操作总结 : 总结看不明白就看下面的详细讲解. GitHub操作流程 : 第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样; -- 初始化Git仓库 :git init ; -- 提交改变到缓存 :git commit -m 'desc

2.EasyUI学习总结(二)——easyloader分析与使用(转载)

本文转载自:http://www.cnblogs.com/haogj/archive/2013/04/22/3036685.html 使用脚本库总要加载一大堆的样式表和脚本文件,在easyui 中,除了可以使用通常的方式加载之外,还提供了使用 easyloader 加载的方式.这个组件主要是为了按需加载组件而诞生.什么情况下使用它呢? 你觉得一次性导入 easyui 的核心 min js 和 css 太大 你只用到 easyui 的其中几个组件 你想使用其中的一个组件,但是你又不知道这个组件依赖

Data guard概念篇一(转载)

本文转载至以下链接,感谢作者分享! http://tech.it168.com/db/2008-02-14/200802141545840_1.shtml 一.Data Guard配置(Data Guard Configurations) Data Guard是一个集合,由一个primary数据库(生产数据库)及一个或多个standby数据库(最多9个)组成.组成Data Guard的数据库通过Oracle Net连接,并且有可能分布于不同地域.只要各库之间可以相互通信,它们的物理位置并没有什么

【转载】GBDT(MART) 迭代决策树入门教程 | 简介

      转载地址:http://blog.csdn.net/w28971023/article/details/8240756        GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案.它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法.近些年更因为被用于搜索排