sound synthesis with foo
play

sound synthesis with foo once again text & parenthesis but less - PowerPoint PPT Presentation

sound synthesis with foo once again text & parenthesis but less silly non-realtime sound synthesis written in objective-c and scheme text interface (scheme) priority to high quality audio rendering over performance


  1. sound synthesis with foo “once again text & parenthesis – but less silly” • non-realtime sound synthesis • written in objective-c and scheme • text interface (scheme) • priority to high quality audio rendering over performance lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 1

  2. foo history • free software project • *1993 zkm: gerhard eckel, ramón gonzález-arroyo • NeXT platform, NeXT foundation library • 1994: presentation at ICMC • 1996 zkm: last version for a long time (2.1) • only user: ramón gonzález-arroyo • 2003 fraunhofer institute: first port to linux (martin rumori) lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 2

  3. “foo”: the name • from RFC 3092 (etymology of foo and bar): "Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files)." • in the beginning the admin was not willing to setup a cvs repository • now: sourceforge project (takeover of the “foo” sample project) do they know what they did? lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 3

  4. parts of foo • foo kernel (objective-c) • foo interface (c/objective-c) • foo control library (scheme) • abstraction • envelope • interface-lib • node • processes • tools • utilities lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 4

  5. the first sine wave (syn 1 3 (output~ 1 (sine~ (~ 440)))) • syn convenience macro: channels, synth duration • ~ indicates signal-processing module • output~ to specific channel • “everything is a signal” lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 5

  6. key features of foo • simple • clean semantics of context , task , time • scalable sinc interpolator for resampling (expensive!) • bandlimited noise • incremental mixing lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 6

  7. context – task context context (output~ 1 (gate~ (noise~) 2)) (output~ 2 (...)) (output~ 1 (gate~ (noise~) 2)) (output~ 2 (...)) task task reference, offset, samplerate.. reference, offset, samplerate.. soundfile lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 7

  8. future plans • port from old-stype NeXTStep to OpenStep • LADSPA plugins as modules • port to mac os x • dynamically loadable modules (unit generators) • typed signals • rudimentary realtime support ( → jack support) • cleanup context/task semantics lad meeting #2 zkm karlsruhe, april 30th 2004, martin rumori: foo sound synthesis – p. 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend