39
Free Software for Free Sound UCDARNET, Open Symposium February, 2007 Xavier Amatriain (CREATE, UCSB, CLAM)

Free Software for Free Sound

Embed Size (px)

DESCRIPTION

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.

Citation preview

Page 1: Free Software for Free Sound

Free Softwarefor

Free Sound

UCDARNET, Open SymposiumFebruary, 2007

Xavier Amatriain (CREATE, UCSB, CLAM)

Page 2: Free Software for Free Sound

Index

Free Software and Open SourceWhy?Arts and Free SoftwareFree Software and Linux for Audio and MusicDigital Luthiers and Open FrameworksCLAMOther Music/Audio Open Source FrameworksConclusions

Page 3: Free Software for Free Sound

Free Software andOpen Source

Page 4: Free Software for Free Sound

What is Free Software?

Freedom 1: unlimited use for any purposeFreedom 2: freedom to study and adapt to your own needsFreedom 3: freedom to copyFreedom 4: freedom to redistribute

Free (Libre) as in Freedom not as in BeerFreedom is kept through copyright (because copyright allows licensing)

Page 5: Free Software for Free Sound

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.

Page 6: Free Software for Free Sound

Names and Dates

Richard StallmanStarts the GNU Project (1983)Defines Free Software (1985)Introduces the GPL (1985)

Linus TorvaldDevelops the Linux kernel (1991)

Eric RaymondFounder of the Open Source Initiative (1998)

Page 7: Free Software for Free Sound

Why?

Page 8: Free Software for Free Sound

Technical/Practical advantages of FLOSS

Code is revised by many developersSecurity (kerchoff's principle)EstabilityCollaborative effort of large communitiesPrice

Although interesting, there are even more important reasons...

Page 9: Free Software for Free Sound

FLOSS and Economy

Proprietary software by definition favors monopolies that then extend to hardwareFLOSS does not kill software industryFLOSS can be comercialIt promotes the culture of paying for services, not arbitrarily priced licencesLarge companies like IBM or Novell are already basing part of their business around FLOSS

Page 10: Free Software for Free Sound

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 itselfAt the university we must present with several perspectives and favor criticism and dialogUniversity teaches how to learn not how to use a particular toolCoding is not only for programmers but for scientists, artists, children...

Page 11: Free Software for Free Sound

Free Software and Research

Scientific method depends in many senses on the free exchange of knowledge and ideasNowadays implementation is actually part of the resultSoftware is and should be considered in many cases like some other sort of publicationWith Free Software we:

Facilitate for others to compare resultsWe preserve knowledge

Page 12: Free Software for Free Sound

Social and Ethical aspects

Access to software determines people's ability to:CommunicateEducateWork

Software should be considered as cultural heritageSoftware will condition more and more the vision of the world new generations haveWho should control these aspects of society? A single company? Two companies?

Page 13: Free Software for Free Sound

Arts and Free Software

Page 14: Free Software for Free Sound

The Piece of Art in the Digital Era

Piece of Art = Content + TechniquesIn order to fully understand a piece of art we need to understand the techniques

Digital Piece of Art = Content + Techniques + SystemIn 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!)

Page 15: Free Software for Free Sound

Free Expression

There is no Free Expression without control of the Tools you use (agnula.org)

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

Page 16: Free Software for Free Sound

Digital Art Heritage

In order to preserve a digital piece of art we need to preserve the systemSystems that are closed and proprietary in general cannot be preservedThere are already key compositions in Computer Music that have already been lost because the original (closed) system cannot be reproduced

Digital Art Preservation = FLOSS

Page 17: Free Software for Free Sound

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 http://freesound.iua.upf.edu or http://www.ccmixter.org/ 

Page 18: Free Software for Free Sound

Free Software and Linux for Audio and Music

Page 19: Free Software for Free Sound

Linux and Audio

There are plenty of applications, even distributions for Linux audio (visit linux­sound.org)

Kguitar

Amarok

... etc.

Page 20: Free Software for Free Sound

Linux and Audio

Linux has unique and outstanding features for professional audio and music

Low latencyStabilityStandard protocolsVery active community...

LAC 2007 ­ Berlin

Page 21: Free Software for Free Sound

Free Software and Audio

So what about other platforms?Most of the previous apps are compatible with Windows/OSXBut if you are not going to use proprietary software... what is the point of not using Linux?

Page 22: Free Software for Free Sound

Open Frameworks

Page 23: Free Software for Free Sound

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!

Page 24: Free Software for Free Sound

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 + codeA framework is a set of prefabricated building blocks that can be extended or costumized for specific applicationsBoth the visual and audio domain have a rich history of application frameworks

Page 25: Free Software for Free Sound

CLAM

Page 26: Free Software for Free Sound

Highlights

 Won the 2006 ACM Best Multimedia Open Source Software award.

 Constantly compiled and tested on Linux, OSX and Windows

 > 250 C++ classes, 50K locAlthough it currently specializes in audio and music, 

it presents a metamodel that has proven valid for general multimedia. 

Page 27: Free Software for Free Sound

Applications

Page 28: Free Software for Free Sound

CLAM Components

Page 29: Free Software for Free Sound

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.

Page 30: Free Software for Free Sound

Infrastructure. Processing 

Page 31: Free Software for Free Sound

External Open Source libraries

FFTW (FFT)Xercesc & libxml (XML using DOM API)FLTK and QT GUI toolkitsRtAudio, PortAudio or DirectX (for Windows audio)

Libsndfile, Ogg­Vorbis, libmad (mp3), id3lib, for handling audio files.oscpacklibjackCppUnit (testing framework, only used for development)pthreads (multithreading on Windows)

Page 32: Free Software for Free Sound

Demo

Page 33: Free Software for Free Sound

Demo: Visual Prototyping

XMLXML

Page 34: Free Software for Free Sound

Other Free Frameworks

Page 35: Free Software for Free Sound

At UC

UCSBCSL: similar to CLAM but less ambitious and easier to master

UCBOSW

UCSDPd (really, why are people still using Max/MSP?)

Page 36: Free Software for Free Sound

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)

Page 37: Free Software for Free Sound

Conclusions

Page 38: Free Software for Free Sound

Conclusions

Free Software = Open Source + FreedomFreedom of Expression => Free SoftwareThe future of digital arts is at stakeIf you are convinced to use FLOSS there is no reason not to use LinuxIf developing your own app. try to first see if you can build it out of an existing open framework.

Page 39: Free Software for Free Sound

LinksCLAMhttp://www.clam.iua.upf.edu

Distributions and Open Source Audio Repositories

Linux Soundhttp://linux­sound.orgAGNULAhttp://www.agnula.orgPlanet CCRMAhttp://ccrma.stanford.edu/planetccrma/software

CLAM­related environmentsCSL http://www.create.ucsb.edu/CSLJsynhttp://www.softsynth.com/jsyn/Marsyashttp://opihi.cs.uvic.ca/marsyasOSW http://osw.sourceforge.netPd http://puredata.infoSndObjhttp://music.nuim.ie/musictec/SndObjSTK http://ccrma.stanford.edu/software/stk

Audio LibrariesID3LIBhttp://id3lib.sourceforge.netLamehttp://lame.sourceforge.netLIBSNDFILEhttp://www.mega­nerd.com/libsndfileLIBVORBIShttp://xiph.org/vorbisMADhttp://www.underbit.com/products/ma dmpeg123http://www.mpg123.de Oscpackhttp://www.audiomulch.com/~rossb/code/oscpackPORTAUDIOhttp://www.portaudio.comPORTMIDIhttp://www.cs.cmu.edu/~music/portmusicRTAudiohttp://www.music.mcgill.ca/~gary/rtaudio