Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca...

47
1 © 2015 The MathWorks, Inc. Riutilizzo e prototipazione di codice Design of Voice Interfaces for IoT Devices Francesca Perino

Transcript of Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca...

Page 1: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

1© 2015 The MathWorks, Inc.

Riutilizzo e prototipazione di codiceDesign of Voice Interfaces for IoT Devices

Francesca Perino

Page 2: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

2

▪ Innovate

▪ Reuse

▪ Prototype

Page 3: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

3

What Device Is This?

Page 4: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

4

What Are Microphone Arrays?

Page 5: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

5

Why Microphone Arrays?

Page 6: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

6

Page 7: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

7

Page 8: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

8

Page 9: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

9

Page 10: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

10

How Can I…

1. Design 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 11: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

11

How Can I…

1. Design 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 12: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

12

Design a Microphone Array System

…starting from a given array hardware

▪ BlueCoin from ST Microelectronics

4x MEMS

Microphones

Page 13: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

13

Page 14: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

14

Page 15: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

15

Page 16: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

16

Page 17: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

17

Page 18: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

18

Page 19: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

19

Time Domain Simulation of an Array System

Sound source

Page 20: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

20

Page 21: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

21

Page 22: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

22

Page 23: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

23

How Can I ….Validate my voice interface can work in real-life scenarios?

Constrained Simulations vs. Real Life

Page 24: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

24

Page 25: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

25

Page 26: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

26

Page 27: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

27

Page 28: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

28

Page 29: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

29

Page 30: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

30

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 31: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

31

Demo

Testing an external audio plugin within a MATLAB live system

model

[Video placeholder]

Page 32: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

32

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 33: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

33

How To Measure Performance?

"91.5% of spoken

sentences correctly

converted"

Output audio

"sounds good"

Page 34: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

34

?

?✓

Page 35: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

35

Page 36: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

36

Test performance with speech-to-text services

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

>> soundsc(samples, fs)

>> speechObject = speechClient('Google','languageCode','en-US');

>> outInfo = speech2text(speechObject, samples, fs);

>> outInfo.TRANSCRIPT =

ans =

'hello audio product Developers'

>> outInfo.CONFIDENCE =

ans =

0.9385https://www.mathworks.com/matlabcentral/fileexchange/65266-speech2text

Page 37: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

37

?

✓✓

Page 38: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

38

Building a small speech dataset quickly

Apps enable interactivity and automation

Page 39: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

39

Building a small speech dataset quickly

How to accelerate speech content labelling?

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

Page 40: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

40

Building a small speech dataset quickly

Example: an App with automated content labelling

Page 41: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

41

Building a small speech dataset quickly

Example: an App with automated content labelling*

*See also Dataset Recorder App prototype in example "Record

Audio Datasets" (From R2018a in Audio System Toolbox)

Page 42: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

42

Page 43: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

43

Page 44: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

44

Page 45: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

45

How Can I…

1. Design 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 46: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

46

Page 47: Design of Voice Interfaces for IoT Devices · Design of Voice Interfaces for IoT Devices Francesca Perino. 2 ... Validate my voice interface can work in real-life scenarios? 3. Understand

47

Summary

▪ Innovate

▪ Reuse

▪ Prototype