Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Software Frameworks for Music Information Retrieval

2.276 visualizaciones

Publicado el

Tutorial that I gave in ISMIR conference in 2004. I shared the tutorial with G. Tzanetakis but this presentation includes only my part.

Publicado en: Tecnología, Empresariales
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Software Frameworks for Music Information Retrieval

  1. 1. Software Frameworks for MIR Because Code also Matters... ISMIR 2004 Xavier Amatrian
  2. 2. The value of implementation ● Code is documentation ● Code is publication ● Code is test ● Code is prove of concept
  3. 3. Why using a framework ● We do not want to “reinvent the wheel” – Reuse of code + Reuse of implementation ● We want to dedicate as less time as possible to  implemtation, why not use something that has  proven to be useful in a similar situation. – Framework = Patterns + Implementation
  4. 4. Frameworks, libraries, applications (I) ● A Framework is a general pool of constructs that  is not tightly enough organized to constitute a  predictive theory. ● A Software Framework is an abstract design that  can be instantiated in a particular way for a  particular application. ● An OO Software Framework is a set of classes  that embodies an abstract design for solutions to a  family of problems.
  5. 5. Frameworks, libraries, applications  (II) ● A Software Framework must offer: – Ready­to­use components (black­box) – Extension capabilities (white­box) ● A Software Framework has to somehow grant  access to source code.
  6. 6. Frameworks, libraries, applications  (III) ● A software library is simply a collection of  functionalities that are conveniently packed and  can be accessed through an API ● It is used from an application.
  7. 7. General Classification of  Audio/Music Environments
  8. 8. Classification of MIR­related  Environments
  9. 9. Matlab and similar environments: What is wrong with Matlab anyway? ● Matlab is Proprietary – Everyone has it? ● What about the toolkits – Do I really know what is going on inside? Does that  matter? – This problem has an obvious solution: Octave ( ● It is used by many “top” institutions such as NASA ● It has an interesting open and growing repository: Octave­ Forge
  10. 10. Matlab and similar environments: What is wrong with Matlab anyway? ● Matlab is Unefficient – Some disciplines such as MIR have to really do  number­crunching and large database analysis. – Matlab code may take many times more than its  functional equivalent in a compiled programming  language. ● Matlab is Unstructured – By definition Matlab and similar environments favor  unstructured code – They do not favor reusability
  11. 11. C++ Software Frameworks ● Why C++? – It is efficient – It can be OO – It is a non­proprietary standard – Many existing tools are on C++ ● Other languages – Java ● it is not efficient and it is proprietary – Perl ● it is not efficient and it is not OO
  12. 12. Conclusions ● It is worth to use a framework ● It is important to know what is out there and what  we can expect from it ● Frameworks are evolving by nature ● Frameworks generate metamodels