Free Software for Free Sound


Published on

Presentation I did during a University of California Symposium on Open Source for the Arts in UCLA, February 2007. What is Free Software and what does it have to do with Sound and Music.

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Free Software for Free Sound

  1. 1. Free Software for Free Sound UCDARNET, Open Symposium February, 2007 Xavier Amatriain (CREATE, UCSB, CLAM)
  2. 2. Index Free Software and Open Source Why? Arts and Free Software Free Software and Linux for Audio and Music Digital Luthiers and Open Frameworks CLAM Other Music/Audio Open Source Frameworks Conclusions
  3. 3. Free Software and Open Source
  4. 4. What is Free Software? Freedom 1: unlimited use for any purpose Freedom 2: freedom to study and adapt to your  own needs Freedom 3: freedom to copy Freedom 4: freedom to redistribute Free (Libre) as in Freedom not as in Beer Freedom is kept through copyright (because  copyright allows licensing)
  5. 5. Open Source Open Source (OSI) is an initiative that starts in  1998 mainly because of personal differences  between the founder of the FSF and OSI. It abandons idealistic thinking related to Free  Software and only promotes practical  advantages related to being able to read the  code of a piece of software.
  6. 6. Names and Dates Richard Stallman Starts the GNU Project (1983) Defines Free Software (1985) Introduces the GPL (1985) Linus Torvald Develops the Linux kernel (1991) Eric Raymond Founder of the Open Source Initiative (1998)
  7. 7. Why?
  8. 8. Technical/Practical advantages of  FLOSS Code is revised by many developers Security (kerchoff's principle) Estability Collaborative effort of large communities Price Although interesting, there are even more important  reasons...
  9. 9. FLOSS and Economy Proprietary software by definition favors monopolies  that then extend to hardware FLOSS does not kill software industry FLOSS can be comercial It promotes the culture of paying for services, not  arbitrarily priced licences Large companies like IBM or Novell are already basing  part of their business around FLOSS
  10. 10. Free Software and the University Education should be worried about learning and  learning is promoted through a free and open access to  information (e.g. libraries) Technology is more than a tool: it is a learning  environment in itself At the university we must present with several  perspectives and favor criticism and dialog University teaches how to learn not how to use a  particular tool Coding is not only for programmers but for scientists,  artists, children...
  11. 11. Free Software and Research Scientific method depends in many senses on the free  exchange of knowledge and ideas Nowadays implementation is actually part of the result Software is and should be considered in many cases like  some other sort of publication With Free Software we: Facilitate for others to compare results We preserve knowledge
  12. 12. Social and Ethical aspects Access to software determines people's ability to: Communicate Educate Work Software should be considered as cultural heritage Software will condition more and more the vision of the  world new generations have Who should control these aspects of society? A single  company? Two companies?
  13. 13. Arts and Free Software
  14. 14. The Piece of Art in the Digital Era Piece of Art = Content + Techniques In order to fully understand a piece of art we need to  understand the techniques Digital Piece of Art = Content + Techniques + System In order to fully undertand a digital piece of art we also need to  understand the system and be able to access it to the lowest  level (code!)
  15. 15. Free Expression There is no Free Expression without control of the  Tools you use ( Would Mozart have composed a line of music for an  instrument he wasn't exactly sure what was doing internally or  producing its sound? Would Michelangelo have painted the Sixtine Chapel using a  strange device that might have been recording his personal  conversations while painting An artist needs to be in full control of the tools (be able  to modify, adapt, copy, redistribute...) This can be done personally or through trusted technical staff
  16. 16. Digital Art Heritage In order to preserve a digital piece of art we need to  preserve the system Systems that are closed and proprietary in general  cannot be preserved There are already key compositions in Computer Music  that have already been lost because the original (closed)  system cannot be reproduced Digital Art Preservation = FLOSS
  17. 17. Sound/Music vs. Video/Image Due to amazing pressure by Record Industry (through  RIAA, SGAE...) implementing a website such as  Flicker or UTube in the sound/music world is extremely  difficult. Artists are sometimes not even allowed to post their own  content in their websites See or 
  18. 18. Free Software and Linux for  Audio and Music
  19. 19. Linux and Audio There are plenty of applications, even distributions for  Linux audio (visit linux­ Kguitar Amarok ... etc.
  20. 20. Linux and Audio Linux has unique and outstanding features for  professional audio and music Low latency LAC 2007 ­ Berlin Stability Standard protocols Very active community ...
  21. 21. Free Software and Audio So what about other platforms? Most of the previous apps are compatible with  Windows/OSX But if you are not going to use proprietary software...  what is the point of not using Linux?
  22. 22. Open Frameworks
  23. 23. Digital Luthiers The ultimate degree of freedom is to be able to create  your own tools (personally or through a digital luthier) Many digital pieces of art rely on unique systems and software  that have been tailored for the ocasión Sometimes it is not enough with having an open  application ­> you need an open framework!
  24. 24. Frameworks Framework: “a set of classes that embodies an abstract  design for solutions to a family of problems”  (Johnson&Foote, 88) Framework = model + design patterns + code A framework is a set of prefabricated building blocks  that can be extended or costumized for specific  applications Both the visual and audio domain have a rich history of  application frameworks
  25. 25. CLAM
  26. 26. Highlights  Won the 2006 ACM Best Multimedia Open Source  Software award.  Constantly compiled and tested on Linux, OSX and  Windows  > 250 C++ classes, 50K loc Although it currently specializes in audio and music,  it presents a metamodel that has proven valid for  general multimedia. 
  27. 27. Applications
  28. 28. CLAM Components
  29. 29. Infrastructure. CLAM Network model  The CLAM  network is a  graphical model of  computation  based on  Dataflow Process  Networks   Scheduling can  be performed both  statically and  dynamically,  depending on the  particular  application.
  30. 30. Infrastructure. Processing 
  31. 31. External Open Source libraries FFTW (FFT) Libsndfile, Ogg­Vorbis,  Xercesc & libxml (XML  libmad (mp3), id3lib, for  using DOM API) handling audio files. FLTK and QT GUI  oscpack toolkits libjack RtAudio, PortAudio or  CppUnit (testing  DirectX (for Windows  framework, only used for  audio) development) pthreads (multithreading  on Windows)
  32. 32. Demo
  33. 33. Demo: Visual Prototyping XML XML
  34. 34. Other Free Frameworks
  35. 35. At UC UCSB CSL: similar to CLAM but less ambitious and easier to master UCB OSW UCSD Pd (really, why are people still using Max/MSP?)
  36. 36. Elsewhere Aura (Dannenberg, Carnegie Mellon Univ.) STK (Cook/Scavone, Stanford Univ.) SndObj (Lazzarini, National Univ. of Ireland) Marsyas (Tzanetakis, Univ. of Victoria) Jsyn (Phil Burk, CA)
  37. 37. Conclusions
  38. 38. Conclusions Free Software = Open Source + Freedom Freedom of Expression => Free Software The future of digital arts is at stake If you are convinced to use FLOSS there is no reason  not to use Linux If developing your own app. try to first see if you can  build it out of an existing open framework.
  39. 39. Links CLAM Audio Libraries Distributions and Open  ID3LIB Source Audio Repositories Lame Linux Sound LIBSNDFILE http://linux­ http://www.mega­ AGNULA LIBVORBIS Planet CCRMA MAD d mpeg123  Oscpack CLAM­related environments PORTAUDIO CSL PORTMIDI Jsyn RTAudio Marsyas OSW Pd SndObj STK