39
1 © 2015 The MathWorks, Inc. Reusing and Prototyping Code to Accelerate Innovation The Case of Smart Voice Interfaces Gabriele Bunkheila

Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

1© 2015 The MathWorks, Inc.

Reusing and Prototyping Code to

Accelerate Innovation

The Case of Smart Voice Interfaces

Gabriele Bunkheila

Page 2: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

2

What Device Is This?

Page 3: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

3

▪ Innovate

▪ Reuse

▪ Prototype

Page 4: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

4

System Prototype Demo

Live voice detection, beamforming and speech recognition

[Video placeholder]

Page 5: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

5

What Are Microphone Arrays?

Page 6: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

6

Why Microphone Arrays?

Page 7: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

7

How Can I…

1. Design and simulate a microphone array system?

2. Validate my voice interface can work

in real-life scenarios?

3. Understand what else can

help me improve my performance?

Page 8: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

8

How Can I…

1. Design and simulate a microphone array system?

Page 9: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

9

Section Overview

From analysing a microphone topology to simulating a

beamforming scenario

[Video placeholder]

Page 10: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

10

How To Get Started?

Page 11: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

11

Demo

App-aided exploration of array topologies

[Video placeholder]

Page 12: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

12

Demo

Selecting a set of directionally-selective array configurations

[Video placeholder]

Page 13: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

13

Demo

Simulating time-domain sound acquisition through a

microphone array

[Video placeholder]

Page 14: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

14

Demo

Interactive beamforming simulation with voice source

[Video placeholder]

Page 15: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

15

How Can I…

1.

2. Validate my voice interface can work

in real-life scenarios?

Page 16: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

16

Constrained Simulations vs. Real Life

Page 17: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

17

Constrained Simulations vs. Real Life

Page 18: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

18

Demo

Streaming live multichannel audio in and out of MATLAB

[Video placeholder]

Page 19: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

19

Demo

Real-time prototyping with live tuning of beamforming

algorithms in MATLAB

[Video placeholder]

Page 20: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

20

Demo

Common uses of Digital Audio Workstations (DAW) and audio

plugins for sound acquisition and audio enhancement

[Video placeholder]

Page 21: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

21

Demo

Generating VST plugins from MATLAB and prototyping array

processing algorithms on Digital Audio Workstations

[Video placeholder]

Page 22: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

22

How Can I…

1. Design and simulate a microphone array system?

2.

3. Understand what else can

help me improve my performance?

Page 23: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

23

Recap Demo

Using prototypes to brainstorm on incremental improvements

early on

[Video placeholder]

Page 24: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

24

How To Measure Performance?

▪ "91.5% of spoken

sentences correctly

converted"

▪ Output audio

"sounds good"

Page 25: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

25

?

?

?

Page 26: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

26

Getting Started With a Cloud Service for Speech Recognition

[Video placeholder]

Page 27: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

27

Hide Complexity to Accelerate Reuse

>> [samples, fs] = audioread('hellomatlabexpo.wav');

>> soundsc(samples, fs)

>> [speechString, confidenceInterval] = speech2text(samples, fs , 'en-US')

speechString =

'hello Matlab Expo'

confidenceInterval =

0.9526

Page 28: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

28

?

?

Page 29: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

29

Plugin Hosting

>> noiseRemover = loadAudioPlugin('ERA-N.vst')

noiseRemover =

VST plugin 'ERA-N' 2 in, 2 out

Processing: 40 %Gain: 0 dBTilt: 'NoTilt'

Bypass: 0

>> noiseRemover.Processing = 60;>> noiseRemover.Gain = 3;>> y = process(noiseRemover, x)

https://accusonus.com/products/era-n

Page 30: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

30

Demo

Testing an external audio plugin within a MATLAB live system

model

[Video placeholder]

Page 31: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

31

?

✓ ✓

Page 32: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

32

Building a Small Speech Dataset Quickly

Apps enable interactivity and automation

Page 33: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

33

Building a Small Speech Dataset Quickly

Can you improve speech content labelling?

http://www.cs.cmu.edu/afs/cs.cmu.edu/project/fgdata/OldFiles/Recorder.app/utterances/Type1/harvsents.txt

Page 34: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

34

Building a Small Speech Dataset Quickly

Example: an App with automated content labelling

Page 35: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

35

Demo

Testing speech recognition performance of different design

variants (including with new enhancements)

[Video placeholder]

Page 36: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

36

✓ ✓

Page 37: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

37

How Can I…

1. Design and simulate a microphone array system?

2. Validate my voice interface can work

in real-life scenarios?

3. Understand what else can

help me improve my performance?

Page 38: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

38

System Prototype Demo – Summary and Recap

Live voice detection, beamforming and speech recognition

[Video placeholder]

Page 39: Reusing and Prototyping Code to Accelerate Innovation€¦ · Demo Testing speech recognition performance of different design variants (including with new enhancements) [Video placeholder]

39

Summary

▪ Innovate

▪ Reuse

▪ Prototype