PowerPoint Presentation Physical Modeling of Musical Instruments on Handheld Mobile Devices. Pat Scandalis (CTO, acting CEO) gps@moforte.com Dr. Julius O. Smith III (Founding Consultant) Nick Porcaro (Chief Scientist) moForte Inc. moForte.com’s Technical Deck 5/10/2014 5/10/2014 1 mailto:gps@moforte.com First a Quick Demo! 5/10/2014 2 Demo (youTube) DEMO: Modeled Guitar Features, Purple Haze http://youtu.be/PweowN2PGkc http://youtu.be/PweowN2PGkc http://youtu.be/PweowN2PGkc Overview • A brief history of physically modeled musical instruments as well as some commercial products that have used this technology. • Demonstration what is currently possible on handheld mobile devices using the moForte Guitar. • Brief overview of where the technology is heading. 5/10/2014 3 What is Physical Modeling Synthesis? • Methods in which a sound is generated using a mathematical model of the physical source of sound. • Any gestures that are used to interact with a real physical system can be mapped to parameters yielded an interactive an expressive performance experience. • Physical modeling is a collection of different techniques. 5/10/2014 4 Why Musical Physical Models on handheld mobile devices? • Handheld mobile computing devices are now ubiquitous. • These devices are powerful, connected and equipped with a variety of sensors. • Pervasiveness of mobile/sensor rich computing devices has created an opportunity to revisit parametrically controlled, physically modeled, virtual musical instruments using handheld mobile devices. 5/10/2014 5 Properties of Handheld Mobile Devices • Ubiquitous • Small • Powerful • Multi-touch screens • Sensors: acceleration, compass, gyroscope, camera, gestures • Connected to networks • Socially connected • Integrated payment systems 5/10/2014 6 Why even model a guitar, don't samples sound great? • Sampled guitars do sound great. But they are not interactive, and they can have a flat repetitive playback experience. • By modeling the guitar its possible to make interactive features like, feedback, harmonics, pick position, slides brightness, palm muting part of a performance. • moForte has identified a list of around 70 guitar articulations that can be used by players. The physicality of the model makes it possible for these articulations to be used in performances. 5/10/2014 7 Currently implement Articulations Apagado Arpeggio strum Bend Bend by distressing the neck Burn or destroy guitar Feedback harmonics Finger picking Glissando Hard dive with the whammy bar Harmonic Muted strum Pinch harmonic Play harmonics with tip of finger and thumb Polyphonic bend Polyphonic slide, Polyphonic slide + open strings Scrape Slide Staccato Steinberger trans- trem Strum Surf apagado Surf quick slide up the neck Tap time Vibrato Walk bass Whammy bend Whammy spring restore Future Articulations Bottleneck (portamento Slide) Bowing Bridge/neck short strings ebowing Finger Style (Eddie Van Halen) Hammer, polyphonic hammer Individual String Pitch Bend Legato Pluck, sharp or soft pick Pop Prepared string (masking tape) Pull, polyphonic pull Rasqueado Reverb spring Bang. Scrape+ (ala Black Dog) Slap Strum and body tap Strum and string tap Touching Ungrounded Cable Trill Trill up the neck into echo Vibrato onset delay Volume pedal swell Volume pedal swell into delay device Brief (though not complete) History of Physical Modeling Synthesis As well as a few commercial products using the technology 5/10/2014 8 The Voder (1937-39) - Homer Dudley • Analog Electronic Speech Synthesis • Analog model of the vocal tract • Develop from research on voice compression at Bell Labs. • Featured at the 1939 Worlds fair • YouTube 5/10/2014 9 http://youtu.be/mSdFu1xdoZk Kelly-Lochbaum Vocal Tract Model (1961) 5/10/2014 10 Daisy Bell (1961) • Daisy Bell (MP3) • Vocal part by Kelly and Lochbaum (1961) • Musical accompaniment by Max Mathews • Computed on an IBM 704 • Based on Russian speech-vowel data from Gunnar Fant’s book • Probably the first digital physical-modeling synthesis sound example by any method • Inspired Arthur C. Clarke to adapt it for “2001: A Space Odyssey” the Hal 9000’s “first song” 5/10/2014 11 http://ccrma.stanford.edu/~jos/mp3/daisy-klm.mp3 http://ccrma.stanford.edu/~jos/mp3/daisy-klm.mp3 http://www.moforte.com/wp-content/uploads/2013/04/HAL9000.mp3 Karplus-Strong (KS) Algorithm (1983) 5/10/2014 12 • Discovered (1978) as “self-modifying wavetable synthesis” • Wavetable is preferably initialized with random numbers • Licensed to Mattel • The first musical use of the algorithm was in the work “May All Your Children Be Acrobats” written in 1981 by David A. Jaffe. (MP3) http://www.moforte.com/wp-content/uploads/2013/04/maycba8.mp3 EKS Algorithm (Jaffe-Smith 1983) 5/10/2014 13 • Musical Example “Silicon Valley Breakdown” (Jaffe 1992) (MP3) • Musical Example BWV-1041 (used to intro the NeXT machine 1988) (MP3) http://www.moforte.com/wp-content/uploads/2013/04/SVB.mp3 https://ccrma.stanford.edu/~jos/mp3/bachfugue.mp3 Digital Waveguide Models (Smith 1985) • Useful for efficient models of – Strings – Bores – plane waves – conical waves 5/10/2014 14 Sheila Vocal Track Modeling (Cook 1990) 5/10/2014 15 Perry Cook’s SPASM "Singing Physical Articulatory Synthesis Model” • Diphones: (MP3) • Nasals: (MP3) • Scales: (MP3) • “Sheila”: (MP3) https://ccrma.stanford.edu/~jos/mp3/diphs.mp3 https://ccrma.stanford.edu/~jos/mp3/diphs.mp3 https://ccrma.stanford.edu/~jos/mp3/nasals.mp3 https://ccrma.stanford.edu/~jos/mp3/nasals.mp3 https://ccrma.stanford.edu/~jos/mp3/vocaliz.mp3 https://ccrma.stanford.edu/~jos/mp3/vocaliz.mp3 https://ccrma.stanford.edu/~jos/mp3/vocaliz.mp3 https://ccrma.stanford.edu/~jos/mp3/shiela.mp3 https://ccrma.stanford.edu/~jos/mp3/shiela.mp3 https://ccrma.stanford.edu/~jos/mp3/shiela.mp3 https://ccrma.stanford.edu/~jos/mp3/shiela.mp3 Commuted Synthesis (Smith) (1994) 5/10/2014 16 Commuted Synthesis Examples 5/10/2014 17 • Electric guitar, different pickups and bodies (Sondius) (MP3) • Mandolin (STK) (MP3) • Classical Guitar (Mikael Laurson, Cumhur Erkut, and Vesa Välimäki) (MP3) • Bass (Sondius) (MP3) • Upright Bass (Sondius) (MP3) • Cello (Sondius) (MP3) • Piano (Sondius) (MP3) • Harpsichord (Sondius) (MP3) http://scandalis.com/Jarrah/Audio/GuitarPickUps.mp3 https://ccrma.stanford.edu/~jos/mp3/mandolin2.mp3 https://ccrma.stanford.edu/~jos/mp3/Prelude.mp3 https://ccrma.stanford.edu/~jos/mp3/bass.mp3 http://www.moforte.com/wp-content/uploads/2013/04/Bass.mp3 https://ccrma.stanford.edu/~jos/mp3/cello.mp3 http://www.moforte.com/wp-content/uploads/2013/04/SondiusPiano.mp3 http://www.moforte.com/wp-content/uploads/2013/04/SondiusPiano.mp3 http://scandalis.com/Jarrah/Audio/Harpsichord.mp3 http://scandalis.com/Jarrah/Audio/Harpsichord.mp3 Yamaha VL Line (1994) • Yamaha Licensed “Digital Waveguide Synthesis” for use in its products including the VL line (VL-1, VL-1m, VL-70m, EX-5, EX-7, chip sets, sound cards, soft-synth drivers) • Shakuhachi: (MP3) • Oboe and Bassoon: (MP3) • Tenor Saxophone: (MP3) 5/10/2014 18 https://ccrma.stanford.edu/~jos/mp3/shakuhachi.mp3 https://ccrma.stanford.edu/~jos/mp3/shakuhachi.mp3 https://ccrma.stanford.edu/~jos/mp3/oboe-bassoon.mp3 https://ccrma.stanford.edu/~jos/mp3/oboe-bassoon.mp3 https://ccrma.stanford.edu/~jos/mp3/tenor-sax.mp3 https://ccrma.stanford.edu/~jos/mp3/tenor-sax.mp3 Korg SynthKit Line (1994) • SynthKit (1994) • Prophecy (1995) • Trinity (1995) • OASYS PCI (1999) • OASYS (2005) • Kronos (2011) 5/10/2014 19 “The Next Big Thing” (1994) 5/10/2014 20 The Next Big Thing 2/94 The History of PM 9/94 Stanford Sondius Project (1994-1997) • Stanford OTL/CCRMA created the Sondius project to assist with commercializing physical modeling technologies. • The result was a modeling tool known as SynthBuilder, and a set of models covering about two thirds of the General MIDI set. • Many modeling techniques were used including EKS, Waveguide, Commuted Synthesis, Coupled Mode Synthesis, Virtual Analog. 5/10/2014 21 SynthBuilder (Porcaro, et al) (1995) • SynthBuilder was a user- extensible, object-oriented, NEXTSTEP Music Kit application for interactive real-time design and performance of synthesizer patches, especially physical models. • Patches were represented by networks consisting of digital signal processing elements called unit generators and MIDI event elements called note filters and note generators. 5/10/2014 22 The Frankenstein Box (1996) • The Frankenstein box was an 8 DSP 56k compute farm build by Bill Putnam and Tim Stilson • There was also a single card version know as the “Cocktail Frank” • Used for running models developed with SynthBuilder • The distortion guitar ran on 6 DSPs with an additional 2 DSPs used for outboard effects. 5/10/2014 23 http://scandalis.com/Jarrah/Images/Frankenstein.gif http://scandalis.com/Jarrah/Images/P5_NeXT_Frankenstein.gif The Sondius Electric Guitar (1996) • Pick model for different guitars/pickups (commuted synthesis, Scandalis) • Feedback and distortion with amp distance (Sullivan) • Wah-wah based on cry baby measurements (Putnam, Stilson) • Reverb and flanger (Dattorro) • Hybrid allpass delay line for pitchBend (Van Duyne, Jaffe, Scandalis) • Performed using a 6-channel MIDI guitar controller. • With no effects, 6 strings ran at 22k on a 72 Mhz Motorola 56002 DSP. • Waveguide Guitar Distortion, Amplifier Feedback (MP3) 5/10/2014 24 http://scandalis.com/Jarrah/Audio/DistortionGuitar.mp3 http://scandalis.com/Jarrah/Images/WaveGuideGuitar-1.gif http://scandalis.com/Jarrah/Images/WaveGuideGuitar-2.gif Sondius Sound Examples (1996) • Waveguide Flute Model (MP3) • Waveguide Guitar Model, Different Pickups (MP3) • Waveguide Guitar Distortion, Amplifier Feedback (MP3) • Waveguide Guitar Model, Wah-wah (MP3) • Waveguide Guitar Model, Jazz Guitar (ES-175) (MP3) • Harpsichord Model (MP3) • Tibetan Bell Model (MP3) • Wind Chime Model (MP3) • Tubular Bells Model (MP3) • Percussion Ensemble (MP3) • Bass (MP3) • Upright Bass (MP3) • Cello (MP3) • Piano (MP3) • Harpsichord (MP3) • Virtual Analog (MP3) 5/10/2014 25 http://scandalis.com/Jarrah/Audio/WaveguideFlute.mp3 http://scandalis.com/Jarrah/Audio/GuitarPickUps.mp3 http://scandalis.com/Jarrah/Audio/DistortionGuitar.mp3 https://ccrma.stanford.edu/~jos/mp3/gtr-wah.mp3 http://scandalis.com/Jarrah/Audio/JazzGuitar.mp3 http://scandalis.com/Jarrah/Audio/Harpsichord.mp3 http://scandalis.com/Jarrah/Audio/TibetanBell.mp3 http://scandalis.com/Jarrah/Audio/Windchimes.mp3 http://www.moforte.com/wp-content/uploads/2013/04/TubularBells.mp3 http://www.moforte.com/wp-content/uploads/2013/04/CMS_Percussion.mp3 https://ccrma.stanford.edu/~jos/mp3/bass.mp3 http://www.moforte.com/wp-content/uploads/2013/04/Bass.mp3 http://www.moforte.com/wp-content/uploads/2013/04/Bass.mp3 https://ccrma.stanford.edu/~jos/mp3/cello.mp3 http://www.moforte.com/wp-content/uploads/2013/04/SondiusPiano.mp3 http://www.moforte.com/wp-content/uploads/2013/04/SondiusPiano.mp3 http://scandalis.com/Jarrah/Audio/Harpsichord.mp3 http://scandalis.com/Jarrah/Audio/Harpsichord.mp3 http://www.moforte.com/wp-content/uploads/2013/04/TEKNO.mp3 Coupled Mode Synthesis (CMS) (Van Duyne) (1996) • Modeling of percussion sounds • Modal technique with coupling • Tibetan Bell Model (MP3) • Wind Chime Model (MP3) • Tubular Bells Model (MP3) • Percussion Ensemble (MP3) 5/10/2014 26 http://scandalis.com/Jarrah/Audio/TibetanBell.mp3 http://scandalis.com/Jarrah/Audio/Windchimes.mp3 http://www.moforte.com/wp-content/uploads/2013/04/TubularBells.mp3 http://www.moforte.com/wp-content/uploads/2013/04/CMS_Percussion.mp3 Virtual Analog (Stilson-Smith) (1996) • Alias-Free Digital Synthesis of Classic Analog Waveforms • Digital implementation of the Moog VCF. Four identical one-poles in series with a feedback loop. • Sounds great! (MP3) (youTube) 5/10/2014 27 http://www.moforte.com/wp-content/uploads/2013/04/TEKNO.mp3 http://www.youtube.com/watch?v=-r9oPcibhes Synthesis Tool Kit (STK) (1997) • Synthesis Tool Kit (STK) by Perry Cook, Gary Scavone, et al. distributed by CCRMA • The Synthesis Toolkit (STK) is an open source API for real time audio synthesis with an emphasis on classes to facilitate the development of physical modeling synthesizers. • Pluck example (MP3) • STK Clarinet (MP3) 5/10/2014 28 https://ccrma.stanford.edu/~jos/mp3/plucked.mp3 https://ccrma.stanford.edu/~jos/mp3/clarinet.mp3 Seer Systems “Reality” (1997) • Stanley Jungleib, Dave Smith (MIDI, Sequential Circuits) • Ring-0 SW MIDI synth. Native Signal Processing. • Offered a number of Sondius Models. 5/10/2014 29 Aureal ASP 301 Chip (1995-1997) • Targeted for Sound Cards • Hardware implementation of Digital Waveguide • A version of the electric guitar ran on this chip 5/10/2014 30 Staccato SynthCore (1999) • Staccato Systems spun out of Sondius in 1997 to commercialize Physical Modeling technologies. • SynthCore was a ring-0 synthesis driver that supported both DLS (Down Loadable Sounds) and Staccato’s proprietary Down Loadable Algorithms (DLAs). It was distributed in two forms. • Packaged as a ring-0 “MIDI driver”, SynthCore could replace the wavetable chip on a sound card, as a software based XG- lite/DLS audio solution (SynthCore-OEM) (SigmaTel, ADI) • Packaged as a DLL/COM service, SynthCore could be integrated into game titles so that games could make use of interactive audio algorithms (race car, car crashes, light sabers) (SynthCore-SDK) (Electronic Arts, Lucas Arts…) 5/10/2014 31 SynthCore Game Models (2000) 5/10/2014 32 • Jet (Stilson) (MP3) • Race Car (Cascone, et al) (MP3) • Example models from Staccato ~1999 (windows only) http://www.moforte.com/wp-content/uploads/2013/04/Jet.mp3 http://www.moforte.com/wp-content/uploads/2013/04/raceCar.mp3 http://scandalis.com/Jarrah/PhysicalModels/StaccatoDemo.zip SynthCore Wavetable Chip Replacement • About half of the General MIDI set was implemented with physical models though few existing MIDI scores could make use of the expression parameters. • Staccato was purchased by Analog Devices in 2000. ADI combined Staccato’s ring-0 software based XG-lite/DLS MIDI synth with a low cost AC97 codec and transformed the PC audio market from sound cards to built-in audio. 5/10/2014 33 Faust-STK (2011) • FAUST [Functional Audio Stream] is a synchronous functional programming language specifically designed for real- time signal processing and synthesis. • The FAUST compiler translates DSP specifications into equivalent C++ programs, taking care of generating efficient code. • The FAUST-STK is a set of virtual musical instruments written in the FAUST programming language and based on waveguide algorithms and on modal synthesis. Most of them were inspired by instruments implemented in the Synthesis ToolKit (STK) and the program SynthBuilder. 5/10/2014 34 Smule Magic Fiddle (2010) 5/10/2014 35 Smule | Magic Fiddle for iPad [St. Lawrence String Quartet] (youTube) http://www.youtube.com/watch?v=U8wjFmLQJT4 Compute for string models over the years • NeXT Machine (1992) – Motorola DSP56001 20MHz 128k dram, 22k sample rate • 6 plucks • or 2-4 Guitar Strings • Frankenstein, Cocktail Frank (1996) – Motorola DSP56301 72MHz 128k dram, 22k sample rate • 6 guitar strings, feedback and distortion, • Reverb, wah-wah, flange running on a additional DSPs • Staccato (1999) – 500MHz Pentium, native signal processing, 22k sample rate – 6 strings, feedback and distortion used around 80% cpu • iPhone 4S (2013) – 800 MHz A5, 44k sample rate – 6 strings, feedback and distortion use around 37% cpu • iPad 2 (2013) – 800 MHz A5, 44k sample rate – 6 strings, feedback and distortion use around 37% cpu 5/10/2014 36 moForte Guitar 2014 5/10/2014 37 Demo (youTube) DEMO: Modeled Guitar Features, Purple Haze http://youtu.be/DFdaJgf_DTk http://youtu.be/DFdaJgf_DTk http://youtu.be/DFdaJgf_DTk MoForte Guitar Features • Modeled distortion and feedback • Strumming and PowerChord modes • Selection of Guitars • Modeled guitar articulations including: harmonics, pinch harmonics, slides, apagado, glissando, string scraping, damping and auto-strum. • 10,000+ chords and custom chords • Fully programmable effects chain including: distortion, • compression, wah, auto wah, 4-band parametric EQ, • phaser, flanger, reverb, amplifier with presets. • Authoring tool for song chart creation. • Share creations with friends on popular social networks. • In-app purchases available for charts, instruments, effects and feature upgrades • Heterogeneous computing model that fully exploits the device’s CPUs, GPUs, DSPs and sensors to bring an interactive emotional experience to our users. 5/10/2014 38 "Conduct and Express” Metaphor • moForte's mission is to provide highly interactive, social applications that empower everyone to make and share musical and sonic experiences. • moForte has developed a unique “conduct and express” performance metaphor that enables everyone to experience performing the guitar. The performance experience has been transformed into a to a small number of gestures: – tap/hold, for electric lead “PowerChording” – swiping, for strumming) – rotations and hold swiping for expression • MoForte Guitar makes it possible for everyone to experience strumming a guitar, to experience what it’s like to play feedback- distortion Guitar. 5/10/2014 39 The moForte Guitar Stack 5/10/2014 40 The DSP Guitar Model • Numerous extensions on EKS and Waveguide • Can be calibrated to sound like various guitars. Realized in Faust • Charts can access and control ~50 controllers. • A selection of controllers: – Instrument (select a calibrated instrument) – velocity – pitchBend, pitchBendT60 (bending and bend smoothing rate) – t60 (overall decay time) – brightness (overall spectral shape) – velocity – harmonic (configure the model to generate harmonics) – pinchHarmonic (pinch harmonics) – pickPosition (play position on the string) – Apagado (palm muting) 5/10/2014 41 DEMO: Different Guitars, Rock and Roll - Strum The Effects Chain • Chart Player, Guitar, Distortion, Compressor, Wah, Auto Wah, 4 band Parametric EQ, Phaser, Flanger, Reverb, Amplifier. • Realized in Faust. 5/10/2014 42 DEMO: Strumming Chart The Performance Model • Strumming and PowerChording Gestures. • Slides • Strum Separation Time • Variances • Strum Kernels • Chart Player 5/10/2014 43 Disrupting the Uncanny Valley • We want the playing experience to be fun. • Aiming toward “Suspension of Disbelief”. • Use modeling to get close to the real physical sound generation experience. • Sometimes “go over the top”. Its expressive and fun! • Use statistical variances to disrupt repetitive performance. 5/10/2014 44 Controls With Statistical Variance • velocity • pickPosition • brightness • t60 • keyNum • strumSeparationTime • strumVariation (in auto strum mode) 5/10/2014 45 DEMO: Strum Variations Strum Kernels • Small strumming sequences that model how guitar players strum. • Separates the harmonic context and the musical presentation. Thus the same chord sequence can be performed with different strum kernels. • A strum is an rhythmic event that is part of a strum kernel. Each strum can model, direction, strings, velocity, pickPosition, t60, brightness, strum separation time. • Many types of expressive performance possible, strumming, strum clamps, finger picking, comping. 5/10/2014 46 DEMOS: Finger Picking, Stairway to Heaven, Rasguedo What’s Next: Modeling More Articulations 5/10/2014 47 Currently implement Articulations Apagado Arpeggio strum Bend Bend by distressing the neck Burn or destroy guitar Feedback harmonics Finger picking Glissando Hard dive with the whammy bar Harmonic Muted strum Pinch harmonic Play harmonics with tip of finger and thumb Polyphonic bend Polyphonic slide, Polyphonic slide + open strings Scrape Slide Staccato Steinberger trans- trem Strum Surf apagado Surf quick slide up the neck Tap time Vibrato Walk bass Whammy bend Whammy spring restore Future Articulations Bottleneck (portamento Slide) Bowing Bridge/neck short strings ebowing Finger Style (Eddie Van Halen) Hammer, polyphonic hammer Individual String Pitch Bend Legato Pluck, sharp or soft pick Pop Prepared string (masking tape) Pull, polyphonic pull Rasqueado Reverb spring Bang. Scrape+ (ala Black Dog) Slap Strum and body tap Strum and string tap Touching Ungrounded Cable Trill Trill up the neck into echo Vibrato onset delay Volume pedal swell Volume pedal swell into delay device What does moForte’s near term product timeline look like? • We are pushing toward a split of the app into two consumer products (Guitar-Inator, Guitaroake) and two products for musicians (moForte Guitar, PowerStomp), followed by a hard launch. 5/10/2014 48 Near term products 5/10/2014 49 Guitar-Inator (~July/2014) -Targeted for ~10M consumer enthusiasts - Freemium Guitaraoke (~July/2014) -Targeted for ~10M consumer enthusiasts - Freemium moForte Guitar (R1.4 March/2014) -Targeted for ~1M musicians - Accompaniment and song writing - Freemium PowerStomp (~July/2014) -Targeted for ~250k amplified musicians - Paymium Shared code base moForte’s near-term product roadmap (1 of 2) • Guitar-Inator (~July/2014) – Targeted for consumer enthusiasts: ~10M – Game-ified tablature – "Conduct and Express” performance metaphor – Performance sharing • Guitaroake (~July/2014) – Targeted for consumer enthusiasts: ~10M – Unique spin on karaoke: Guitar accompanied Karaoke, Karaoke unplugged – Performance sharing 5/10/2014 50 moForte’s near-term product roadmap (2 of 2) • moForte Guitar (R1.4 March/2014) – Targeted at musicians: ~1M (~250k are guitar players) – Musical instrument • Touch screen strumming, “Conduct and Express” • MIDI (future) • auto-solo (future) – Accompaniment – Song writing – Performance sharing • PowerStomp (~July/2014) – Targeted at guitar players (~250k) – All-in-one effects chain – Plug in a real guitar – Special cable available – Special pedal available 5/10/2014 51 Heterogeneous computation • Heterogeneous computing model that fully exploits the device’s CPUs, GPUs, DSPs and sensors to bring an interactive emotional experience to our users. • Guitar/effects model runs on CPU and DSP • Sprites, particles run on GPU • DSP used for mix-down and effects during social sharing • Sensors used for sonic interaction 5/10/2014 52 Technology FAQs 5/10/2014 53 When will it be available for Android? • We plan to support Android by holiday 2014. • We see Android as an important opportunity and key to meeting our target goals. • The Core DSP is implemented in Faust which is emitted as C++. Faust now supports Android, and the core DSP is easily ported. • We are still evaluating what strategy to take with the performance model (likely a C++ port) and the UI. 5/10/2014 54 What is moForte's "Conduct and Express" metaphor? • moForte's mission is to provide highly interactive, social applications that empower everyone to make and share musical and sonic experiences. • moForte has developed a unique “conduct and express” performance metaphor that enables everyone to experience performing the guitar. The performance experience has been transformed into a to a small number of gestures: – tap/hold, for electric lead “PowerChording” – swiping, for strumming) – rotations and hold swiping for expression • MoForte Guitar makes it possible for everyone to experience strumming a guitar, to experience what it’s like to play feedback- distortion Guitar. 5/10/2014 55 Can users jam together across the internet? (1 of 2) • moForte has investigated this area but is NOT currently working on creating a platform for jamming across the internet. • Latency is a significant issue. – see http://en.wikipedia.org/wiki/Latency_(audio) • The shared performance experience is particularly sensitive to perceived latency. Within the MI (Musical Instrument) industry its a rule of thumb that if key->sound latency is much larger than 11ms, the performer will need to "play ahead" leading to a performance that is “loose”, error prone and even frustrating. • Audio latency facts: – Audio Latency in air at sea level/room temp ~1ms/ft – Using the speed of light the fastest round trip around the earth is 135ms (vacuum) - 200ms (FO cable). – Real inter-network latencies can be much greater and more variable. 5/10/2014 56 http://en.wikipedia.org/wiki/Latency_(audio) Can users jam together across the internet? (2 of 2) • Some types of performances are possible: – Slow performances – Cascaded – Side by side (one player after the other) – Electrifying, tight duets, or real ensembles are less likely to work. • For consumers an experience like a band jamming across the internet is not likely be a good experience 5/10/2014 57 • In Flamenco music the interaction between two players is referred to as Duende "It comes from inside as a physical/emotional response to art. It is what gives you chills, makes you smile or cry as a bodily reaction to an artistic performance that is particularly expressive". These players are performing and syncing with around 3ms of air latency. This is typical of many performance situations. What is the latency? • The largest source of latency (for ios) appears to between screen interaction and the guitar model. Note that the audio buffer latency is about 5ms. • We started at 180ms screen to audio out. • We brought this down to 21-36ms by replacing Apple's gesture handlers with a custom gesture handler. This makes sense. Gesture handling requires analysis of a moderate amount of state to initiate an action. • We have not yet measured MIDI/OSC to audio latency, but we believe that it will allow us to get close to our 11ms goal. • PowerStomp which is audio-in/effects chain/audio out is around 11ms. 5/10/2014 58 What about wireless audio out of the device? • We've looked a number of wireless audio solutions. Most are intended for playback of recorded music and have significant latency; some as much as 1 second. • We've not found a solution yet with reasonable latency. • We've also looked a number of "legacy" wireless FM transmitters. None of what we have tried have good audio performance. • We may need to build our own technology in this area. 5/10/2014 59 What about wireless synchronized performances (virtual orchestras)? • We have been experimenting with the idea of wireless conductor/performer. • One device is the conductor and the source of time. • Each device (performer) has its own part. • The performers receive temporal corrections from the conductor using techniques similar to NTP. • These temporal corrections can be very minimal data in the wireless network. We estimate that temporal corrections can be as infrequent as once every 30 seconds. • This will enable a large number of devices in a wireless network to coordinate a performance. 5/10/2014 60 What about playing along with your music library? • Its possible, but may not be a great user experience. • Currently the Screen->sound latency is a bit long (~21- 36ms) to make this a great user experience. • Playing along with the music library may be possible via MIDI/OSC or even the Guitar-Iinator enclosure concept. 5/10/2014 61 Can the app listen to your music library and automatically generate charts to play? • We've been looking at various MIR (Music Information Retrieval) technologies to support this idea. • There are a number of products on the market that try to do harmonic context recognition (the chords) with various degrees of success. – CAPO an assisted/manual transcription program used by music transcribers has some support to recognize chords using spectral techniques. – A website called chordify.net that works to recognize the chords for a song using MIR techniques. • This is an active area of research. • We may partner with other companies that work in this area. The goal would be to get them to generate our chart XML based on MIR techniques. 5/10/2014 62 What will the social network sharing look like? 5/10/2014 63 Will moForte do Physical Models for games? • At Staccato we did physical models for games: http://www.scandalis.com/Jarrah/PhysicalModels/index.ht ml#Staccato – We had adoption success (1997-2000): The race car and crashes in the EA Nascar line of games, a light sabre for Lucas Arts. – The monetization opportunity was not there. The studios wanted to pay as little as $5k/title for a buyout of the technology. • In 1999 games were selling upwards of $50/seat. Today a game is a few dollars and we don't think that there is a reasonable monetization opportunity. 5/10/2014 64 http://www.scandalis.com/Jarrah/PhysicalModels/index.html http://www.scandalis.com/Jarrah/PhysicalModels/index.html http://www.scandalis.com/Jarrah/PhysicalModels/index.html http://www.scandalis.com/Jarrah/PhysicalModels/index.html Can you sense pressure/impulse with the touch screen? • This would be useful for percussion and other instruments. • We've experimented with using the accelerometer to extract a parameter that correlates with pressure. There are a number of challenges with this approach. – On iOS devices the accelerometer appears to be under-sampled to properly identify an impulse peak. – The result is highly skewed by how rigidly the user is holding the device, and when the device is set down on a rigid surface (table), it does not work at all. • We believe that there is a correlation between spot-size and force. This would need to be sampled at a reasonable rate and integrated over an appropriate window. – iOS has some non-public API to read spot size, but use of this API is known to be a reason for app rejection. – We understand that Android provides access to spot size for a touch. We've not yet experimented with this. • Search reveals that there are a number of efforts to implement a HW solution. 5/10/2014 65 Do you have backing tracks? • We are planning to support backing tracks in a future release. • Playing with a backing track involves some of the same latency issues that exist as with playing along with your music library. • We are developing an "auto-solo" technology that will mitigate most of these issues and allow even the enthusiast to play along with a backing track and sound like an amazing player. 5/10/2014 66 How much of the CPU is moForte Guitar utilizing? • We are currently running six strings and the effects chain. • On an iPhone 4s or iPad2 this is using about 70% or the CPU… ~37% for the 6 guitar strings. • Visualization graphics are running on the GPU. • The compute opportunity gets better with time and we plan to exploit that. 5/10/2014 67 How accurate is the timing in moForte Guitar? • In iOS for audio we are using CoreAudio with 5ms buffers. • The sequencer is very accurate. In iOS we are using a CoreAnimation timer which is tied to the graphics refresh rate. • We are using standard techniques to manage jitter (~2ms on average). 5/10/2014 68 Why even model a guitar, don't samples sound great? • Sampled guitars do sound great. But they are not interactive, and they can have a flat repetitive playback experience. • By modeling the guitar its possible to make interactive features like, feedback, harmonics, pick position, slides brightness, palm muting part of a performance. • moForte has identified a list of around 70 guitar articulations that can be used by players. The physicality of the model makes it possible for these articulations to be used in performances. 5/10/2014 69 Currently implement Articulations Apagado Arpeggio strum Bend Bend by distressing the neck Burn or destroy guitar Feedback harmonics Finger picking Glissando Hard dive with the whammy bar Harmonic Muted strum Pinch harmonic Play harmonics with tip of finger and thumb Polyphonic bend Polyphonic slide, Polyphonic slide + open strings Scrape Slide Staccato Steinberger trans- trem Strum Surf apagado Surf quick slide up the neck Tap time Vibrato Walk bass Whammy bend Whammy spring restore Future Articulations Bottleneck (portamento Slide) Bowing Bridge/neck short strings ebowing Finger Style (Eddie Van Halen) Hammer, polyphonic hammer Individual String Pitch Bend Legato Pluck, sharp or soft pick Pop Prepared string (masking tape) Pull, polyphonic pull Rasqueado Reverb spring Bang. Scrape+ (ala Black Dog) Slap Strum and body tap Strum and string tap Touching Ungrounded Cable Trill Trill up the neck into echo Vibrato onset delay Volume pedal swell Volume pedal swell into delay device Do you model all oscillation modes of the string, x-y-torsional. Coupling, multi stage decay? • We are modeling one of the primary modes. • We are looking at adding bridge coupling • As available compute increases we may add a second primary mode as well as other features. 5/10/2014 70 What about acoustic guitars and all the other chordophones? • Yes we are working on many different types of electric and acoustic chordophones. • moForte is developing a calibration process that will allow us to generate model data for these different instruments. • These instruments will be offered as in-app purchases for moForte Guitar. 5/10/2014 71 When will moForte offer a Ukulele? • We are working on modeling a ukulele along with a number of other chordophones. • These instruments will be offered as in-app purchases for moForte Guitar. • The ukulele is one of the most requested instruments that we are asked about ;-) 5/10/2014 72 Can I plug my real guitar into the effects chain? • moForte has been working on an in-app upgrade to moForte Guitar called PowerStomp that will allow a user to plug a real instrument into the effects chain. • PowerStomp can be combined with a special audio in/out cable to connect the guitar, device and amplifier. Also PowerStomp supports the Airturn next/previous pedal to step through a chart of effects changes. • We demo-ed PowerStomp at NAMM in January. • PowerStomp will likely ship in the spring or summer. 5/10/2014 73 What’s the plan for growing the number of effects that are offered? • moForte's monetization model includes selling additional effects both for the model guitar and for PowerStomp, the effects chain upgrade. • There is a large body of open-source and BSD effects processor algorithms to draw on. We will likely re-implement these processors in Faust. • moForte has a list of effect units that it plans to offer for sale in the near term. We expect this list to grow to between 20-40 different types of effect processors. 5/10/2014 74 The distortion sounds great. What about overdrive? • Our distortion unit implements hard distortion. • As we expand our effects offerings we will offer an amp/tube/overdrive modeling unit • There is a body of open-source and BSD algorithms in this area to draw on. We will likely re-implement these algorithms in Faust. 5/10/2014 75 Tell me about the chart editor • The Chart Editor is an advanced feature that allows users to create their own charts. • moForte's underlying chart representation is specified as XML with an XSD for validation. • The chart editor that creates chart XMLs is currently designed for a phone size device. • Over time we will provide an alternative more expansive chart UI for tablet devices. • We may also provide a browser based UI for chart creation. • We may also open our chart specification for 3rd party apps to be able to create charts. 5/10/2014 76 Tell me about the chordTape UI • The chordTape is the UI presentation of moForte Guitar’s chart format. • moForte started out with the concept that a score is a simple list of chords that you strum. • We quickly moved on to supporting lines (riffs) with single note chords. • moForte will soon make a transition to tablature as its primary chart presentation method. • Tablature is a very well known score presentation method, used by millions of guitar players. There is a large body of tablature literature that can be brought into moForte Guitar. 5/10/2014 77 Why would a guitar player be interested in moForte Guitar? • Guitar-inator is aimed at entertainment (gamified-tablature, guitar accompanied karaoke) • moForte Guitar offers real utility to musicians and guitar players in the form of: – Real instrument performance – Effects processor for real instruments – Accompaniment – Song writing. 5/10/2014 78 Will you do plugins VST, Audio Units, other audio plugin architectures? • At the present time there are roughly 10 different audio plug-in architectures and dozens of different Digital Audio Workstations (DAWs). • The task of qualifying and supporting a plugin for these combinations is enormous. • Many of the plug-in companies dedicate large number of resources to qualification and support. • At the present time moForte does not plan to market and sell plugins. • However we may partner with a plugin company to offer moForte Guitar. 5/10/2014 79 How are you different from the Guitar Hero & Rock Band line of games? • The Guitar Hero and Rockband line of games are rhythm games. – The goal of game play is for the player to win points by tapping (and strum) notes at the right time based on cues on the screen. – The player is presented with a pre-recorded track, – The player earns scores and feedback about the performance. – In these games the virtual guitar does not appear to be organized like a real guitar. Thus game play does not translate into a real learning experience. – Because playback is a pre-recorded track, slowing down for learning mastery is difficult. • In contrast in moForte’s Guitar-inator – The goal is to learn the rhythm of the part so that the part can be played and expressed in a performance visualizer. – The player is NOT presented with a pre-recorded track. The user is actually playing the guitar part. – If the user plays with the correct timing a tally is incremented to show the number of correct taps. – The user can play the guitar and share that performance with friends. – Guitar-inator is a gamification of guitar tablature and as such can be used to learn to play the song on a real guitar. – Playback can be slowed down for learning mastery. • Note that moForte Guitar is not a game. Its a set of performance and composing tools for musicians and guitar players. 5/10/2014 80 Will moForte provide guitar training software? • Training software is targeted to the market of aspiring guitar players. • This is a complex educational problem and requires a significant body of training material to be authored and proven. • A the present time we are not approaching this market, though we may license our technology to companies who are working on this problem. • We will however, be providing the means for guitar players (~20M in the US) to learn to play specific pieces of music via single stepping through tablature (~R1.8) 5/10/2014 81 What’s next? • More content • More instruments • More effects units • Features like MIDI, audiobus, PowerStomp, auto-solo • More apps, Percussion, Theremin, Flute, DigitalDoo … 5/10/2014 82 Thanks! • Mary Albertson • Chris Chafe • John Chowning • Perry Cook • Jon Dattorro • David Jaffe • Joe Koepnick • Scott Levine • Fernando Lopez-Lezcano • OTL • Danny Petkevich • Nick Porcaro • Bill Putnam • Kent Sandvik • Gregory Pat Scandalis • Julius Smith • Tim Stilson • David Van Brink • Scott Van Duyne • Yamaha 5/10/2014 83 and CCRMA