hot topics in musical acoustics applied to real time
play

Hot Topics in Musical Acoustics Applied to Real-Time Sound Synthesis - PowerPoint PPT Presentation

Hot Topics in Musical Acoustics Applied to Real-Time Sound Synthesis Julius Smith CCRMA, Stanford University Acoustical Society of America 166th Meeting Hot Topics Session December 4, 2013 Julius Smith ASA-2013 Hot Topics 3pID3 (MU) 1 /


  1. Hot Topics in Musical Acoustics Applied to Real-Time Sound Synthesis Julius Smith CCRMA, Stanford University Acoustical Society of America 166th Meeting Hot Topics Session December 4, 2013 Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 1 / 18

  2. Enabling Technologies moForte Guitar Faust Intro Research Outline Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 2 / 18

  3. New Enabling Technologies Enabling Technologies 1. Smart-Phones and Tablets • Enabling Technology moForte Guitar • High-quality audio in (mono) and out (stereo) Faust Intro • Fast multicore processors (exponentially growing speed) Research • Multitouch display screens (5 for iPhone, 11 for iPad) 2. Domain-Specific Languages • Functional AUdio STream (F AUST ) — High-Level Signal-Processing Language (Yann Orlarey, GRAME) • Synth-A-Modeler — Physical Model “Diagram” to F AUST (Edgar Berdahl) 3. New Convex Optimization Techniques and Formulations (Esteban Maestre) Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 3 / 18

  4. Enabling Technologies moForte Guitar Faust Intro Research Smart-Phone/Tablet Example: moForte Guitar Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 4 / 18

  5. moForte Guitar Real time on the iPhone 4S (all written in F AUST ): Enabling Technologies moForte Guitar • Full electric-guitar + effects: • moForte Guitar Six vibrating strings — general excitations • CPU Performance • Sound Examples Distortion Feedback Faust Intro Compression Wah pedal or Autowah Research Phaser Flanger Five-band parametric equalizer Reverb • Responds to accelerometer, gyros, touches (plucks), swipes (strumming), . . . • It is challenging to fully utilize five points of multitouch on the iPhone and eleven on the iPad! Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 5 / 18

  6. moForte Guitar Real time on the iPhone 4S (all written in F AUST ): Enabling Technologies moForte Guitar • Full electric-guitar + effects: • moForte Guitar Six vibrating strings — general excitations • CPU Performance • Sound Examples Distortion Feedback Faust Intro Compression Wah pedal or Autowah Research Phaser Flanger Five-band parametric equalizer Reverb • Responds to accelerometer, gyros, touches (plucks), swipes (strumming), . . . • It is challenging to fully utilize five points of multitouch on the iPhone and eleven on the iPad! Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 5 / 18

  7. moForte Guitar Real time on the iPhone 4S (all written in F AUST ): Enabling Technologies moForte Guitar • Full electric-guitar + effects: • moForte Guitar Six vibrating strings — general excitations • CPU Performance • Sound Examples Distortion Feedback Faust Intro Compression Wah pedal or Autowah Research Phaser Flanger Five-band parametric equalizer Reverb • Responds to accelerometer, gyros, touches (plucks), swipes (strumming), . . . • It is challenging to fully utilize five points of multitouch on the iPhone and eleven on the iPad! Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 5 / 18

  8. Effects Running in Real Time on the iPhone 4S with All Six Strings Playing Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 6 / 18

  9. iPhone CPU Performance Enabling Technologies moForte Guitar • moForte Guitar • CPU Performance • Sound Examples Faust Intro Research Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 7 / 18

  10. Distortion Guitar Sound Examples Enabling Technologies • moForte Guitar Demo Video moForte Guitar • moForte Guitar • Distortion Guitar: (WAV) (MP3) • CPU Performance • Sound Examples • Amplifier Feedback 1: (WAV) (MP3) Faust Intro Research • Amplifier Feedback 2: (WAV) (MP3) Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 8 / 18

  11. Enabling Technologies moForte Guitar Faust Intro Research F AUST Introduction Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 9 / 18

  12. F AUST Language Short F AUST Program Examples: process = _ ; process = + ; process = _,_ : + : _; process = pole(0.9) with { pole(p) = + ~ *(p); }; Partial C++ Output for Last Example Above: virtual void compute (int count, FAUSTFLOAT** input, FAUSTFLOAT** output) { FAUSTFLOAT* input0 = input[0]; FAUSTFLOAT* output0 = output[0]; for (int i=0; i<count; i++) { fRec0[0] = ((float)input0[i] + (0.9f * fRec0[1])); output0[i] = (FAUSTFLOAT)fRec0[0]; // post processing fRec0[1] = fRec0[0]; } } Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 10 / 18

  13. F AUST Example: zita rev1.dsp Source Code (F AUST effect.lib ): zita_rev_fdn(f1,f2,t60dc,t60m,fsmax) = ((bus(2*N) :> allpass_combs(N) : feedbackmatrix(N)) ~ (delayfilters(N,freqs,durs) : fbdelaylines(N))) ... Block Diagram (drawn by the F AUST compiler): zita_rev1_eng...1, 8, 0.1))))(48000) fbdelaylines(8) delayfilters(...1, 8, 0.1)))) in_delay distrib2(8) outp allpass_combs(8) feedbackmatrix(8) JACK-Aware Standalone App (generated from F AUST source): Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 11 / 18

  14. F AUST Main Programs Supported Shell Script Arch. File Description faust2jack (f2j) jack-gtk.cpp JACK GTK standalone application faust2jaqt jack-qt.cpp JACK QT4 standalone application faust2caqt (f2ca) ca-qt.cpp CoreAudio QT4 standalone application faust2pa pa-gtk.cpp PortAudio GTK standalone application faust2paqt pa-qt.cpp PortAudio QT4 standalone application faust2netjackqt netjack-qt.cpp server with libnetjack support faust2oss oss-gtk.cpp OSS GTK standalone application faust2alsa alsa-gtk.cpp ALSA GTK standalone application faust2alqt alsa-qt.cpp ALSA QT4 standalone application faust2alsaconsole alsa-console.cpp ALSA terminal program faust2android android.cpp Android phone/tablet application faust2ios ios-coreaudio[-jack].cpp iOS phone/tablet application faust2rpi* [alsa—netjack]-console.cpp Raspberry Pi application sndfile.cpp sound file transformation command bench.cpp speed benchmark faust2octave (f2o) octave.cpp output signals to Octave (matlab) Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 12 / 18

  15. F AUST Plugin Architectures Supported Shell Script Arch. File Description faust2ladspa ladspa.cpp Linux LADSPA effect plugin faust2dssi dssi.cpp Linux synth plugin, extending LADSPAA faust2lv2 lv2.cpp Linux synth plugin, newer lv2 type faust2lv2-synth lv2synth.cpp Linux synth plugin, newer lv2 type faust2vst vst2p4.cpp VST 2.4 plugin faust2vsti vsti-poly.cpp VSTi instrument faust2au (f2au) au-effect.cpp Apple Audio Unit (AU) effect plugin faust2au au-instrument.cpp Apple AU instrument plugin faust2max max-msp.cpp Max/MSP external faust2puredata puredata.cpp PD external faust2supercollider supercollider.cpp SuperCollider Unit Generator snd-rt-gtk.cpp Snd-RT music programming language faust2q q.cpp Q language plugin faust2csound csound.cpp CSOUND opcode faust2alchemy alchemy-as.cpp Flash/ActionScript plugin (for Web browsers) Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 13 / 18

  16. Getting Started with F AUST Enabling Technologies • Faust Website: http://faust.grame.fr/ moForte Guitar (Click on “Online Examples” and type in some F AUST code!) Faust Intro • F AUST Language • Faust ZitaRev1 • Faust Apps • Faust Plugins • Faust Intro: • Faust Pointers https://ccrma.stanford.edu/~jos/aspf/ Research (Google Search: “Audio Signal Processing in Faust”) • F AUST is Free Open Source Software (FOSS) for Mac OS, Linux, and Windows Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 14 / 18

  17. Enabling Technologies moForte Guitar Faust Intro Research Ongoing Research Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 15 / 18

  18. Synth-A-Modeler Block-Diagram to F AUST Translator Enabling Technologies • F AUST is excellent for specifying platform-independent moForte Guitar signal-processing block diagrams Faust Intro Research • For physical models a higher-level front-end is helpful • Synth-A-Modeler • 2D Bridge Modeling • Waveguide Reverb • Physical objects need bidirectional connections • Linux Audio Conference 2012 (LAC-12) Paper: http://lac.linuxaudio.org/2012/papers/34.pdf “An Introduction to the Synth-A-Modeler Compiler: Modular and Open-Source Sound Synthesis using Physical Models,” Edgar Berdahl et al. • GPL Free Software: git clone https://github.com/eberdahl/SaM.git Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 16 / 18

  19. 2D Bridge Modeling for Bowed Strings Enabling Technologies Reference: E. Maestre, G. P . Scavone, and J. O. Smith III, “Digital moForte Guitar modeling of bridge driving-point admittances from measurements on Faust Intro violin-family instruments”, in Proceedings of the Stockholm Musical Research Acoustics Conference (SMAC-13), • Synth-A-Modeler • 2D Bridge Modeling http://www.speech.kth.se/smac-smc-2013/. • Waveguide Reverb Two-dimensional Bridge Model Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 17 / 18

  20. Scattering Delay Networks (SDN) Enabling Technologies “Scattering Delay Networks” by Enzo De Sena , moForte Guitar useyin Hacıhabibo˘ glu, Zoran Cvetkovi´ H¨ c, and Julius O. Smith III Faust Intro Research • Synth-A-Modeler • 2D Bridge Modeling • Waveguide Reverb Julius Smith ASA-2013 Hot Topics 3pID3 (MU) – 18 / 18

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