Covarep A Cooperative Voice Analysis Repository for Speech Technologies Gilles Degottex1 , John Kane2 , Thomas Drugman3 , Tuomo Raitio4 , Stefan Scherer5 April 23, 2014

1

Aims of the project

Over the past few decades a vast array of advanced speech processing algorithms have been developed, often offering significant improvements over the existing state-of-the-art. Such algorithms can have a reasonably high degree of complexity and, hence, can be difficult to accurately re-implement based on article descriptions. Another issue is the so-called ’bug magnet effect’ with re-implementations frequently having significant differences from the original ones. The consequence of all this has been that many promising developments have been under-exploited or discarded, with researchers tending to stick to conventional analysis methods. By developing Covarep we are hoping to address this by encouraging authors to include original implementations of their algorithms, thus resulting in a single de facto version for the speech community to refer to. We envisage a range of benefits to the repository: 1) Reproducible research: Covarep will allow fairer comparison of algorithms in published articles. 2) Encouraged usage: the free availability of these algorithms will encourage researchers from a wide range of speech-related disciplines to exploit them for their own applications. 3) Feedback: as a GitHub project users will be able to offer comments on algorithms, report bugs, suggest improvements etc. 1 University

of Crete, Heraklion, Greece. College Dublin, Dublin, Ireland. 3 University of Mons, Mons, Belgium. 4 Aalto University, Espoo, Finland. 5 University of Southern California, Los Angeles, USA. 2 Trinity

1

2

License

Getting contributing institutions to agree to a homogenous Intellectual Property (IP) policy would be close to impossible. As a result Covarep is a repository and not a toolbox, and each algorithm will have its own licence associated with it. Though flexible to different licence types, contributions will need to have a licence which is compatible (or linkable) with the General Public License Version 3 (GPLv3) (see diagram at http://en.wikipedia.org/wiki/GPL#Compatibility_and_multi-licensing) (e.g. LPGL, MIT, Apache or similar). The LGPL licence is advised in order to be more industry friendly.

3

Contribution

3.1

Scope

Contributions are welcome from a wide range of speech processing areas, including (but not limited to): Speech analysis, synthesis, conversion, transformation, enhancement, glottal source/voice quality analysis, etc. It can be novel methods as well as existing methods.

3.2

Requirements

In order to achieve a reasonable standard of consistency and homogeneity across algorithms, the following elements are required: • Only published work can be added to the repository. • The code must be available as open source. • Algorithms should be coded in Matlab, however we strongly encourage authors to make the code compatible with Octave in order to maximize usability. • Contributions have to comply with a Coding Convention (see in the directory documentation/CodingConvention.txt and documentation/CodingConvention FunctionTemplate.txt). However, only for normalizing the inputs/outputs and the documentation. There is no restriction for the content of the functions (though, comments are obviously encouraged). • Each method exist only once in the whole repository. Thus, redundancy has to be minimized between the methods existing in the repository and the submission. Note that the original author of a method (the author of the article) does not necessarily correspond to the author of the implementation! Anybody is free to send his/her implementation of a published method which does not exist yet in Covarep.

3.3

Submission process

The instructions for submitting contributions are given at: http://covarep.github.io/covarep. In order to avoid confusion, there is no other source of information about the submission process.

2

3.4

Improvements of methods

We welcome improvements of methods already existing in Covarep (e.g. replacement of the traditional computation of the Linear Prediction residual by a more robust one which can be exploited in many functions in Covarep). However, the default behavior of a function has to correspond to the original article description. Thus, improvements can be added in existing functions, but they have to appear as a nondefault option (please see sinusoidal/sin_analysis.m for a complete example of option management).

3

4

Coding

The code as to be fast enough to be run on big corpora of speech utterances. However, incomprehensible implementations that save only a negligible CPU time, compared to a clear and pedagogic code, should be avoided.

4.1

Hosting

The Covarep project is currently hosted on GitHub (https://github.com/covarep/covarep). Please have a look at the help of the GitHub website in order to rise an issue or discuss any point.

4.2

Dependencies

• In order to minimize redundancy, one method exists only once in the whole repository. Issues can be discussed on the GitHub project if the implementation of an existing method is questionable. • There is no requirement for the Matlab or Octave version. • Covarep is dependent on the Voicebox Matlab toolbox (see http://www.ee.ic.ac.uk/hp/staff/ dmb/voicebox/voicebox.html) • The code has to run on Windows, Mac and Linux platforms.

4.3

Testing and bug tracking

A HOWTO example file is necessary to exemplify each method. Basic regression tests can be also submitted or developed by the maintainers. A basic function should allow the user to run regression tests to verify that all the methods implemented in Covarep are working properly on his/her machine.

4.4 4.4.1

Code maintenance Versioning of the project

If the revision number changes (x.x.X), it means that only bugs have been fixed. If the minor number changes (x.X.x), it means that bugs have been fixed and new features have been added, without breaking compatibility with former versions of identical major number. If the major number changes (X.x.x), it means that new features appeared and the compatibility with former version is not ensured. 4.4.2

Project merge and Branching policy

The Branch-When-Needed system: maintainers commit their day-to-day work on the master branch. Rule 1 The master must compile and pass regression tests at all times. Committers who violate this rule are publically humiliated. Rule 2 A single commit (changeset) must not be so large so as to discourage peer-review. Rule 3 If rules 1 and 2 come into conflict (i.e. it’s impossible to make a series of small commits without disrupting the trunk), then the user should create a branch and commit a series of smaller changesets there. This allows peer-review without disrupting the stability of the master branch. 4

4.4.3

Release instructions

• Import the novel functionalities, bug fixes, etc. • Compile the Covarep.pdf document if Covarep.tex changed. And commit the new Covarep.pdf. • Change the version in the README.txt file to the final version number (e.g. 1.0.2). This commit has to be the very last modification of the repository before tagging the master with the release tag. • Create an annotated tag (Can use the GitHub interface for this purpose). Follow descriptions of previous releases. • List novelties in the Release’s description. (can use ”git log –pretty=oneline tag1...tag2” in order to list the commits made between the previous release and the new one. • Change the version in the README.txt file to ”master (after ¡current version¿)” (e.g. ”master (after 1.0.2)”)

5

Covarep - GitHub

Apr 23, 2014 - Gilles Degottex1, John Kane2, Thomas Drugman3, Tuomo Raitio4, Stefan .... Compile the Covarep.pdf document if Covarep.tex changed.

88KB Sizes 9 Downloads 111 Views

Recommend Documents

GitHub
domain = meq.domain(10,20,0,10); cells = meq.cells(domain,num_freq=200, num_time=100); ...... This is now contaminator-free. – Observe the ghosts. Optional ...

GitHub
data can only be “corrected” for a single point on the sky. ... sufficient to predict it at the phase center (shifting ... errors (well this is actually good news, isn't it?)

Torsten - GitHub
Metrum Research Group has developed a prototype Pharmacokinetic/Pharmacodynamic (PKPD) model library for use in Stan 2.12. ... Torsten uses a development version of Stan, that follows the 2.12 release, in order to implement the matrix exponential fun

Untitled - GitHub
The next section reviews some approaches adopted for this problem, in astronomy and in computer vision gener- ... cussed below), we would question the sensitivity of a. Delaunay triangulation alone for capturing the .... computation to be improved fr

ECf000172411 - GitHub
Robert. Spec Sr Trading Supt. ENA West Power Fundamental Analysis. Timothy A Heizenrader. 1400 Smith St, Houston, Tx. Yes. Yes. Arnold. John. VP Trading.

Untitled - GitHub
Iwip a man in the middle implementation. TOR. Andrea Marcelli prof. Fulvio Risso. 1859. Page 3. from packets. PEX. CethernetDipo topo data. Private. Execution. Environment to the awareness of a connection. FROG develpment. Cethernet DipD tcpD data. P

BOOM - GitHub
Dec 4, 2016 - 3.2.3 Managing the Global History Register . ..... Put another way, instructions don't need to spend N cycles moving their way through the fetch ...

Supervisor - GitHub
When given an integer, the supervisor terminates the child process using. Process.exit(child, :shutdown) and waits for an exist signal within the time.

robtarr - GitHub
http://globalmoxie.com/blog/making-of-people-mobile.shtml. Saturday, October ... http://24ways.org/2011/conditional-loading-for-responsive-designs. Saturday ...

MY9221 - GitHub
The MY9221, 12-channels (R/G/B x 4) c o n s t a n t current APDM (Adaptive Pulse Density. Modulation) LED driver, operates over a 3V ~ 5.5V input voltage ...

fpYlll - GitHub
Jul 6, 2017 - fpylll is a Python (2 and 3) library for performing lattice reduction on ... expressiveness and ease-of-use beat raw performance.1. 1Okay, to ... py.test for testing Python. .... GSO complete API for plain Gram-Schmidt objects, all.

article - GitHub
2 Universidad Nacional de Tres de Febrero, Caseros, Argentina. ..... www-nlpir.nist.gov/projects/duc/guidelines/2002.html. 6. .... http://singhal.info/ieee2001.pdf.

PyBioMed - GitHub
calculate ten types of molecular descriptors to represent small molecules, including constitutional descriptors ... charge descriptors, molecular properties, kappa shape indices, MOE-type descriptors, and molecular ... The molecular weight (MW) is th

MOC3063 - GitHub
IF lies between max IFT (15mA for MOC3061M, 10mA for MOC3062M ..... Dual Cool™ ... Fairchild's Anti-Counterfeiting Policy is also stated on ourexternal website, ... Datasheet contains the design specifications for product development.

MLX90615 - GitHub
Nov 8, 2013 - of 0.02°C or via a 10-bit PWM (Pulse Width Modulated) signal from the device. ...... The chip supports a 2 wires serial protocol, build with pins SDA and SCL. ...... measure the temperature profile of the top of the can and keep the pe

SeparableFilter11 - GitHub
1. SeparableFilter11. AMD Developer Relations. Overview ... Load the center sample(s) int2 i2KernelCenter ... Macro defines what happens at the kernel center.

Programming - GitHub
Jan 16, 2018 - The second you can only catch by thorough testing (see the HW). 5. Don't use magic numbers. 6. Use meaningful names. Don't do this: data("ChickWeight") out = lm(weight~Time+Chick+Diet, data=ChickWeight). 7. Comment things that aren't c

SoCsploitation - GitHub
Page 2 ... ( everything – {laptops, servers, etc.} ) • Cheap and low power! WTF is a SoC ... %20Advice_for_Shellcode_on_Embedded_Syst ems.pdf. Tell me more! ... didn't destroy one to have pretty pictures… Teridian ..... [email protected].

Datasheet - GitHub
Dec 18, 2014 - Compliant with Android K and L ..... 9.49 SENSORHUB10_REG (37h) . .... DocID026899 Rev 7. 10. Embedded functions register mapping .

Action - GitHub
Task Scheduling for Mobile Robots Using Interval Algebra. Mudrová and Hawes. .... W1. W2. W3. 0.9 action goto W2 from W1. 0.1. Why use an MDP? cost = 54 ...