Meeting transcript:
speaker: A
text: OK ,
speaker: A
text: we 're going .
speaker: D
text: Damn .
speaker: C
text: And uh Hans - uh , Hans - Guenter will be here , um , I think by next <disfmarker> next Tuesday or so .
speaker: D
text: Mm - hmm .
speaker: B
text: Oh , OK .
speaker: C
text: So he 's <disfmarker> he 's going to be here for about three weeks ,
speaker: B
text: Oh !
speaker: B
text: That 's nice .
speaker: A
text: Just for a visit ?
speaker: C
text: and ,
speaker: C
text: uh <disfmarker>
speaker: C
text: Uh , we 'll see .
speaker: C
text: We might <disfmarker> might end up with some longer collaboration or something .
speaker: A
text: Huh .
speaker: C
text: So he 's gonna look in on everything we 're doing
speaker: A
text: Cool .
speaker: D
text: Mm - hmm .
speaker: C
text: and give us his <disfmarker> his thoughts .
speaker: C
text: And so it 'll be another <disfmarker> another good person looking at things .
speaker: B
text: Oh .
speaker: B
text: Hmm .
speaker: E
text: Th - that 's his spectral subtraction group ?
speaker: E
text: Is that right ?
speaker: C
text: Yeah ,
speaker: E
text: Oh , OK .
speaker: C
text: yeah .
speaker: E
text: So I guess I should probably talk to him a bit too ?
speaker: C
text: Oh , yeah .
speaker: C
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: No , he 'll be around for three weeks .
speaker: C
text: He 's , uh , um , very , very , easygoing ,
speaker: C
text: easy to talk to ,
speaker: C
text: and , uh , very interested in everything .
speaker: A
text: Really nice guy .
speaker: C
text: Yeah ,
speaker: C
text: yeah .
speaker: B
text: Yeah , we met him in Amsterdam .
speaker: C
text: Yeah ,
speaker: C
text: yeah , he 's been here before .
speaker: C
text: I mean , he 's <disfmarker> he 's <disfmarker> he 's <disfmarker> he 's <disfmarker>
speaker: B
text: Oh , OK .
speaker: B
text: I haven't noticed him .
speaker: A
text: Wh - Back when I was a grad student he was here for a , uh , uh <disfmarker> a year or <comment> n six months .
speaker: C
text: N nine months .
speaker: A
text: Something like that .
speaker: C
text: Something like that .
speaker: A
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: He 's <disfmarker> he 's done a couple stays here .
speaker: B
text: Hmm .
speaker: C
text: Yeah .
speaker: A
text: So , um , <vocalsound> <comment> I guess we got lots to catch up on .
speaker: A
text: And we haven't met for a couple of weeks .
speaker: A
text: We didn't meet last week , Morgan .
speaker: A
text: Um , I went around and talked to everybody ,
speaker: A
text: and it seemed like they <disfmarker> they had some new results
speaker: A
text: but rather than them coming up and telling me I figured we should just wait a week and they can tell both <disfmarker> you know , all of us .
speaker: A
text: So , um ,
speaker: A
text: why don't we <disfmarker> why don't we start with you , Dave ,
speaker: E
text: Oh , OK .
speaker: A
text: and then , um , we can go on .
speaker: A
text: So .
speaker: E
text: So , um , since we 're looking at putting this , um <disfmarker> mean log m magnitude spectral subtraction , um , into the SmartKom system , I I did a test seeing if , um , it would work using past only <comment> and plus the present to calculate the mean .
speaker: E
text: So , I did a test , um , <vocalsound> where I used twelve seconds from the past and the present frame to , um , calculate the mean .
speaker: E
text: And <disfmarker>
speaker: A
text: Twelve seconds <disfmarker>
speaker: A
text: Twelve <disfmarker> twelve seconds back from the current <pause> frame ,
speaker: E
text: Uh <disfmarker>
speaker: A
text: is that what you mean ?
speaker: E
text: Twelve seconds , um , counting back from the end of the current frame ,
speaker: E
text: yeah .
speaker: A
text: OK ,
speaker: E
text: So it was , um , twen I think it was twenty - one frames
speaker: A
text: OK .
speaker: E
text: and that worked out to about twelve seconds .
speaker: A
text: Mm - hmm .
speaker: E
text: And compared to , um , do using a twelve second centered window , I think there was a drop in performance
speaker: E
text: but it was just a slight drop .
speaker: C
text: Mm - hmm .
speaker: A
text: Hmm !
speaker: E
text: Is <disfmarker> is that right ?
speaker: C
text: Um ,
speaker: C
text: yeah , I mean , it was pretty <disfmarker> it was pretty tiny .
speaker: E
text: Uh - huh .
speaker: C
text: Yeah .
speaker: E
text: So that was encouraging .
speaker: E
text: And , um ,
speaker: E
text: that <disfmarker> that <disfmarker> um , that 's encouraging for <disfmarker> for the idea of using it in an interactive system like
speaker: E
text: And , um , another issue I 'm <disfmarker> I 'm thinking about is in the SmartKom system .
speaker: E
text: So say twe twelve seconds in the earlier test seemed like a good length of time ,
speaker: E
text: but what happens if you have less than twelve seconds ?
speaker: E
text: And , um <disfmarker>
speaker: E
text: So I w bef before , um <disfmarker> Back in May , I did some experiments using , say , two seconds , or four seconds , or six seconds .
speaker: E
text: In those I trained the models using mean subtraction with the means calculated over two seconds , or four seconds , or six seconds .
speaker: E
text: And , um ,
speaker: E
text: here , I was curious , what if I trained the models using twelve seconds
speaker: E
text: but I f I gave it a situation where the test set I was <disfmarker> subtracted using two seconds , or four seconds , or six seconds .
speaker: E
text: And , um <disfmarker>
speaker: E
text: So I did that for about three different conditions .
speaker: E
text: And , um <disfmarker>
speaker: E
text: I mean , I th I think it was , um , four se
speaker: E
text: I think <disfmarker> I think it was , um , something like four seconds and , um , six seconds , and eight seconds .
speaker: E
text: Something like that .
speaker: E
text: And it seems like it <disfmarker> it <disfmarker> it hurts compared to if you actually train the models <comment> using th that same length of time
speaker: E
text: but it <disfmarker> it doesn't hurt that much .
speaker: E
text: Um ,
speaker: E
text: u usually less than point five percent ,
speaker: E
text: although I think I did see one where it was a point eight percent or so rise in word error rate .
speaker: E
text: But this is , um , w where , um , even if I train on the , uh , model , and mean subtracted it with the same length of time as in the test , it <disfmarker> the word error rate is around , um , ten percent or nine percent .
speaker: E
text: So it doesn't seem like that big a d a difference .
speaker: C
text: But it <disfmarker> but looking at it the other way , isn't it <disfmarker> what you 're saying that it didn't help you to have the longer time for training ,
speaker: C
text: if you were going to have a short time for <disfmarker>
speaker: E
text: That <disfmarker> that 's true .
speaker: E
text: Um ,
speaker: C
text: I mean , why would you do it , if you knew that you were going to have short windows in testing .
speaker: E
text: Wa
speaker: A
text: Yeah , it seems like for your <disfmarker> I mean , in normal situations you would never get twelve seconds of speech ,
speaker: A
text: right ?
speaker: B
text: You need twelve seconds in the past to estimate , right ?
speaker: A
text: I 'm not <disfmarker> e u
speaker: C
text: Yeah .
speaker: B
text: Or l or you 're looking at six sec <disfmarker> seconds in future and six in <disfmarker>
speaker: E
text: Um , t twelve s
speaker: E
text: N n uh <disfmarker> For the test it 's just twelve seconds in the past .
speaker: C
text: No , total .
speaker: B
text: No , it 's all <disfmarker>
speaker: B
text: Oh , OK .
speaker: A
text: Is this twelve seconds of <disfmarker> uh , regardless of speech or silence ?
speaker: A
text: Or twelve seconds of speech ?
speaker: E
text: Of <disfmarker> of speech .
speaker: A
text: OK .
speaker: B
text: Mm - hmm .
speaker: C
text: The other thing , um , which maybe relates a little bit to something else we 've talked about in terms of windowing and so on is , that , um , I wonder if you trained with twelve seconds , and then when you were two seconds in you used two seconds ,
speaker: C
text: and when you were four seconds in , you used four seconds ,
speaker: C
text: and when you were six <disfmarker>
speaker: C
text: and you basically build up to the twelve seconds .
speaker: C
text: So that if you have very long utterances you have the best ,
speaker: E
text: Yeah .
speaker: C
text: but if you have shorter utterances you use what you can .
speaker: E
text: Right .
speaker: E
text: And that 's actually what we 're planning to do in
speaker: C
text: OK .
speaker: E
text: But <disfmarker>
speaker: C
text: Yeah .
speaker: E
text: s so I g So I guess the que the question I was trying to get at with those experiments is , " does it matter what models you use ?
speaker: E
text: Does it matter how much time y you use to calculate the mean when you were , um , tra doing the training data ? "
speaker: C
text: Right .
speaker: C
text: But I mean the other thing is that that 's <disfmarker>
speaker: C
text: I mean , the other way of looking at this , going back to , uh , mean cepstral subtraction versus RASTA kind of things , is that you could look at mean cepstral subtraction ,
speaker: C
text: especially the way you 're doing it , uh , as being a kind of filter .
speaker: C
text: And so , the other thing is just to design a filter .
speaker: C
text: You know , basically you 're <disfmarker> you 're <disfmarker> you 're doing a high - pass filter or a band - pass filter of some sort
speaker: C
text: and <disfmarker> and just design a filter .
speaker: C
text: And then , you know , a filter will have a certain behavior
speaker: C
text: and you loo can look at the start up behavior when you start up with nothing .
speaker: E
text: Mm - hmm .
speaker: C
text: And <disfmarker> and , you know , it will , uh , if you have an IIR filter for instance , it will , um , uh , not behave in the steady - state way that you would like it to behave until you get a long enough period ,
speaker: C
text: but , um ,
speaker: C
text: uh ,
speaker: C
text: by just constraining yourself to have your filter be only a subtraction of the mean , you 're kind of , you know , tying your hands behind your back
speaker: C
text: because there 's <disfmarker> filters have all sorts of be temporal and spectral behaviors .
speaker: E
text: Mm - hmm .
speaker: C
text: And the only thing , you know , consistent that we know about is that you want to get rid of the very low frequency component .
speaker: E
text: Hmm .
speaker: B
text: But do you really want to calculate the mean ?
speaker: B
text: And you neglect all the silence regions <comment> or you just use everything that 's twelve seconds ,
speaker: B
text: and <disfmarker>
speaker: E
text: Um ,
speaker: E
text: you <disfmarker> do you mean in my tests so far ?
speaker: B
text: Ye - yeah .
speaker: E
text: Most of the silence has been cut out .
speaker: B
text: OK .
speaker: E
text: Just <disfmarker> There 's just inter - word silences .
speaker: B
text: Mm - hmm .
speaker: B
text: And they are , like , pretty short .
speaker: E
text: Pretty short .
speaker: B
text: Shor
speaker: B
text: Yeah ,
speaker: E
text: Yeah .
speaker: B
text: OK .
speaker: B
text: Yeah .
speaker: B
text: Mm - hmm .
speaker: B
text: So you really need a lot of speech to estimate the mean of it .
speaker: E
text: Well , if I only use six seconds , it still works pretty well .
speaker: B
text: Yeah .
speaker: B
text: Yeah .
speaker: B
text: Uh - huh .
speaker: E
text: I saw in my test before .
speaker: E
text: I was trying twelve seconds cuz that was the best <pause> in my test before
speaker: B
text: OK .
speaker: E
text: and that increasing past twelve seconds didn't seem to help .
speaker: B
text: Hmm .
speaker: B
text: Huh .
speaker: E
text: th um , yeah ,
speaker: E
text: I guess it 's something I need to play with more to decide how to set that up for the SmartKom system .
speaker: E
text: Like , may maybe if I trained on six seconds it would work better when I only had two seconds or four seconds , and <disfmarker>
speaker: C
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: And , um <disfmarker>
speaker: E
text: OK .
speaker: C
text: Yeah , and again , if you take this filtering perspective and if you essentially have it build up over time .
speaker: C
text: I mean , if you computed means over two and then over four , and over six , essentially what you 're getting at is a kind of , uh , ramp up of a filter anyway .
speaker: C
text: And so you may <disfmarker> may just want to think of it as a filter .
speaker: C
text: But , uh , if you do that , then , um , in practice somebody using the SmartKom system , one would think <comment> <disfmarker> if they 're using it for a while , it means that their first utterance , instead of , you know , getting , uh , a forty percent error rate reduction , they 'll get a <disfmarker> uh , over what , uh , you 'd get without this , uh , um , policy , uh , you get thirty percent .
speaker: C
text: And then the second utterance that you give , they get the full <disfmarker> you know , uh , full benefit of it if it 's this ongoing thing .
speaker: A
text: Oh ,
speaker: A
text: so you <disfmarker> you cache the utterances ?
speaker: A
text: That 's how you get your ,
speaker: A
text: uh <disfmarker>
speaker: E
text: M
speaker: C
text: Well , I 'm saying in practice , yeah ,
speaker: A
text: Ah .
speaker: C
text: that 's <disfmarker> If somebody 's using a system to ask for directions or something ,
speaker: A
text: OK .
speaker: A
text: OK .
speaker: C
text: you know , they 'll say something first .
speaker: C
text: And <disfmarker> and to begin with if it doesn't get them quite right , ma m maybe they 'll come back and say , " excuse me ? "
speaker: A
text: Mm - hmm .
speaker: C
text: uh ,
speaker: C
text: or some <disfmarker>
speaker: C
text: I mean it should have some policy like that anyway .
speaker: A
text: Mm - hmm .
speaker: C
text: And <disfmarker> and , uh ,
speaker: C
text: uh , in any event they might ask a second question .
speaker: C
text: And it 's not like what he 's doing doesn't , uh , improve things .
speaker: C
text: It does improve things ,
speaker: C
text: just not as much as he would like .
speaker: C
text: And so , uh , there 's a higher probability of it making an error , uh , in the first utterance .
speaker: A
text: What would be really cool is if you could have <disfmarker>
speaker: A
text: uh , this probably <disfmarker> users would never like this <disfmarker>
speaker: A
text: but if you had <disfmarker> could have a system where , <vocalsound> before they began to use it they had to introduce themselves , verbally .
speaker: C
text: Mm - hmm .
speaker: A
text: You know .
speaker: C
text: Yeah .
speaker: A
text: " Hi ,
speaker: A
text: my name is so - and - so ,
speaker: A
text: I 'm from blah - blah - blah . "
speaker: A
text: And you could use that initial speech to do all these adaptations
speaker: E
text: Mm - hmm .
speaker: A
text: and <disfmarker>
speaker: C
text: Right .
speaker: C
text: Oh , the other thing I guess which <disfmarker> which ,
speaker: C
text: uh ,
speaker: C
text: I don't know much about <disfmarker> as much as I should about the rest of the system
speaker: C
text: but <disfmarker> but , um ,
speaker: C
text: couldn't you , uh , if you <disfmarker> if you sort of did a first pass
speaker: C
text: I don't know what kind of , uh , uh , capability we have at the moment for <disfmarker> for doing second passes on <disfmarker> on , uh , uh , some kind of little <disfmarker> small lattice , or a graph , or confusion network , or something .
speaker: C
text: But if you did first pass with , um , the <disfmarker> with <disfmarker> either without the mean sub subtraction or with a <disfmarker> a very short time one ,
speaker: C
text: and then , um , once you , uh , actually had the whole utterance in , if you did , um , the , uh , uh , longer time version then , based on everything that you had , um , and then at that point only used it to distinguish between , you know , top N , um , possible utterances or something , you <disfmarker> you might <disfmarker> it might not take very much time .
speaker: C
text: I mean , I know in the large vocabulary stu uh , uh , systems , people were evaluating on in the past , some people really pushed everything in to make it in one pass
speaker: C
text: but other people didn't and had multiple passes .
speaker: C
text: And , um ,
speaker: C
text: the argument , um , against multiple passes was u u has often been " but we want to this to be r you know <disfmarker> have a nice interactive response " .
speaker: C
text: And the counterargument to that which , say , uh , BBN I think had , <comment> was " yeah ,
speaker: C
text: but our second responses are <disfmarker> second , uh , passes and third passes are really , really fast " .
speaker: A
text: Mm - hmm .
speaker: C
text: So , um , if <disfmarker> if your second pass takes a millisecond who cares ?
speaker: C
text: Um .
speaker: E
text: S so , um ,
speaker: E
text: the <disfmarker> the idea of the second pass would be waiting till you have more recorded speech ?
speaker: E
text: Or <disfmarker> ?
speaker: C
text: Yeah ,
speaker: C
text: so if it turned out to be a problem , that you didn't have enough speech because you need a longer <disfmarker> longer window to do this processing , then , uh , one tactic is <disfmarker> you know , looking at the larger system and not just at the front - end stuff <comment> <disfmarker> is to take in , um , the speech with some simpler mechanism or shorter time mechanism ,
speaker: E
text: Mm - hmm .
speaker: C
text: um , do the best you can , and come up with some al possible alternates of what might have been said .
speaker: C
text: And , uh , either in the form of an N - best list or in the form of a lattice , or <disfmarker> or confusion network , or whatever .
speaker: E
text: Mm - hmm .
speaker: C
text: And then the decoding of that is much , much faster or can be much , much faster if it isn't a big bushy network .
speaker: C
text: And you can decode that now with speech that you 've actually processed using this longer time , uh , subtraction .
speaker: E
text: Mmm .
speaker: C
text: So I mean , it 's <disfmarker> it 's common that people do this sort of thing where they do more things that are more complex or require looking over more time , whatever , in some kind of second pass .
speaker: E
text: Mm - hmm .
speaker: E
text: OK .
speaker: C
text: um , and again , if the second pass is really , really fast <disfmarker> Uh , another one I 've heard of is <disfmarker> is in <disfmarker> in connected digit stuff , um , going back and l and through backtrace and finding regions that are considered to be a d a digit , but , uh , which have very low energy .
speaker: E
text: Mm - hmm .
speaker: E
text: OK .
speaker: C
text: So , uh <disfmarker> I mean , there 's lots of things you can do in second passes , at all sorts of levels .
speaker: C
text: Anyway , I 'm throwing too many things out .
speaker: C
text: But .
speaker: A
text: So is that , uh <disfmarker> that it ?
speaker: E
text: I guess that 's it .
speaker: A
text: OK ,
speaker: A
text: uh , do you wanna go , Sunil ?
speaker: B
text: Yep .
speaker: B
text: Um , so ,
speaker: B
text: the last two weeks was , like <disfmarker>
speaker: B
text: So I 've been working on that Wiener filtering .
speaker: B
text: And ,
speaker: B
text: uh ,
speaker: B
text: found that , uh , s single <disfmarker> like , I just do a s normal Wiener filtering , like the standard method of Wiener filtering .
speaker: B
text: And that doesn't actually give me any improvement over like <disfmarker>
speaker: B
text: I mean , uh , b it actually improves over the baseline
speaker: B
text: but it 's not like <disfmarker> it doesn't meet something like fifty percent or something .
speaker: B
text: So , I 've been playing with the v
speaker: A
text: Improves over the base line MFCC system ?
speaker: B
text: Yeah .
speaker: A
text: Yeah .
speaker: B
text: Yeah .
speaker: B
text: Yeah .
speaker: B
text: So , um <disfmarker>
speaker: B
text: So that 's <disfmarker> The improvement is somewhere around , like , thirty percent over the baseline .
speaker: C
text: Is that using <disfmarker> in combination with something else ?
speaker: B
text: No ,
speaker: C
text: With <disfmarker> with a <disfmarker>
speaker: B
text: just <disfmarker> just one stage Wiener filter
speaker: B
text: which is a standard Wiener filter .
speaker: C
text: No , no ,
speaker: C
text: but I mean in combination with our on - line normalization or with the LDA ?
speaker: B
text: Yeah , yeah , yeah , yeah .
speaker: B
text: So I just plug in the Wiener filtering .
speaker: C
text: Oh , OK .
speaker: B
text: I mean , in the s in our system , where <disfmarker>
speaker: A
text: Oh , OK .
speaker: B
text: So , I di i di
speaker: C
text: So , does it g does that mean it gets worse ?
speaker: C
text: Or <disfmarker> ?
speaker: B
text: No .
speaker: B
text: It actually improves over the baseline of not having a Wiener filter in the whole system .
speaker: B
text: Like I have an LDA f LDA plus on - line normalization ,
speaker: C
text: Yeah ?
speaker: B
text: and then I plug in the Wiener filter in that ,
speaker: B
text: so it improves over not having the Wiener filter .
speaker: B
text: So it improves
speaker: B
text: but it <disfmarker> it doesn't take it like be beyond like thirty percent over the baseline .
speaker: B
text: So <disfmarker>
speaker: C
text: But that 's what I 'm confused about ,
speaker: C
text: cuz I think <disfmarker> I thought that our system was more like forty percent without the Wiener filtering .
speaker: B
text: No ,
speaker: B
text: it 's like , uh ,
speaker: D
text: Mmm .
speaker: B
text: well , these are not <disfmarker>
speaker: A
text: Is this with the v new VAD ?
speaker: B
text: No , it 's the old VAD .
speaker: B
text: So my baseline was , <vocalsound> uh , <vocalsound> nine <disfmarker>
speaker: B
text: This is like <disfmarker> w the baseline is ninety - five point six eight , and eighty - nine , and <disfmarker>
speaker: C
text: So I mean , if you can do all these in word errors it 's a lot <disfmarker> a lot easier actually .
speaker: B
text: What was that ?
speaker: B
text: Sorry ?
speaker: C
text: If you do all these in word error rates it 's a lot easier , right ?
speaker: B
text: Oh ,
speaker: B
text: OK , OK , OK .
speaker: C
text: OK ,
speaker: B
text: Errors , right , I don't have .
speaker: C
text: cuz then you can figure out the percentages .
speaker: B
text: It 's all accuracies .
speaker: C
text: Yeah .
speaker: D
text: The baseline is something similar to
speaker: D
text: a w I mean ,
speaker: D
text: the t the <disfmarker> the baseline that you are talking about is the MFCC baseline , right ?
speaker: B
text: The t yeah ,
speaker: D
text: Or <disfmarker> ?
speaker: B
text: there are two baselines .
speaker: B
text: OK .
speaker: B
text: So the baseline <disfmarker> One baseline is MFCC baseline
speaker: D
text: Mm - hmm .
speaker: B
text: that <disfmarker> When I said thirty percent improvement it 's like MFCC baseline .
speaker: C
text: So <disfmarker> so <disfmarker>
speaker: C
text: so what 's it start on ?
speaker: C
text: The MFCC baseline is <disfmarker> is what ?
speaker: C
text: Is at what level ?
speaker: B
text: It 's the <disfmarker>
speaker: B
text: it 's just the mel frequency and that 's it .
speaker: C
text: No , what 's <disfmarker> what 's the number ?
speaker: B
text: Uh , so I I don't have that number here .
speaker: B
text: OK , OK , OK ,
speaker: B
text: I have it here .
speaker: B
text: Uh , it 's the VAD plus the baseline actually .
speaker: B
text: I 'm talking about the <disfmarker> the MFCC plus I do a frame dropping on it .
speaker: B
text: So that 's like <disfmarker> the word error rate is like four point three .
speaker: C
text: Four point three .
speaker: B
text: Like <disfmarker> Ten point seven .
speaker: C
text: What 's ten point seven ?
speaker: B
text: It 's a medium misma
speaker: B
text: OK , sorry .
speaker: B
text: There 's a well ma well matched , medium mismatched , and a high matched .
speaker: C
text: Ah .
speaker: B
text: So I don't have the <disfmarker> like the <disfmarker>
speaker: C
text: Yeah .
speaker: C
text: OK ,
speaker: C
text: four point three ,
speaker: B
text: So <disfmarker>
speaker: C
text: ten point seven ,
speaker: B
text: And forty forty .
speaker: C
text: and <disfmarker>
speaker: B
text: Forty percent is the high mismatch .
speaker: C
text: OK .
speaker: B
text: And that becomes like four point three <disfmarker>
speaker: C
text: Not changed .
speaker: B
text: Yeah ,
speaker: B
text: it 's like ten point one .
speaker: B
text: Still the same .
speaker: B
text: And the high mismatch is like eighteen point five .
speaker: C
text: Eighteen point five .
speaker: B
text: Five .
speaker: C
text: And what were you just describing ?
speaker: B
text: Oh , the one is <disfmarker> this one is just the baseline plus the , uh , Wiener filter plugged into it .
speaker: C
text: But where 's the , uh , on - line normalization and so on ?
speaker: B
text: Oh ,
speaker: B
text: OK .
speaker: B
text: So <disfmarker>
speaker: B
text: Sorry .
speaker: B
text: So , with the <disfmarker> with the on - line normalization , the performance was , um , ten <disfmarker>
speaker: B
text: OK , so it 's like four point three .
speaker: B
text: Uh ,
speaker: B
text: and again , that 's the ba the ten point , uh , four and twenty point one .
speaker: B
text: That was with on - line normalization and LDA .
speaker: B
text: So the h well matched has like literally not changed by adding on - line or LDA on it .
speaker: B
text: But the <disfmarker>
speaker: B
text: I mean , even the medium mismatch is pretty much the same .
speaker: B
text: And the high mismatch was improved by twenty percent absolute .
speaker: C
text: OK ,
speaker: C
text: and what kind of number <disfmarker>
speaker: C
text: an and what are we talking about here ?
speaker: C
text: Is this TI - digits
speaker: B
text: It 's the It - it 's Italian .
speaker: C
text: or <disfmarker>
speaker: B
text: I 'm talking about Italian ,
speaker: C
text: Italian ?
speaker: B
text: yeah .
speaker: C
text: And what did <disfmarker>
speaker: C
text: So , what was the , um , uh , corresponding number , say , for , um , uh , the Alcatel system for instance ?
speaker: B
text: Mmm .
speaker: C
text: Do you know ?
speaker: D
text: Yeah ,
speaker: D
text: so it looks to be , um <disfmarker>
speaker: B
text: You have it ?
speaker: D
text: Yep ,
speaker: D
text: it 's three point four ,
speaker: D
text: uh , eight point , uh , seven ,
speaker: D
text: and , uh , thirteen point seven .
speaker: C
text: OK .
speaker: B
text: Yep .
speaker: C
text: OK .
speaker: B
text: So <disfmarker> Thanks .
speaker: D
text: Mm - hmm .
speaker: C
text: OK .
speaker: B
text: So ,
speaker: B
text: uh , this is the single stage Wiener filter ,
speaker: B
text: with <disfmarker> The noise estimation was based on first ten frames .
speaker: C
text: Mm - hmm .
speaker: B
text: Actually I started with <disfmarker> using the VAD to estimate the noise
speaker: B
text: and then I found that it works <disfmarker>
speaker: B
text: it doesn't work for Finnish and Spanish
speaker: B
text: because the VAD endpoints are not good to estimate the noise
speaker: B
text: because it cuts into the speech sometimes ,
speaker: B
text: so I end up overestimating the noise and getting a worse result .
speaker: C
text: Mm - hmm .
speaker: B
text: So it works only for Italian by u for <disfmarker> using a VAD to estimate noise .
speaker: B
text: It works for Italian because the VAD was trained on Italian .
speaker: C
text: Mm - hmm .
speaker: B
text: So , uh <disfmarker>
speaker: B
text: so this was , uh <disfmarker>
speaker: B
text: And so this was giving <disfmarker>
speaker: B
text: um ,
speaker: B
text: this <disfmarker> this was like not improving a lot on this baseline of not having the Wiener filter on it .
speaker: B
text: And ,
speaker: B
text: so ,
speaker: B
text: uh , I ran this stuff with one more stage of Wiener filtering on it
speaker: B
text: but the second time , what I did was I <disfmarker> estimated the new Wiener filter based on the cleaned up speech , and did , uh , smoothing in the frequency to <disfmarker> to reduce the variance <disfmarker>
speaker: C
text: Mm - hmm .
speaker: B
text: I mean , I have <disfmarker> I 've <disfmarker> I 've observed there are , like , a lot of bumps in the frequency when I do this Wiener filtering
speaker: B
text: which is more like a musical noise or something .
speaker: B
text: And so by adding another stage of Wiener filtering , the results on the SpeechDat - Car was like ,
speaker: B
text: um <disfmarker>
speaker: B
text: So , I still don't have the word error rate .
speaker: B
text: I 'm sorry about it .
speaker: B
text: But the overall improvement was like fifty - six point four six .
speaker: B
text: This was again using ten frames of noise estimate and two stage of Wiener filtering .
speaker: B
text: And the rest is like the LDA plu and the on - line normalization all remaining the same .
speaker: B
text: Uh ,
speaker: B
text: so this was , like , compared to , uh , uh <disfmarker> Fifty - seven is what you got by using the French Telecom system ,
speaker: B
text: right ?
speaker: D
text: No , I don't think so .
speaker: D
text: Is it on Italian ?
speaker: B
text: Y i
speaker: B
text: No ,
speaker: B
text: this is over the whole SpeechDat - Car .
speaker: B
text: So <disfmarker>
speaker: D
text: Oh , yeah , fifty - seven <disfmarker>
speaker: B
text: point <disfmarker>
speaker: D
text: Right .
speaker: B
text: Yeah ,
speaker: B
text: so the new <disfmarker> the new Wiener filtering schema is like <disfmarker> some fifty - six point four six
speaker: B
text: which is like one percent still less than what you got using the French Telecom system .
speaker: D
text: Uh - huh .
speaker: D
text: Mm - hmm .
speaker: C
text: But it 's a pretty similar number in any event .
speaker: B
text: It 's very similar .
speaker: C
text: Yeah .
speaker: C
text: But again , you 're <disfmarker> you 're more or less doing what they were doing ,
speaker: C
text: right ?
speaker: B
text: It 's <disfmarker> it 's different in a sense like
speaker: B
text: I 'm actually cleaning up the cleaned up spectrum
speaker: B
text: which they 're not doing .
speaker: B
text: They 're d what they 're doing is , they have two stage <disfmarker> stages of estimating the Wiener filter ,
speaker: C
text: Yeah .
speaker: B
text: but <disfmarker> the final filter , what they do is they <disfmarker> they take it to their time domain by doing an inverse Fourier transform .
speaker: C
text: Uh - huh .
speaker: B
text: And they filter the original signal using that fil filter ,
speaker: B
text: which is like final filter is acting on the input noisy speech rather than on the cleaned up .
speaker: B
text: So this is more like I 'm doing Wiener filter twice ,
speaker: B
text: but the only thing is that the second time I 'm actually smoothing the filter and then cleaning up the cleaned up spectrum first level .
speaker: C
text: OK .
speaker: B
text: And so that <disfmarker> that 's <disfmarker> that 's what the difference is .
speaker: B
text: And actually I tried it on s the original clean <disfmarker> I mean , the original spectrum where , like , I <disfmarker> the second time I estimate the filter but actually clean up the noisy speech rather the c s first <disfmarker> output of the first stage
speaker: B
text: and that doesn't <disfmarker> seems to be a <disfmarker> giving , I mean , that much improvement .
speaker: B
text: I <disfmarker> I didn didn't run it for the whole case .
speaker: B
text: And <disfmarker>
speaker: B
text: and what I t what I tried was , by using the same thing
speaker: B
text: but <disfmarker> Uh ,
speaker: B
text: so we actually found that the VAD is very , like , crucial .
speaker: B
text: I mean , just by changing the VAD itself gives you the <disfmarker> a lot of improvement
speaker: C
text: Mm - hmm .
speaker: B
text: by instead of using the current VAD , if you just take up the VAD output from the channel zero , <comment> when <disfmarker> instead of using channel zero and channel one ,
speaker: B
text: because that was the p that was the reason why I was not getting a lot of improvement for estimating <comment> the noise .
speaker: B
text: So I just used the channel zero VAD to estimate the noise so that it gives me some reliable mar markers for this noise estimation .
speaker: C
text: What 's a channel zero VAD ?
speaker: C
text: I 'm <disfmarker> I 'm confused about that .
speaker: B
text: Um ,
speaker: B
text: so , it 's like <disfmarker>
speaker: D
text: So it 's the close - talking microphone .
speaker: B
text: Yeah ,
speaker: B
text: the close - talking without <disfmarker>
speaker: C
text: Oh , oh , oh , oh .
speaker: B
text: So because the channel zero and channel one are like the same speech , but only w I mean , the same endpoints .
speaker: B
text: But the only thing is that the speech is very noisy for channel one ,
speaker: B
text: so you can actually use the output of the channel zero for channel one for the VAD .
speaker: B
text: I mean , that 's like a cheating method .
speaker: C
text: Right .
speaker: C
text: I mean ,
speaker: C
text: so a are they going to pro
speaker: C
text: What are they doing to do ,
speaker: C
text: do we know yet ?
speaker: C
text: about <disfmarker> as far as what they 're <disfmarker> what the rules are going to be and what we can use ?
speaker: D
text: Yeah ,
speaker: D
text: so actually I received a <disfmarker> a new document , describing this .
speaker: B
text: Yeah , that 's <disfmarker>
speaker: D
text: And what they did finally is to , mmm , uh , not to align the utterances but to perform recognition ,
speaker: D
text: um , only on the close - talking microphone ,
speaker: D
text: and to take the result of the recognition to get the boundaries uh , of speech .
speaker: B
text: Which is the channel zero .
speaker: C
text: So it 's not like that 's being done in one place or one time .
speaker: D
text: And <disfmarker>
speaker: C
text: That 's <disfmarker> that 's just a rule
speaker: C
text: and we 'd <disfmarker> you <disfmarker> you were permitted to do that .
speaker: C
text: Is <disfmarker> is that it ?
speaker: D
text: Uh , I think they will send , um , files
speaker: D
text: but we <disfmarker> we don't <disfmarker> Well , apparently <disfmarker>
speaker: C
text: Oh , so they will send files
speaker: C
text: so everybody will have the same boundaries to work with ?
speaker: D
text: Yeah .
speaker: D
text: Yeah .
speaker: B
text: But actually their alignment actually is not seems to be improving in like on all cases .
speaker: C
text: OK .
speaker: D
text: Oh , i
speaker: D
text: Yeah ,
speaker: D
text: so what happened here is that , um , the overall improvement that they have with this method <disfmarker>
speaker: D
text: So <disfmarker> Well , to be more precise , what they have is , they have these alignments
speaker: D
text: and then they drop the beginning silence and <disfmarker> and the end silence
speaker: D
text: but they keep , uh , two hundred milliseconds before speech and two hundred after speech .
speaker: D
text: And they keep the speech pauses also .
speaker: D
text: Um ,
speaker: D
text: and the overall improvement over the MFCC baseline
speaker: D
text: So , when they just , uh , add this frame dropping in addition it 's r uh , forty percent , right ?
speaker: C
text: Mm - hmm .
speaker: D
text: Fourteen percent , I mean .
speaker: C
text: Mm - hmm .
speaker: B
text: Yeah ,
speaker: D
text: Um ,
speaker: B
text: which is <disfmarker>
speaker: D
text: which is ,
speaker: D
text: um ,
speaker: D
text: t
speaker: D
text: which is the overall improvement .
speaker: D
text: But in some cases it doesn't improve at all .
speaker: D
text: Like , uh , y do you remember which case ?
speaker: C
text: Mm - hmm .
speaker: B
text: It gives like negative <disfmarker> Well , in <disfmarker> in like some Italian and TI - digits ,
speaker: D
text: Yeah ,
speaker: D
text: some @ @ .
speaker: B
text: right ?
speaker: D
text: Right .
speaker: B
text: Yeah .
speaker: B
text: So by using the endpointed speech , actually it 's worse than the baseline in some instances ,
speaker: D
text: Mmm .
speaker: B
text: which could be due to the word pattern .
speaker: D
text: Yeah .
speaker: C
text: Yeah ,
speaker: D
text: And <disfmarker> Yeah , the other thing also is that fourteen percent is less than what you obtain using a real VAD .
speaker: B
text: Yeah , our neural net <disfmarker>
speaker: D
text: So with without cheating like this .
speaker: B
text: Yeah , yeah .
speaker: D
text: So <disfmarker>
speaker: D
text: Uh <disfmarker>
speaker: D
text: So I think this shows that there is still work <disfmarker>
speaker: D
text: Uh , well , working on the VAD is still <disfmarker> still important I think .
speaker: C
text: Yeah ,
speaker: C
text: c
speaker: D
text: Uh <disfmarker>
speaker: A
text: Can I ask just a <disfmarker> a high level question ?
speaker: A
text: Can you just say like one or two sentences about Wiener filtering and why <disfmarker> why are people doing that ?
speaker: B
text: Hmm .
speaker: A
text: What 's <disfmarker> what 's the deal with that ?
speaker: B
text: OK ,
speaker: B
text: so
speaker: B
text: the Wiener filter , it 's <disfmarker> it 's like <disfmarker> it 's like you try to minimize <disfmarker>
speaker: B
text: I mean , so the basic principle of Wiener filter is like you try to minimize the , uh , d uh , difference between the noisy signal and the clean signal
speaker: B
text: if you have two channels .
speaker: B
text: Like let 's say you have a clean t signal and you have an additional channel where you know what is the noisy signal .
speaker: B
text: And then you try to minimize the error between these two .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: B
text: So that 's the basic principle .
speaker: B
text: And you get <disfmarker>
speaker: B
text: you can do that <disfmarker>
speaker: B
text: I mean , if <disfmarker> if you have only a c noisy signal , at a level which you , you w try to estimate the noise from the w assuming that the first few frames are noise
speaker: B
text: or if you have a w voice activity detector , uh , you estimate the noise spectrum .
speaker: A
text: Mm - hmm .
speaker: B
text: And then you <disfmarker>
speaker: A
text: Do you assume the noise is the same ?
speaker: B
text: Yeah .
speaker: B
text: in <disfmarker> yeah , after the speech starts .
speaker: A
text: Uh - huh .
speaker: B
text: So <disfmarker>
speaker: B
text: but that 's not the case in , uh , many <disfmarker> many of our cases
speaker: B
text: but it works reasonably well .
speaker: A
text: I see .
speaker: B
text: And <disfmarker> and then you What you do is you , uh b
speaker: B
text: fff .
speaker: B
text: So again ,
speaker: B
text: I can write down some of these eq
speaker: B
text: Oh , OK .
speaker: B
text: Yeah .
speaker: B
text: And then you do this <disfmarker>
speaker: B
text: uh , this is the transfer function of the Wiener filter ,
speaker: B
text: so " SF " is a clean speech spectrum , power spectrum
speaker: A
text: Mm - hmm .
speaker: B
text: And " N " is the noisy power spectrum .
speaker: B
text: And so this is the transfer function .
speaker: C
text: Right
speaker: C
text: actually , I guess <disfmarker>
speaker: B
text: And ,
speaker: B
text: Yeah .
speaker: C
text: Yeah .
speaker: B
text: And then you multiply your noisy power spectrum with this .
speaker: B
text: You get an estimate of the clean power spectrum .
speaker: A
text: I see .
speaker: A
text: OK .
speaker: B
text: So <disfmarker>
speaker: B
text: but the thing is that you have to estimate the SF from the noisy spectrum , what you have .
speaker: B
text: So you estimate the NF from the initial noise portions
speaker: B
text: and then you subtract that from the current noisy spectrum to get an estimate of the SF .
speaker: B
text: So sometimes that becomes zero
speaker: B
text: because you do you don't have a true estimate of the noise .
speaker: B
text: So the f filter will have like sometimes zeros in it
speaker: A
text: Mm - hmm .
speaker: B
text: because some frequency values will be zeroed out because of that .
speaker: B
text: And that creates a lot of discontinuities across the spectrum because @ @ the filter .
speaker: B
text: So ,
speaker: B
text: uh ,
speaker: B
text: so <disfmarker> that 's what <disfmarker> that was just the first stage of Wiener filtering that I tried .
speaker: A
text: So is this , um , basically s uh , similar to just regular spectral subtraction ?
speaker: B
text: It <disfmarker>
speaker: C
text: It 's all pretty related ,
speaker: C
text: yeah .
speaker: B
text: Yeah .
speaker: C
text: It 's <disfmarker> it 's <disfmarker> there 's a di there 's a whole class of techniques where you try in some sense to minimize the noise .
speaker: A
text: Uh - huh .
speaker: C
text: And it 's typically a mean square sense , uh <disfmarker> uh <disfmarker> uh , i in <disfmarker> in <disfmarker> in some way .
speaker: C
text: And , uh <disfmarker> uh , spectral subtraction is <disfmarker> is , uh <disfmarker> uh , one approach to it .
speaker: A
text: Do people use the Wiener filtering in combination with the spectral subtraction typically ,
speaker: A
text: or is i are they sort of competing techniques ?
speaker: B
text: Not seen .
speaker: B
text: They are very s similar techniques .
speaker: A
text: Yeah .
speaker: B
text: So it 's like I haven't seen anybody using s Wiener filter with spectral subtraction .
speaker: A
text: O oh , OK .
speaker: D
text: Mm - hmm .
speaker: A
text: I see ,
speaker: A
text: I see .
speaker: C
text: I mean , in the long run you 're doing the same thing
speaker: C
text: but y but there you make different approximations ,
speaker: A
text: Mm - hmm .
speaker: B
text: Yeah .
speaker: C
text: and <disfmarker> in spectral subtraction , for instance , there 's a <disfmarker> a <disfmarker> an estimation factor .
speaker: A
text: Mmm .
speaker: C
text: You sometimes will figure out what the noise is
speaker: C
text: and you 'll multiply that noise spectrum times some constant and subtract that
speaker: C
text: rather than <disfmarker>
speaker: C
text: and sometimes people <disfmarker>
speaker: C
text: even though this really should be in the power domain , sometimes people s work in the magnitude domain because it <disfmarker> it <disfmarker> it works better .
speaker: A
text: Mm - hmm .
speaker: C
text: And , uh , uh , you know .
speaker: A
text: So why did you choose , uh , Wiener filtering over some other <disfmarker> one of these other techniques ?
speaker: B
text: Uh , the reason was , like , we had this choice of using spectral subtraction , Wiener filtering , and there was one more thing which I which I 'm trying , is this sub space approach .
speaker: B
text: So ,
speaker: B
text: Stephane is working on spectral subtraction .
speaker: A
text: Oh , OK .
speaker: B
text: So I picked up <disfmarker>
speaker: A
text: So you 're sort of trying @ @ them all .
speaker: B
text: Y Yeah ,
speaker: B
text: we just wanted to have a few noise production <disfmarker> compensation techniques
speaker: A
text: Ah ,
speaker: A
text: I see .
speaker: B
text: and then pick some from that <disfmarker>
speaker: A
text: Oh , OK .
speaker: C
text: I m I mean <disfmarker>
speaker: A
text: Mm - hmm .
speaker: B
text: pick one .
speaker: C
text: yeah , I mean , there 's Car - Carmen 's working on another , on the vector Taylor series .
speaker: B
text: VA Yeah , VAD .
speaker: B
text: w Yeah .
speaker: C
text: So they were just kind of trying to cover a bunch of different things with this task and see , you know , what are <disfmarker> what are the issues for each of them .
speaker: A
text: Ah ,
speaker: A
text: OK .
speaker: B
text: Yeah .
speaker: A
text: That makes sense .
speaker: A
text: Yeah .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: C
text: Um .
speaker: A
text: Cool ,
speaker: A
text: thanks .
speaker: B
text: So <disfmarker>
speaker: C
text: Yeah .
speaker: B
text: so one of <disfmarker> one of the things that I tried , like I said , was to remove those zeros in the fri filter by doing some smoothing of the filter .
speaker: A
text: Mm - hmm .
speaker: B
text: Like , you estimate the edge of square
speaker: B
text: and then you do a f smoothing across the frequency so that those zeros get , like , flattened out .
speaker: A
text: Mm - hmm .
speaker: B
text: And that doesn't seems to be improving by trying it on the first time .
speaker: B
text: So what I did was like I p did this
speaker: B
text: and then you <disfmarker> I plugged in the <disfmarker> one more <disfmarker> the same thing but with the smoothed filter the second time .
speaker: B
text: And that seems to be working .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: B
text: So that 's where I got like fifty - six point five percent improvement on SpeechDat - Car with that .
speaker: B
text: And <disfmarker>
speaker: B
text: So the other thing what I tried was I used still the ten frames of noise estimate
speaker: B
text: but I used this channel zero VAD to drop the frames .
speaker: B
text: So I 'm not <disfmarker> still not estimating .
speaker: B
text: And that has taken the performance to like sixty - seven percent in SpeechDat - Car ,
speaker: B
text: which is <disfmarker> which <disfmarker> which like sort of shows that by using a proper VAD you can just take it to further , better levels .
speaker: B
text: And <disfmarker>
speaker: B
text: So .
speaker: A
text: So that 's sort of like , you know , best - case performance ?
speaker: B
text: Yeah ,
speaker: B
text: so far I 've seen sixty - seven <disfmarker>
speaker: B
text: I mean , no ,
speaker: B
text: I haven't seen s like sixty - seven percent .
speaker: B
text: And , uh ,
speaker: B
text: using the channel zero VAD to estimate the noise also seems to be improving
speaker: B
text: but I don't have the results for all the cases with that .
speaker: B
text: So I used channel zero VAD to estimate noise as a lesser 2 x frame ,
speaker: B
text: which is like , <vocalsound> everywhere I use the channel zero VAD .
speaker: B
text: And that seems to be the best combination , uh , rather than using a few frames to estimate and then drop a channel .
speaker: C
text: So I 'm <disfmarker> I 'm still a little confused .
speaker: C
text: Is that channel zero information going to be accessible during this test .
speaker: B
text: Nnn ,
speaker: B
text: no .
speaker: B
text: This is just to test whether we can really improve by using a better VAD .
speaker: C
text: Mm - hmm .
speaker: C
text: Mm - hmm .
speaker: B
text: So ,
speaker: B
text: I mean <disfmarker> So this is like the noise compensation f is fixed
speaker: D
text: Mm - hmm .
speaker: B
text: but you make a better decision on the endpoints .
speaker: B
text: That 's , like <disfmarker> seems to be <disfmarker>
speaker: C
text: Mm - hmm .
speaker: B
text: so we c
speaker: B
text: so I mean , which <disfmarker> which means , like , by using this technique what we improve just the VAD
speaker: C
text: Yes .
speaker: B
text: we can just take the performance by another ten percent or better .
speaker: C
text: OK .
speaker: B
text: So , that <disfmarker> that was just the , uh , reason for doing that experiment .
speaker: B
text: And , w um <disfmarker>
speaker: B
text: Yeah , but this <disfmarker> all these things , I have to still try it on the TI - digits ,
speaker: B
text: which is like I 'm just running .
speaker: B
text: And there seems to be not improving a <disfmarker> a lot on the TI - digits ,
speaker: B
text: so I 'm like investigating that , why it 's not .
speaker: B
text: And ,
speaker: B
text: um ,
speaker: B
text: um <disfmarker>
speaker: B
text: Well after that .
speaker: B
text: So ,
speaker: B
text: uh <disfmarker>
speaker: B
text: so the other <disfmarker> the other thing is <disfmarker> like I 've been <disfmarker> I 'm doing all this stuff on the power spectrum .
speaker: B
text: So <disfmarker>
speaker: B
text: Tried this stuff on the mel as well <disfmarker>
speaker: B
text: mel and the magnitude , and mel magnitude , and all those things .
speaker: B
text: But it seems to be the power spectrum seems to be getting the best result .
speaker: B
text: So , one of <disfmarker> one of reasons I thought like doing the averaging , after the filtering using the mel filter bank , that seems to be maybe helping rather than trying it on the mel filter ba filtered outputs .
speaker: C
text: Mm - hmm .
speaker: C
text: Mm - hmm .
speaker: C
text: Ma
speaker: B
text: So just th
speaker: C
text: Makes sense .
speaker: B
text: Yeah ,
speaker: B
text: th that 's <disfmarker> that 's the only thing that I could think of why <disfmarker> why it 's giving improvement on the mel .
speaker: B
text: And , yep .
speaker: B
text: So that 's it .
speaker: C
text: Uh , how about the subspace stuff ?
speaker: B
text: Subspace , <comment> I 'm <disfmarker> I 'm like <disfmarker> that 's still in <disfmarker> a little bit in the back burner
speaker: B
text: because I 've been p putting a lot effort on this to make it work , on tuning things and other stuff .
speaker: C
text: OK .
speaker: B
text: So
speaker: B
text: I was like going parallely
speaker: B
text: but not much of improvement .
speaker: B
text: I 'm just <disfmarker> have some skeletons ready ,
speaker: B
text: need some more time for it .
speaker: C
text: OK .
speaker: B
text: Mmm .
speaker: A
text: Tha - that it ?
speaker: B
text: Yep .
speaker: B
text: Yep .
speaker: A
text: Cool .
speaker: A
text: Do you wanna go , Stephane ?
speaker: D
text: Uh , yeah .
speaker: D
text: So , <vocalsound> I 've been , uh , working still on the spectral subtraction .
speaker: D
text: Um ,
speaker: D
text: So to r to remind you <vocalsound> <vocalsound> a little bit of <disfmarker> of what I did before , is just <vocalsound> to apply some spectral subtraction with an overestimation factor
speaker: D
text: also to get , um , an estimate of the noise , uh , spectrum ,
speaker: D
text: and subtract this estimation of the noise spectrum from the , uh , signal spectrum , <comment> but subtracting more when the SNR is <disfmarker> is , uh , low ,
speaker: D
text: which is a technique that it 's often used .
speaker: A
text: " Subtracting more " , meaning <disfmarker> ?
speaker: D
text: So you overestimate the noise spectrum .
speaker: D
text: You multiply the noise spectrum by a factor , uh , which depends on the SNR .
speaker: A
text: Oh , OK .
speaker: D
text: So , above twenty DB ,
speaker: A
text: I see .
speaker: D
text: it 's one , so you just subtract the noise .
speaker: A
text: Mm - hmm .
speaker: D
text: And then it 's b
speaker: D
text: Generally <disfmarker> Well , I use , actually , a linear , uh , function of the SNR ,
speaker: A
text: Mm - hmm .
speaker: D
text: which is bounded to , like , two or three , <comment> when the SNR is below zero DB .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: D
text: Um , doing just this , uh , either on the FFT bins or on the mel bands , um , t doesn't yield any improvement
speaker: C
text: Oh !
speaker: C
text: Um , uh , what are you doing with negative , uh , powers ?
speaker: D
text: o
speaker: D
text: Yeah .
speaker: D
text: So there is also a threshold , of course ,
speaker: D
text: because after subtraction you can have negative energies ,
speaker: A
text: Mm - hmm .
speaker: D
text: and <disfmarker>
speaker: D
text: So what I <disfmarker> I just do is to put , uh <disfmarker> to <disfmarker> to add <disfmarker> to put the threshold first and then to add a small amount of noise ,
speaker: D
text: which right now is speech - shaped .
speaker: D
text: Um <disfmarker>
speaker: A
text: Speech - shaped ?
speaker: D
text: Yeah ,
speaker: D
text: so it 's <disfmarker> a it has the overall <disfmarker> overall energy ,
speaker: D
text: uh <disfmarker>
speaker: D
text: pow
speaker: D
text: it has the overall power spectrum of speech .
speaker: D
text: So with a bump around one kilohertz .
speaker: A
text: So when y when you talk about there being something less than zero after subtracting the noise , is that at a particular frequency bin ?
speaker: D
text: i
speaker: D
text: Uh - huh .
speaker: D
text: Yeah .
speaker: D
text: There can be frequency bins with negative values .
speaker: A
text: OK .
speaker: A
text: And so when you say you 're adding something that has the overall shape of speech , is that in a <disfmarker> in a particular frequency bin ?
speaker: A
text: Or you 're adding something across all the frequencies when you get these negatives ?
speaker: D
text: For each frequencies I a I 'm adding some , uh , noise ,
speaker: D
text: but the a the amount of <disfmarker> the amount of noise I add is not the same for all the frequency bins .
speaker: A
text: Ah !
speaker: A
text: OK .
speaker: A
text: I gotcha .
speaker: A
text: Right .
speaker: D
text: Uh . Right now I don't think if it makes sense to add something that 's speech - shaped ,
speaker: D
text: because then you have silence portion that have some spectra similar to the sp the overall speech spectra .
speaker: A
text: Mm - hmm .
speaker: D
text: But <disfmarker>
speaker: D
text: Yeah .
speaker: D
text: So this is something I can still work on ,
speaker: A
text: So what does that mean ?
speaker: D
text: but <disfmarker>
speaker: D
text: Hmm .
speaker: A
text: I 'm trying to understand what it means when you do the spectral subtraction and you get a negative .
speaker: A
text: It means that at that particular frequency range you subtracted more energy than there was actually <disfmarker>
speaker: D
text: That means that <disfmarker>
speaker: D
text: Mm - hmm .
speaker: D
text: Yeah .
speaker: D
text: So <disfmarker> so yeah , you have an <disfmarker> an estimation of the noise spectrum ,
speaker: D
text: but sometimes , of course , it 's <disfmarker> as the noise is not perfectly stationary ,
speaker: D
text: sometimes this estimation can be , uh , too small ,
speaker: D
text: so you don't subtract enough .
speaker: D
text: But sometimes it can be too large also . If <disfmarker> if the noise , uh , energy in this particular frequency band drops for some reason .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: D
text: Mmm .
speaker: A
text: So in <disfmarker> in an ideal word i world <comment> if the noise were always the same , then , when you subtracted it the worst that i you would get would be a zero .
speaker: A
text: I mean , the lowest you would get would be a zero ,
speaker: C
text: Right .
speaker: A
text: cuz i if there was no other energy there you 're just subtracting exactly the noise .
speaker: D
text: Mm - hmm ,
speaker: D
text: yeah .
speaker: C
text: Yep , there 's all <disfmarker> there 's all sorts of , uh , deviations from the ideal here .
speaker: C
text: I mean , for instance , you 're <disfmarker> you 're talking about the signal and noise , um , at a particular point .
speaker: C
text: And even if something is sort of stationary in ster terms of statistics , there 's no guarantee that any particular instantiation or piece of it is exactly a particular number or bounded by a particular range .
speaker: D
text: Mm - hmm .
speaker: C
text: So , you 're figuring out from some chunk of <disfmarker> of <disfmarker> of the signal what you think the noise is .
speaker: C
text: Then you 're subtracting that from another chunk ,
speaker: A
text: Mm - hmm .
speaker: C
text: and there 's absolutely no reason to think that you 'd know that it wouldn't , uh , be negative in some places .
speaker: D
text: Mm - hmm .
speaker: D
text: Hmm .
speaker: C
text: Uh , on the other hand that just means that in some sense you 've made a mistake
speaker: C
text: because you certainly have stra subtracted a bigger number than is due to the noise .
speaker: A
text: Mm - hmm .
speaker: C
text: Um <disfmarker> Also , we speak <disfmarker> the whole <disfmarker> where all this stuff comes from is from an assumption that signal and noise are uncorrelated .
speaker: C
text: And that certainly makes sense in s in <disfmarker> in a statistical interpretation , that , you know , over , um , all possible realizations that they 're uncorrelated
speaker: A
text: Mm - hmm .
speaker: C
text: or assuming , uh , ergodicity that i that i um , across time , uh , it 's uncorrelated .
speaker: C
text: But if you just look at <disfmarker> a quarter second , uh , and you cross - multiply the two things , uh , you could very well , uh , end up with something that sums to something that 's not zero .
speaker: C
text: So in fact , the two signals could have some relation to one another .
speaker: C
text: And so there 's all sorts of deviations from ideal in this .
speaker: C
text: And <disfmarker> and given all that , you could definitely end up with something that 's negative .
speaker: C
text: But if down the road you 're making use of something as if it is a power spectrum , um , then it can be bad to have something negative .
speaker: C
text: Now , the other thing I wonder about actually is , what if you left it negative ?
speaker: C
text: What happens ?
speaker: C
text: I mean , because <disfmarker>
speaker: B
text: Is that the log ?
speaker: C
text: Um , are you taking the log before you add them up to the mel ?
speaker: B
text: After that .
speaker: B
text: No ,
speaker: B
text: after .
speaker: C
text: Right .
speaker: C
text: So the thing is , I wonder how <disfmarker> if you put your thresholds after that , I wonder how often you would end up with , uh <disfmarker> with negative values .
speaker: B
text: But you will <disfmarker>
speaker: B
text: But you end up reducing some neighboring frequency bins <disfmarker> @ @ in the average , right ?
speaker: B
text: When you add the negative to the positive value
speaker: B
text: which is the true estimate .
speaker: C
text: Yeah .
speaker: C
text: But nonetheless , uh , you know , these are <disfmarker> it 's another f kind of smoothing , right ?
speaker: C
text: that you 're doing .
speaker: B
text: Yeah .
speaker: C
text: Right .
speaker: C
text: So , you 've done your best shot at figuring out what the noise should be ,
speaker: C
text: and now i then you 've subtracted it off .
speaker: C
text: And then after that , instead of <disfmarker> instead of , uh , uh , leaving it as is and adding things <disfmarker> adding up some neighbors , you artificially push it up .
speaker: B
text: Hmm .
speaker: C
text: Which is , you know , it 's <disfmarker> there 's no particular reason that that 's the right thing to do either ,
speaker: C
text: right ?
speaker: B
text: Yeah , yeah .
speaker: C
text: So , um ,
speaker: C
text: uh ,
speaker: C
text: i in fact , what you 'd be doing is saying , " well , we 're d we 're <disfmarker> we 're going to definitely diminish the effect of this frequency in this little frequency bin in the <disfmarker> in the overall mel summation " .
speaker: C
text: It 's just a thought .
speaker: C
text: I d I don't know if it would be <disfmarker>
speaker: B
text: Yeah .
speaker: A
text: Sort of the opposite of that would be if <disfmarker> if you find out you 're going to get a negative number , you don't do the subtraction for that bin .
speaker: B
text: Uh - huh .
speaker: B
text: That is true .
speaker: C
text: Nnn , yeah ,
speaker: D
text: Mm - hmm .
speaker: A
text: That would be almost the opposite ,
speaker: C
text: although <disfmarker>
speaker: A
text: right ?
speaker: A
text: Instead of leaving it negative , you don't do it .
speaker: A
text: If your <disfmarker> if your subtraction 's going to result in a negative number , you <disfmarker> you don't do subtraction in that .
speaker: C
text: Yeah ,
speaker: C
text: but that means that in a situation where you thought that <disfmarker> that the bin was almost entirely noise , you left it .
speaker: A
text: Yeah .
speaker: B
text: We just <disfmarker>
speaker: C
text: Uh .
speaker: A
text: Yeah , I 'm just saying that 's like the opposite .
speaker: B
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: Well , yeah that 's <disfmarker> that 's the opposite ,
speaker: A
text: Yeah .
speaker: D
text: Mm - hmm .
speaker: C
text: yeah .
speaker: D
text: And , yeah ,
speaker: D
text: some people also <disfmarker> if it 's a negative value they , uh , re - compute it using inter interpolation from the edges and bins .
speaker: B
text: For frames , frequency bins .
speaker: C
text: Yeah .
speaker: D
text: Well , there are different things that you can do .
speaker: A
text: Oh .
speaker: C
text: People can also , uh , reflect it back up and essentially do a full wave rectification instead of a <disfmarker> instead of half wave .
speaker: A
text: Oh .
speaker: C
text: But it was just a thought that <disfmarker> that it might be something to try .
speaker: D
text: Mm - hmm .
speaker: D
text: Mm - hmm .
speaker: D
text: Yep .
speaker: D
text: Well , actually I tried , <vocalsound> something else based on this , um , is to <disfmarker> to put some smoothing ,
speaker: D
text: um , because it seems to <disfmarker> to help or it seems to help the Wiener filtering
speaker: C
text: Mm - hmm .
speaker: D
text: and ,
speaker: D
text: mmm <disfmarker>
speaker: D
text: So what I did is , uh , some kind of nonlinear smoothing .
speaker: D
text: Actually I have a recursion that computes <disfmarker>
speaker: D
text: Yeah , let me go back a little bit .
speaker: D
text: Actually , when you do spectral subtraction you can , uh , find this <disfmarker> this equivalent in the s in the spectral domain .
speaker: D
text: You can uh compute ,
speaker: D
text: y you can say that d your spectral subtraction is a filter ,
speaker: D
text: um , and the gain of this filter is the , um , <vocalsound> signal energy minus what you subtract , divided by the signal energy .
speaker: D
text: And this is a gain that varies over time , and , you know , of course , uh , depending on the s on the noise spectrum and on the speech spectrum .
speaker: D
text: And <disfmarker>
speaker: D
text: what happen actually is that during low SNR values , the gain is close to zero
speaker: D
text: but it varies a lot .
speaker: D
text: Mmm ,
speaker: D
text: and this <disfmarker> this is the cause of musical noise and all these <disfmarker> the <disfmarker> <comment> the fact you <disfmarker> we go below zero one frame and then you can have an energy that 's above zero .
speaker: C
text: Mm - hmm .
speaker: D
text: And <disfmarker>
speaker: D
text: Mmm .
speaker: D
text: So the smoothing is <disfmarker> I did a smoothing actually on this gain , uh , trajectory .
speaker: D
text: But it 's <disfmarker> the smoothing is nonlinear in the sense that I tried to not smooth if the gain is high ,
speaker: D
text: because in this case we know that , uh , the estimate of the gain is correct
speaker: D
text: because we <disfmarker> we are not close to <disfmarker> to <disfmarker> to zero ,
speaker: D
text: um , and to do more smoothing if the gain is low .
speaker: D
text: Mmm .
speaker: D
text: Um .
speaker: D
text: Yeah .
speaker: D
text: So ,
speaker: D
text: well ,
speaker: D
text: basically that 's this idea ,
speaker: D
text: and it seems to give pretty good results ,
speaker: D
text: uh , although I 've just <disfmarker> just tested on Italian and Finnish .
speaker: D
text: And on Italian it seems <disfmarker> my result seems to be a little bit better than the Wiener filtering ,
speaker: B
text: Mm - hmm .
speaker: D
text: right ?
speaker: B
text: Yeah , the one you showed yesterday .
speaker: B
text: Right ?
speaker: C
text: Yeah .
speaker: D
text: Uh , I don't know if you have these improvement the detailed improvements for Italian , Finnish , and Spanish there
speaker: B
text: Fff .
speaker: D
text: or you have <disfmarker> just have your own .
speaker: B
text: No , I don't have , for each ,
speaker: B
text: I <disfmarker> I just <disfmarker> just have the final number here .
speaker: D
text: Mm - hmm .
speaker: C
text: So these numbers he was giving before with the four point three , and the ten point one , and so forth , those were Italian , right ?
speaker: B
text: Yeah , yeah , yeah .
speaker: C
text: Yeah .
speaker: D
text: Uh <disfmarker>
speaker: B
text: So <disfmarker> so , no ,
speaker: B
text: I actually didn't give you the number which is the final one ,
speaker: D
text: uh , no ,
speaker: D
text: we 've <disfmarker>
speaker: B
text: which is , after two stages of Wiener filtering .
speaker: B
text: I mean , that was I just <disfmarker> well , like the overall improvement is like fifty - six point five .
speaker: C
text: Right .
speaker: B
text: So ,
speaker: D
text: Mm - hmm .
speaker: B
text: I mean , his number is still better than what I got in the two stages of Wiener filtering .
speaker: D
text: Yeah .
speaker: C
text: Right .
speaker: D
text: On Italian .
speaker: D
text: But on Finnish it 's a little bit worse , apparently .
speaker: B
text: Mm - hmm .
speaker: D
text: Um <disfmarker>
speaker: C
text: But do you have numbers in terms of word error rates on <disfmarker> on Italian ? So just so you have some sense of reference ?
speaker: D
text: Yeah .
speaker: D
text: Uh , so , it 's , uh , three point , uh , eight .
speaker: C
text: Uh - huh .
speaker: D
text: Am I right ?
speaker: B
text: Oh , OK .
speaker: B
text: Yeah , right ,
speaker: B
text: OK .
speaker: D
text: And then , uh , d uh , nine point , uh , one .
speaker: C
text: Mm - hmm .
speaker: D
text: And finally , uh , sixteen point five .
speaker: C
text: And this is , um , spectral subtraction plus what ?
speaker: D
text: Plus <disfmarker> plus nonlinear smoothing .
speaker: D
text: Well , it 's <disfmarker> the system <disfmarker> it 's exactly the sys the same system as Sunil tried ,
speaker: C
text: On - line normalization and LDA ?
speaker: D
text: but <disfmarker>
speaker: C
text: Yeah .
speaker: D
text: Yeah .
speaker: C
text: Yeah .
speaker: D
text: But instead of double stage Wiener filtering , it 's <disfmarker> it 's this smoothed spectral subtraction .
speaker: D
text: Um , yeah .
speaker: C
text: Right .
speaker: A
text: What is it the , um , France Telecom system uses
speaker: A
text: for <disfmarker> Do they use spectral subtraction , or Wiener filtering ,
speaker: A
text: or <disfmarker> ?
speaker: B
text: They use spectral subtraction ,
speaker: B
text: right .
speaker: D
text: For what ?
speaker: B
text: French Telecom .
speaker: D
text: It <disfmarker> it 's Wiener filtering ,
speaker: B
text: Oh , it 's <disfmarker> it 's Wiener filtering .
speaker: D
text: am I right ?
speaker: B
text: Sorry .
speaker: D
text: Well , it 's some kind of Wiener filtering <disfmarker>
speaker: A
text: Oh .
speaker: B
text: Yeah , filtering .
speaker: B
text: Yeah , it 's not exactly Wiener filtering
speaker: B
text: but some variant of Wiener filtering .
speaker: D
text: Yeah .
speaker: A
text: I see .
speaker: C
text: Yeah ,
speaker: B
text: Yeah .
speaker: C
text: plus , uh , I guess they have some sort of cepstral normalization , as well .
speaker: B
text: s
speaker: B
text: They have like <disfmarker>
speaker: D
text: Mm - hmm .
speaker: B
text: yeah ,
speaker: B
text: th the <disfmarker> just noise compensation technique is a variant of Wiener filtering ,
speaker: B
text: plus they do some <disfmarker> some smoothing techniques on the final filter .
speaker: B
text: The <disfmarker> th they actually do the filtering in the time domain .
speaker: A
text: Mmm .
speaker: D
text: Yeah .
speaker: B
text: So they would take this HF squared back , taking inverse Fourier transform .
speaker: A
text: Hmm .
speaker: B
text: And they convolve the time domain signal with that .
speaker: A
text: Oh , I see .
speaker: B
text: And they do some smoothing on that final filter , impulse response .
speaker: A
text: Hmm .
speaker: D
text: But they also have two <disfmarker> two different smoothing @ @ .
speaker: D
text: One in the time domain
speaker: B
text: I mean , I 'm <disfmarker> I 'm @ @ .
speaker: D
text: and one in the frequency domain by just taking the first , um , coefficients of the impulse response .
speaker: B
text: But .
speaker: D
text: So , basically it 's similar .
speaker: D
text: I mean , what you did , it 's similar
speaker: B
text: It 's similar in the smoothing
speaker: D
text: because you have also two <disfmarker> two kind of smoothing .
speaker: B
text: and <disfmarker>
speaker: D
text: One in the time domain ,
speaker: B
text: Yeah .
speaker: D
text: and one in the frequency domain ,
speaker: B
text: Yeah .
speaker: B
text: The frequency domain .
speaker: D
text: yeah .
speaker: A
text: Does the smoothing in the time domain help <disfmarker>
speaker: D
text: Um <disfmarker>
speaker: A
text: Well , do you get this musical noise stuff with Wiener filtering
speaker: A
text: or is that only with , uh , spectral subtraction ?
speaker: B
text: No , you get it with Wiener filtering also .
speaker: D
text: Yeah .
speaker: A
text: Does the smoothing in the time domain help with that ?
speaker: A
text: Or some other smoothing ?
speaker: B
text: Oh , no ,
speaker: B
text: you still end up with zeros in the s spectrum .
speaker: D
text: Yeah .
speaker: B
text: Sometimes .
speaker: C
text: I mean , it 's not clear that these musical noises hurt us in recognition .
speaker: A
text: Hmm .
speaker: C
text: We don't know if they do .
speaker: A
text: Hmm .
speaker: B
text: Yeah .
speaker: C
text: I mean , they <disfmarker> they sound bad .
speaker: C
text: But we 're not listening to it , usually .
speaker: A
text: Mm - hmm .
speaker: B
text: Yeah , I know .
speaker: D
text: Mm - hmm .
speaker: A
text: Hmm .
speaker: D
text: Uh , actually the <disfmarker> the smoothing that I did <disfmarker> do here reduced the musical noise .
speaker: D
text: Well , it <disfmarker>
speaker: B
text: Mm - hmm .
speaker: D
text: Mmm .
speaker: B
text: Yeah ,
speaker: B
text: yeah ,
speaker: B
text: the <disfmarker>
speaker: D
text: Well , I cannot <disfmarker> you cannot hear beca
speaker: D
text: well , actually what I d did not say is that this is not in the FFT bins .
speaker: D
text: This is in the mel frequency bands .
speaker: D
text: Um <disfmarker>
speaker: D
text: So ,
speaker: D
text: it could be seen as a f a <disfmarker> a smoothing in the frequency domain because I used , in ad mel bands in addition and then the other phase of smoothing in the time domain .
speaker: D
text: Mmm .
speaker: D
text: But , when you look at the spectrogram , if you don't have an any smoothing , you clearly see , like <disfmarker> in silence portions , and at the beginning and end of speech , you see spots of high energy randomly distributed over the <disfmarker> the spectrogram .
speaker: A
text: Mm - hmm .
speaker: A
text: Mm - hmm .
speaker: D
text: Um <disfmarker>
speaker: A
text: That 's the musical noise ?
speaker: D
text: Which is musical noise ,
speaker: A
text: Mm - hmm .
speaker: D
text: yeah ,
speaker: D
text: if <disfmarker> if it <disfmarker> If you listen to it <disfmarker>
speaker: D
text: uh , if you do this in the FFT bins , then you have spots of energy randomly distributing .
speaker: D
text: And if you f if you re - synthesize these spot sounds as , like , sounds ,
speaker: A
text: Mm - hmm .
speaker: D
text: uh <disfmarker>
speaker: D
text: And <disfmarker>
speaker: C
text: Well , none of these systems , by the way , have <disfmarker> I mean , y you both are <disfmarker> are working with , um , our system that does not have the neural net ,
speaker: C
text: right ?
speaker: D
text: Mm - hmm .
speaker: B
text: Yep .
speaker: B
text: Yeah .
speaker: C
text: OK .
speaker: D
text: Yeah .
speaker: C
text: So one would hope , presumably , that the neural net part of it would <disfmarker> would improve things further as <disfmarker> as they did before .
speaker: D
text: Yeah .
speaker: D
text: Um <disfmarker>
speaker: D
text: Yeah ,
speaker: D
text: although if <disfmarker> if we , um , look at the result from the proposals , <comment> one of the reason , uh , the n system with the neural net was , um , more than <disfmarker> well , around five percent better , is that it was much better on highly mismatched condition .
speaker: D
text: I 'm thinking , for instance , on the TI - digits trained on clean speech and tested on noisy speech .
speaker: C
text: Mm - hmm .
speaker: D
text: Uh , for this case , the system with the neural net was much better .
speaker: C
text: Mm - hmm .
speaker: D
text: But not much on the <disfmarker> in the other cases .
speaker: C
text: Yeah .
speaker: D
text: And
speaker: D
text: if we have no , uh , spectral subtraction or Wiener filtering , um , i the system is <disfmarker> Uh , we thought the neural <disfmarker> neural network is much better than before ,
speaker: D
text: even in these cases of high mismatch .
speaker: D
text: So , maybe the neural net will help less
speaker: D
text: but , um <disfmarker>
speaker: C
text: Maybe .
speaker: A
text: Could you train a neural net to do spectral subtraction ?
speaker: C
text: Yeah ,
speaker: C
text: it could do a nonlinear spectral subtraction
speaker: D
text: Mm - hmm .
speaker: C
text: but I don't know if it <disfmarker>
speaker: C
text: I mean , you have to figure out what your targets are .
speaker: A
text: Yeah ,
speaker: A
text: I was thinking if you had a clean version of the signal and <disfmarker> and a noisy version , and your targets were the M F - uh , you know , whatever , frequency bins <disfmarker>
speaker: D
text: Mm - hmm .
speaker: C
text: Right .
speaker: D
text: Mm - hmm .
speaker: C
text: Yeah , well , that 's not so much spectral subtraction then ,
speaker: D
text: Mm - hmm .
speaker: C
text: but <disfmarker> but <disfmarker> but it 's <disfmarker> but at any rate , yeah , people ,
speaker: C
text: uh <disfmarker>
speaker: A
text: People do that ?
speaker: C
text: y yeah ,
speaker: C
text: in fact , we had visitors here who did that
speaker: C
text: I think when you were here ba way back when .
speaker: D
text: Mm - hmm .
speaker: A
text: Hmm .
speaker: C
text: Uh ,
speaker: C
text: people <disfmarker> d done lots of experimentation over the years with training neural nets .
speaker: C
text: And it 's not a bad thing to do .
speaker: C
text: It 's another approach .
speaker: A
text: Hmm .
speaker: D
text: Mm - hmm .
speaker: C
text: M I mean , it 's <disfmarker> it , um <disfmarker>
speaker: C
text: The objection everyone always raises , which has some truth to it is that , um , it 's good for mapping from a particular noise to clean
speaker: C
text: but then you get a different noise .
speaker: A
text: Mm - hmm .
speaker: C
text: And the experiments we saw that visitors did here showed that it <disfmarker> there was at least some , um , <vocalsound> <comment> gentleness to the degradation when you switched to different noises .
speaker: C
text: It did seem to help .
speaker: C
text: So that <disfmarker> you 're right ,
speaker: C
text: that 's another <disfmarker> another way to go .
speaker: A
text: How did it compare on <disfmarker> I mean , for <disfmarker> for good cases where it <disfmarker> it <disfmarker> uh , stuff that it was trained on ?
speaker: A
text: Did it do pretty well ?
speaker: C
text: Oh , yeah ,
speaker: C
text: it did very well .
speaker: A
text: Mmm .
speaker: C
text: Yeah .
speaker: A
text: Mmm .
speaker: D
text: Mm - hmm .
speaker: C
text: Um ,
speaker: C
text: but to some extent that 's kind of what we 're doing .
speaker: C
text: I mean , we 're not doing exactly that ,
speaker: C
text: we 're not trying to generate good examples
speaker: C
text: but by trying to do the best classifier you possibly can , for these little phonetic categories ,
speaker: A
text: Mm - hmm .
speaker: A
text: You could say it 's sort of built in .
speaker: C
text: It 's <disfmarker>
speaker: C
text: Yeah ,
speaker: C
text: it 's kind of built into that .
speaker: A
text: Hmm .
speaker: C
text: And <disfmarker> and that 's why we have found that it <disfmarker> it does help .
speaker: A
text: Mm - hmm .
speaker: C
text: Um <disfmarker>
speaker: C
text: so ,
speaker: C
text: um ,
speaker: C
text: yeah , I mean , we 'll just have to try it .
speaker: C
text: But I <disfmarker> I would <disfmarker> I would <disfmarker> I would imagine that it will help some .
speaker: C
text: I mean , it <disfmarker> we 'll just have to see whether it helps more or less the same ,
speaker: C
text: but I would imagine it would help some .
speaker: D
text: Mm - hmm .
speaker: C
text: So in any event , all of this <disfmarker> I was just confirming that all of this was with a simpler system .
speaker: D
text: Yeah ,
speaker: D
text: yeah .
speaker: C
text: OK ?
speaker: D
text: Um ,
speaker: D
text: Yeah , so this is th the , um <disfmarker>
speaker: D
text: Well , actually , this was kind of the first try with this spectral subtraction plus smoothing ,
speaker: C
text: Mm - hmm .
speaker: D
text: and I was kind of excited by the result .
speaker: C
text: Mm - hmm .
speaker: D
text: Um , then I started to optimize the different parameters .
speaker: D
text: And ,
speaker: D
text: uh , the first thing I tried to optimize is the , um , time constant of the smoothing .
speaker: D
text: And it seems that the one that I chose for the first experiment was the optimal one ,
speaker: D
text: so <vocalsound> uh ,
speaker: C
text: It 's amazing how often that happens .
speaker: D
text: Um ,
speaker: D
text: so this is the first thing .
speaker: D
text: Um <disfmarker>
speaker: D
text: Yeah , another thing that I <disfmarker> it 's important to mention is , um , that this has a this has some additional latency .
speaker: D
text: Um .
speaker: D
text: Because when I do the smoothing , uh , it 's a recursion that estimated the means , so <disfmarker> of the g of the gain curve .
speaker: D
text: And
speaker: D
text: this is a filter that has some latency .
speaker: D
text: And I noticed that it 's better if we take into account this latency .
speaker: D
text: So , instead o of using the current estimated mean to , uh , subtract the current frame , it 's better to use an estimate that 's some somewhere in the future .
speaker: D
text: Um <disfmarker>
speaker: A
text: And that 's what causes the latency ?
speaker: D
text: Yeah .
speaker: C
text: Mm - hmm .
speaker: A
text: OK .
speaker: B
text: You mean , the m the mean is computed o based on some frames in the future also ?
speaker: B
text: Or <disfmarker> or no ?
speaker: D
text: It 's the recursion ,
speaker: D
text: so it 's <disfmarker> it 's the center recursion ,
speaker: D
text: right ?
speaker: B
text: Mm - hmm .
speaker: D
text: Um <disfmarker>
speaker: D
text: and the latency of this recursion is around fifty milliseconds .
speaker: C
text: One five ?
speaker: C
text: One five ?
speaker: C
text: Five zero ?
speaker: D
text: Five zero ,
speaker: D
text: yeah .
speaker: C
text: Five zero .
speaker: D
text: Um ,
speaker: C
text: Yeah .
speaker: D
text: mmm .
speaker: B
text: I 'm sorry ,
speaker: B
text: why <disfmarker> why is that delay coming ?
speaker: B
text: Like , you estimate the mean ?
speaker: D
text: Yeah ,
speaker: D
text: the mean estimation has some delay ,
speaker: D
text: right ?
speaker: D
text: I mean , the <disfmarker> the filter that <disfmarker> that estimates the mean has a time constant .
speaker: B
text: Oh , yeah .
speaker: B
text: It isn't <disfmarker>
speaker: B
text: OK ,
speaker: B
text: so it 's like it looks into the future also .
speaker: D
text: Yeah .
speaker: B
text: OK .
speaker: C
text: What if you just look into the past ?
speaker: D
text: It 's , uh , not as good .
speaker: D
text: It 's not bad .
speaker: C
text: How m by how much ?
speaker: D
text: Um , it helps a lot over the ba the baseline
speaker: D
text: but , mmm <disfmarker>
speaker: C
text: By how much ?
speaker: D
text: it <disfmarker>
speaker: D
text: It 's around three percent , um , relative .
speaker: C
text: Worse .
speaker: D
text: Yeah .
speaker: D
text: Yeah .
speaker: D
text: Um ,
speaker: C
text: Hmm .
speaker: D
text: mmm <disfmarker>
speaker: D
text: So , uh <disfmarker>
speaker: C
text: It 's depending on how all this stuff comes out
speaker: C
text: we may or may not be able to add any latency .
speaker: D
text: Yeah , but <disfmarker>
speaker: D
text: Yeah .
speaker: D
text: So , yeah , it depends .
speaker: D
text: Uh , y actually , it 's <disfmarker> it 's l it 's three percent .
speaker: D
text: Right .
speaker: D
text: Mmm .
speaker: D
text: Yeah ,
speaker: D
text: b but I don't think we have to worry too much on that right now while <disfmarker> you kno .
speaker: D
text: Mm - hmm .
speaker: C
text: Um ,
speaker: D
text: So <disfmarker>
speaker: C
text: s Yeah , I mean , I think the only thing is that <disfmarker>
speaker: C
text: I would worry about it a little .
speaker: D
text: Mm - hmm .
speaker: C
text: Because if we completely ignore latency , and then we discover that we really have to do something about it , we 're going to be <disfmarker> find ourselves in a bind .
speaker: D
text: Mm - hmm .
speaker: C
text: So , um ,
speaker: C
text: you know , maybe you could make it twenty - five .
speaker: D
text: Yeah .
speaker: C
text: You know what I mean ?
speaker: D
text: Oh yes .
speaker: C
text: Yeah , just , you know , just be <disfmarker> be a little conservative
speaker: C
text: because we may end up with this crunch where all of a sudden we have to cut the latency in half or something .
speaker: D
text: s
speaker: D
text: Mm - hmm .
speaker: D
text: Yeah .
speaker: C
text: OK .
speaker: D
text: Um .
speaker: D
text: So ,
speaker: D
text: yeah , there are other things in the , um , algorithm that I didn't , uh , @ @ a lot yet ,
speaker: A
text: Oh !
speaker: D
text: which <disfmarker>
speaker: A
text: Sorry .
speaker: A
text: A quick question just about the latency thing .
speaker: A
text: If <disfmarker> if there 's another part of the system that causes a latency of a hundred milliseconds , is this an additive thing ?
speaker: A
text: Or c or is yours hidden in that ?
speaker: D
text: Mm - hmm .
speaker: D
text: No ,
speaker: A
text: Uh <disfmarker>
speaker: D
text: it 's <disfmarker> it 's added .
speaker: A
text: It 's additive .
speaker: D
text: Mm - hmm .
speaker: A
text: OK .
speaker: B
text: We can <disfmarker>
speaker: B
text: OK .
speaker: B
text: We can do something in parallel also , in some like <disfmarker> some cases like , if you wanted to do voice activity detection .
speaker: A
text: Uh - huh .
speaker: B
text: And we can do that in parallel with some other filtering you can do .
speaker: D
text: Mmm .
speaker: B
text: So you can make a decision on that voice activity detection
speaker: B
text: and then you decide whether you want to filter or not .
speaker: D
text: Yeah .
speaker: B
text: But by then you already have the sufficient samples to do the filtering .
speaker: A
text: Mm - hmm .
speaker: B
text: So <disfmarker>
speaker: B
text: So , sometimes you can do it anyway .
speaker: A
text: I mean , couldn't ,
speaker: A
text: uh <disfmarker>
speaker: A
text: I <disfmarker>
speaker: A
text: Couldn't you just also <disfmarker> I mean , i if you know that the l the largest latency in the system is two hundred milliseconds , don't you <disfmarker> couldn't you just buffer up that number of frames
speaker: A
text: and then everything uses that buffer ?
speaker: B
text: Yeah .
speaker: A
text: And that way it 's not additive ?
speaker: C
text: Well , in fact , everything is sent over in buffers cuz of <disfmarker>
speaker: C
text: isn't it the TCP buffer some <disfmarker> ?
speaker: B
text: You mean , the <disfmarker> the data , the super frame or something ?
speaker: D
text: Mm - hmm .
speaker: C
text: Yeah ,
speaker: C
text: yeah .
speaker: D
text: Yeah .
speaker: B
text: Yeah , but that has a variable latency
speaker: B
text: because the last frame doesn't have any latency
speaker: D
text: Mm - hmm .
speaker: B
text: and first frame has a twenty framed latency .
speaker: B
text: So you can't r rely on that latency all the time .
speaker: C
text: Yeah .
speaker: B
text: Because <disfmarker>
speaker: D
text: Yeah .
speaker: B
text: I mean the transmission over <disfmarker> over the air interface is like a buffer .
speaker: B
text: Twenty frame <disfmarker>
speaker: A
text: Yeah .
speaker: B
text: twenty four frames .
speaker: A
text: Yeah .
speaker: B
text: So <disfmarker>
speaker: B
text: But the only thing is that the first frame in that twenty - four frame buffer has a twenty - four frame latency .
speaker: B
text: And the last frame doesn't have any latency .
speaker: A
text: Mm - hmm .
speaker: B
text: Because it just goes as <disfmarker>
speaker: B
text: Yeah .
speaker: A
text: Yeah , I wasn't thinking of that one in particular
speaker: A
text: but more of , you know , if <disfmarker> if there is some part of your system that has to buffer twenty frames , uh , can't the other parts of the system draw out of that buffer and therefore not add to the latency ?
speaker: C
text: Yeah .
speaker: C
text: Yeah .
speaker: C
text: And <disfmarker> and that 's sort of one of the <disfmarker>
speaker: C
text: all of that sort of stuff is things that they 're debating in their standards committee .
speaker: A
text: Oh !
speaker: A
text: Hmm .
speaker: D
text: Mm - hmm .
speaker: D
text: Yeah .
speaker: D
text: So ,
speaker: D
text: um ,
speaker: D
text: there is uh , <comment> these parameters that I still have to <disfmarker> to look at .
speaker: D
text: Like , I played a little bit with this overestimation factor ,
speaker: D
text: uh ,
speaker: D
text: but I still have to <disfmarker> to look more at this ,
speaker: D
text: um ,
speaker: D
text: at the level of noise I add after . Uh , I know that adding noise helped , um , the system just using spectral subtraction without smoothing ,
speaker: D
text: but I don't know right now if it 's still important or not , and if the level I choose before is still the right one .
speaker: D
text: Same thing for the shape of the <disfmarker> the noise .
speaker: D
text: Maybe it would be better to add just white noise instead of speech shaped noise .
speaker: C
text: That 'd be more like the JRASTA thing in a sense .
speaker: D
text: Mm - hmm .
speaker: C
text: Yeah .
speaker: D
text: Um , yep .
speaker: D
text: Uh , and another thing is to <disfmarker>
speaker: D
text: Yeah ,
speaker: D
text: for this I just use as noise estimate the mean , uh , spectrum of the first twenty frames of each utterance .
speaker: D
text: I don't remember for this experiment what did you use for these two stage <disfmarker>
speaker: B
text: I used ten <disfmarker> just ten frames .
speaker: D
text: The ten frames ?
speaker: B
text: Yeah , because <disfmarker>
speaker: B
text: I mean , the reason was like in TI - digits I don't have a lot .
speaker: B
text: I had twenty frames most of the time .
speaker: D
text: Mm - hmm .
speaker: D
text: Um .
speaker: D
text: But , so what 's this result you told me about , the fact that if you use more than ten frames you can <disfmarker> improve by t
speaker: B
text: Well , that 's <disfmarker> that 's using the channel zero .
speaker: B
text: If I use a channel zero VAD to estimate the noise .
speaker: D
text: Oh , OK .
speaker: B
text: Which <disfmarker>
speaker: D
text: But this is ten frames plus <disfmarker> plus
speaker: B
text: Channel zero dropping .
speaker: D
text: channel <disfmarker>
speaker: D
text: Uh , no ,
speaker: D
text: these results with two stage Wiener filtering is ten frames
speaker: B
text: Hmm .
speaker: B
text: t Oh , this <disfmarker>
speaker: D
text: but possibly more .
speaker: D
text: I mean , if channel one VAD gives you <disfmarker>
speaker: B
text: f
speaker: B
text: Yeah .
speaker: B
text: Mm - hmm .
speaker: D
text: Yeah .
speaker: B
text: Yeah .
speaker: D
text: OK .
speaker: D
text: Yeah ,
speaker: D
text: but in this experiment I did <disfmarker> I didn't use any VAD .
speaker: D
text: I just used the twenty first frame to estimate the noise .
speaker: D
text: And <disfmarker> So I expected it to be a little bit better , <vocalsound> if , uh , I use more <disfmarker> more frames .
speaker: D
text: Um .
speaker: D
text: OK , that 's it for spectral subtraction .
speaker: D
text: The second thing I was working on is to , um , try to look at noise estimation , <comment> mmm , and using some technique that doesn't need voice activity detection .
speaker: D
text: Um ,
speaker: D
text: and for this I u simply used some code that , uh , <vocalsound> I had from <disfmarker> from Belgium ,
speaker: D
text: which is technique that , um , takes a bunch of frame ,
speaker: D
text: um ,
speaker: D
text: and for each frequency bands of this frame , takes a look at the minima of the energy .
speaker: D
text: And then average these minima and take this as an <disfmarker> an energy estimate of the noise for this particular frequency band .
speaker: D
text: And there is something more to this actually .
speaker: D
text: What is done is that , <vocalsound> uh , these minima are computed , um , based on , um , high resolution spectra .
speaker: D
text: So , I compute an FFT based on the long , uh , signal frame
speaker: D
text: which is sixty - four millisecond <disfmarker>
speaker: A
text: So you have one minimum for each frequency ?
speaker: D
text: What <disfmarker> what I <disfmarker> what I d uh , I do actually , is to take a bunch of <disfmarker> to take a tile on the spectrogram
speaker: D
text: and this tile is five hundred milliseconds long and two hundred hertz wide .
speaker: A
text: Mmm .
speaker: D
text: And this tile <disfmarker>
speaker: D
text: Uh , in this tile appears , like , the harmonics if you have a voiced sound ,
speaker: D
text: because it 's <disfmarker> it 's the FTT bins .
speaker: D
text: And when you take the m the minima of <disfmarker> of these <disfmarker> this tile ,
speaker: D
text: when you don't have speech , these minima will give you some noise level estimate ,
speaker: D
text: If you have voiced speech , these minima will still give you some noise estimate because the minima are between the harmonics .
speaker: D
text: And <disfmarker> If you have other <disfmarker> other kind of speech sounds then it 's not the case ,
speaker: D
text: but if the time frame is long enough , uh , like s five hundred milliseconds seems to be long enough , <comment> you still have portions which , uh , are very close <disfmarker> whi which minima are very close to the noise energy .
speaker: C
text: I 'm confused .
speaker: D
text: Mmm ?
speaker: C
text: You said five hundred milliseconds
speaker: C
text: but you said sixty - four milliseconds .
speaker: C
text: Which is which ?
speaker: C
text: What ?
speaker: D
text: Sixty - four milliseconds is to compute the FFT , uh , bins .
speaker: D
text: The <disfmarker> the FFT .
speaker: C
text: Yeah ,
speaker: C
text: yeah .
speaker: D
text: Um ,
speaker: D
text: actually it 's better to use sixty - four milliseconds because , um , if you use thirty milliseconds , then , uh , because of the <disfmarker> this short windowing and at low pitch , uh , sounds , <vocalsound> the harmonics are not , wha uh , correctly separated .
speaker: C
text: Mm - hmm .
speaker: D
text: So if you take these minima , it <disfmarker> b <vocalsound> they will overestimate the noise a lot .
speaker: C
text: So you take sixty - four millisecond F F Ts and then you average them <comment> over five hundred ?
speaker: C
text: Or <disfmarker> ?
speaker: C
text: Uh , what do you do over five hundred ?
speaker: D
text: So I take <disfmarker> to <disfmarker> I take a bunch of these sixty - four millisecond frame to cover five hundred milliseconds ,
speaker: C
text: Ah .
speaker: C
text: OK .
speaker: D
text: and then I look for the minima ,
speaker: C
text: I see .
speaker: A
text: Mmm .
speaker: D
text: on the <disfmarker> on <disfmarker> on the bunch of uh fifty frames , right ?
speaker: C
text: I see .
speaker: D
text: Mmm .
speaker: D
text: So the interest of this is that , as y with this technique you can estimate u some reasonable noise spectra with only five hundred milliseconds of <disfmarker> of signal ,
speaker: D
text: so if the <disfmarker> the n the noise varies a lot , uh , you can track <disfmarker> better track the noise ,
speaker: C
text: Mm - hmm .
speaker: D
text: which is not the case if you rely on the voice activity detector .
speaker: D
text: So even if there are no no speech pauses , you can track the noise level .
speaker: D
text: The only requirement is that you must have , in these five hundred milliseconds segment , <comment> you must have voiced sound at least .
speaker: D
text: Cuz this <disfmarker> these will help you to <disfmarker> to track the <disfmarker> the noise level .
speaker: D
text: Um .
speaker: D
text: So what I did is just to simply replace the VAD - based , uh , noise estimate by this estimate ,
speaker: D
text: first on SpeechDat - Car <disfmarker>
speaker: D
text: Well , only on SpeechDat - Car actually .
speaker: D
text: And it 's , uh , slightly worse ,
speaker: D
text: like one percent relative compared to the VAD - based <pause> estimates .
speaker: D
text: Um ,
speaker: D
text: I think the reason why it 's not better , is that the SpeechDat - Car noises are all stationary .
speaker: D
text: Um .
speaker: D
text: So , u
speaker: D
text: y y there really is no need to have something that 's adaptive
speaker: C
text: Mm - hmm .
speaker: D
text: and <disfmarker> Uh ,
speaker: D
text: well , they are mainly stationary .
speaker: D
text: Um .
speaker: D
text: But , I expect s maybe some improvement on TI - digits
speaker: D
text: because , nnn , in this case the noises are all sometimes very variable .
speaker: D
text: Uh , so I have to test it .
speaker: D
text: Mmm .
speaker: C
text: But are you comparing with something <disfmarker>
speaker: C
text: e I 'm <disfmarker> I 'm <disfmarker> p s a little confused again ,
speaker: C
text: i it <disfmarker>
speaker: C
text: Uh , when you compare it with the V A D - based ,
speaker: D
text: Mm - hmm .
speaker: D
text: It 's <disfmarker>
speaker: C
text: VAD - Is this <disfmarker> is this the <disfmarker> ?
speaker: D
text: It 's the France - Telecom - based spectra , s uh , Wiener filtering and VAD .
speaker: D
text: So it 's their system
speaker: D
text: but just I replace their noise estimate by this one .
speaker: C
text: Oh , you 're not doing this with our system ?
speaker: D
text: In i I 'm not <disfmarker>
speaker: D
text: No , no .
speaker: D
text: Yeah ,
speaker: D
text: it 's our system
speaker: D
text: but with just the Wiener filtering from their system .
speaker: D
text: Right ?
speaker: D
text: Mmm .
speaker: C
text: OK .
speaker: D
text: Yeah .
speaker: D
text: Actually , th the best system that we still have is , uh , our system but with their noise compensation scheme ,
speaker: D
text: right ?
speaker: C
text: Right .
speaker: D
text: So I 'm trying to improve on this , and <disfmarker> by <disfmarker> by replacing their noise estimate by , uh , something that might be better .
speaker: C
text: But <disfmarker>
speaker: C
text: OK .
speaker: C
text: But the spectral subtraction scheme that you reported on also re requires a <disfmarker> a noise estimate .
speaker: D
text: Yeah .
speaker: D
text: Yeah .
speaker: D
text: But I di
speaker: C
text: Couldn't you try this for that ?
speaker: C
text: Do you think it might help ?
speaker: D
text: Not yet ,
speaker: D
text: because I did this in parallel ,
speaker: D
text: and I was working on one and the other .
speaker: C
text: I see ,
speaker: C
text: I see .
speaker: C
text: Yeah .
speaker: D
text: Um ,
speaker: D
text: Yeah , for <disfmarker> for sure I will .
speaker: B
text: Yeah .
speaker: D
text: I can try also , mmm , the spectral subtraction .
speaker: C
text: OK .
speaker: B
text: So I 'm also using that n new noise estimate technique on this Wiener filtering what I 'm trying .
speaker: D
text: Mm - hmm .
speaker: B
text: So I <disfmarker> I have , like , some experiments running , I don't have the results .
speaker: C
text: Yeah .
speaker: C
text: Yeah .
speaker: B
text: So .
speaker: B
text: I don't estimate the f noise on the ten frames but use his estimate .
speaker: D
text: Mm - hmm .
speaker: C
text: Yeah .
speaker: D
text: Um .
speaker: D
text: Yeah .
speaker: D
text: I , um , also implemented a sp um <disfmarker> spectral whitening idea
speaker: D
text: which is in the , um , Ericsson proposal .
speaker: D
text: Uh , the idea is just to <vocalsound> um , flatten the log , uh , spectrum , um , and to flatten it more if the <disfmarker> the probability of silence is higher .
speaker: D
text: So in this way , you can also reduce <disfmarker> somewhat reduce the musical noise
speaker: D
text: and you reduce the variability if you have different noise shapes ,
speaker: D
text: because the <disfmarker> the spectrum becomes more flat in the silence portions .
speaker: D
text: Um .
speaker: D
text: Yeah .
speaker: D
text: With this , no improvement ,
speaker: D
text: uh , but there are a lot of parameters that we can play with
speaker: D
text: and ,
speaker: D
text: um <disfmarker>
speaker: D
text: Actually , this <disfmarker> this could be seen as a soft version of the frame dropping
speaker: D
text: because , um , you could just put the threshold and say that " below the threshold , I will flatten <disfmarker> comp completely flatten the <disfmarker> the spectrum " .
speaker: D
text: And above this threshold , uh , keep the same spectrum .
speaker: D
text: So it would be like frame dropping ,
speaker: D
text: because during the silence portions which are below the threshold of voice activity probability , <comment> uh , w you would have some kind of dummy frame
speaker: D
text: which is a perfectly flat spectrum .
speaker: D
text: And this , uh , whitening is something that 's more soft because , um , you whiten <disfmarker> you just , uh , have a function <disfmarker> the whitening is a function of the speech probability ,
speaker: D
text: so it 's not a hard decision .
speaker: C
text: Mm - hmm .
speaker: D
text: Um ,
speaker: D
text: so I think maybe it can be used together with frame dropping and when we are not sure about if it 's speech or silence ,
speaker: D
text: well , maybe it has something do with this .
speaker: C
text: It 's interesting .
speaker: C
text: I mean , um , you know , in <disfmarker> in JRASTA we were essentially adding in , uh , white <disfmarker> uh , white noise dependent on our estimate of the noise .
speaker: D
text: Mm - hmm .
speaker: C
text: On the overall estimate of the noise .
speaker: C
text: Uh , I think it never occurred to us to use a probability in there .
speaker: D
text: Mm - hmm .
speaker: C
text: You could imagine one that <disfmarker> that <disfmarker> that made use of where <disfmarker> where the amount that you added in was , uh , a function of the probability of it being s speech or noise .
speaker: D
text: Mm - hmm .
speaker: D
text: Mm - hmm .
speaker: D
text: Yeah , w
speaker: D
text: Yeah , right now it 's a constant that just depending on the <disfmarker> the noise spectrum .
speaker: B
text: There 's <disfmarker>
speaker: C
text: Yeah .
speaker: D
text: Mm - hmm .
speaker: C
text: Cuz that <disfmarker> that brings in sort of powers of classifiers that we don't really have in , uh , this other estimate .
speaker: D
text: Mm - hmm .
speaker: C
text: So it could be <disfmarker> it could be interesting .
speaker: D
text: Mm - hmm .
speaker: D
text: Mm - hmm .
speaker: C
text: What <disfmarker> what <disfmarker> what point does the , uh , system stop recording ?
speaker: C
text: How much <disfmarker>
speaker: A
text: It 'll keep going till <disfmarker> I guess when they run out of disk space ,
speaker: C
text: It went a little long ?
speaker: C
text: I mean , disk <disfmarker>
speaker: A
text: but <disfmarker>
speaker: A
text: I think we 're OK .
speaker: D
text: So .
speaker: C
text: OK .
speaker: D
text: Yeah .
speaker: D
text: Uh <disfmarker>
speaker: D
text: Yeah , so there are <disfmarker> with this technique there are some <disfmarker>
speaker: D
text: I just did something exactly the same as <disfmarker> as the Ericsson proposal
speaker: D
text: but , um , <vocalsound> the probability of speech is not computed the same way .
speaker: D
text: And I think , i for <disfmarker> yeah , for a lot of things , actually a g a good speech probability is important .
speaker: D
text: Like for frame dropping you improve , like <disfmarker> you can improve from ten percent as Sunil showed , if you use the channel zero speech probabilities .
speaker: C
text: Mm - hmm .
speaker: C
text: Mm - hmm .
speaker: D
text: For this it might help ,
speaker: D
text: um <disfmarker>
speaker: C
text: Mm - hmm .
speaker: D
text: S so , yeah .
speaker: D
text: Uh ,
speaker: D
text: so yeah ,
speaker: D
text: the next thing I started to do is to , <vocalsound> uh , try to develop a better voice activity detector .
speaker: D
text: And ,
speaker: D
text: um <disfmarker>
speaker: D
text: I d
speaker: D
text: um <disfmarker>
speaker: D
text: yeah , for this I think we can maybe try to train the neural network for voice activity detection on all the data that we have , including all the SpeechDat - Car data .
speaker: D
text: Um <disfmarker>
speaker: D
text: And so I 'm starting to obtain alignments on these databases .
speaker: D
text: Um , and the way I mi I do that is that I just use the HTK system but I train it only on the close - talking microphone .
speaker: D
text: And then I aligned <disfmarker> I obtained the Viterbi alignment of the training utterances .
speaker: D
text: Um <disfmarker>
speaker: D
text: It seems to be ,
speaker: D
text: uh i
speaker: D
text: Actually what I observed is that for Italian it doesn't seem <disfmarker> Th - there seems to be a problem .
speaker: B
text: No .
speaker: D
text: Well .
speaker: B
text: So , it doesn't seems to help by their use of channel zero or channel one .
speaker: D
text: Because <disfmarker>
speaker: D
text: What ?
speaker: B
text: Uh , you mean their d the frame dropping , right ?
speaker: D
text: Yeah .
speaker: B
text: Yeah , it doesn't <disfmarker>
speaker: D
text: Yeah .
speaker: D
text: So , u but actually the VAD was trained on Italian also ,
speaker: B
text: Italian .
speaker: D
text: so <disfmarker> Um ,
speaker: D
text: the c the current VAD that we have was trained on , uh , t SPINE , right ?
speaker: D
text: Italian , and TI - digits with noise and <disfmarker>
speaker: B
text: TI - digits .
speaker: D
text: Uh , yeah .
speaker: D
text: And it seems to work on Italian but not on the Finnish and Spanish data .
speaker: D
text: So , maybe one reason is that s s Finnish and Spanish noise are different .
speaker: D
text: And
speaker: D
text: actually we observed <disfmarker> we listened to some of the utterances and sometimes for Finnish there is music in the recordings and strange things ,
speaker: D
text: right ?
speaker: B
text: Yeah .
speaker: D
text: Um <disfmarker>
speaker: D
text: Yeah , so the idea was to train all the databases and obtain an alignment to train on these databases ,
speaker: D
text: and , um ,
speaker: D
text: also to , um , try different kind of features , <vocalsound> uh , as input to the VAD network .
speaker: D
text: And
speaker: D
text: we came up with a bunch of features that we want to try
speaker: D
text: like , um , the spectral slope , the , um , the degree o degree of voicing with the features that , uh , we started to develop with Carmen , um , e with , uh , the correlation between bands and different kind of features ,
speaker: B
text: Yeah .
speaker: B
text: Mm - hmm .
speaker: D
text: and <disfmarker> Yeah .
speaker: B
text: The energy also .
speaker: D
text: The energy .
speaker: D
text: Yeah . Of course .
speaker: B
text: Yeah .
speaker: C
text: Yeah , right .
speaker: D
text: Yeah .
speaker: C
text: OK .
speaker: C
text: Well , Hans - Guenter will be here next week
speaker: C
text: so I think he 'll be interested in all <disfmarker> all of these things .
speaker: C
text: And , so .
speaker: D
text: Mm - hmm .
speaker: C
text: Mmm .
speaker: A
text: OK ,
speaker: A
text: shall we , uh , do digits ?
speaker: C
text: Yeah .
speaker: A
text: Want to go ahead , Morgan ?
speaker: C
text: Sure .
speaker: A
text: OK .

Meeting summary:
text: The ICSI Meeting Recorder Group of Berkeley met for the first time in two weeks.
text: Group members reported their progress in the areas of spectral subtraction, Wiener filtering and noise estimation.
text: They also discusses topics relating to the rules and preferences of the project they are working on, including single vs multiple passes.
text: A number of the group also took time to explain the basics of their approaches to the group.
text: There are hopes that a visitor coming for three weeks, may lead to a longer term collaboration.
text: The visitor works on spectral subtraction, so speaker me026 will make sure he talks to him.
text: Speaker mn007 agreed, at me013's suggestion, to try his noise compensation scheme in compensation with the prior work on spectral subtraction.
text: In implementing smoothing to the spectral subtraction, latency has been increased; while some feel this is nothing to worry about, others feel it is better to worry now, in case it turns out to be something to worry about.
text: Speaker me026 has been experimenting with spectral subtraction using different data window sizes.
text: One possible idea is to use increasing windows as more data becomes available.
text: Speaker mn049 has been working on Wiener filtering, and testing with just the base system provides 30% improvement.
text: Using a second stage of filtering led to even more improvement.
text: Speaker mn007 is working on spectral subtraction, still with minimal results.
text: Smoothing seems to help, and implementing alongside the neural net should also be positive.
text: He has also been working on noise estimation with an energy minima approach that does not require the voice activity detector.