Your SlideShare is downloading. ×
Software Frameworks for Music Information Retrieval
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Software Frameworks for Music Information Retrieval

1,546
views

Published on

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

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

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,546
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software Frameworks for MIR Because Code also Matters... ISMIR 2004 Xavier Amatrian
  • 2. The value of implementation ● Code is documentation ● Code is publication ● Code is test ● Code is prove of concept
  • 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. 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. 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. 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. General Classification of  Audio/Music Environments
  • 8. Classification of MIR­related  Environments
  • 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 ( www.octave.org) ● It is used by many “top” institutions such as NASA ● It has an interesting open and growing repository: Octave­ Forge
  • 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. 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. 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