# Average of channels of MFCCs

**URL:** https://discourse.flucoma.org/t/average-of-channels-of-mfccs/2147
**Category:** Learning Resources
**Created:** [November 16, 2023, 7:55pm UTC](https://discourse.flucoma.org/t/average-of-channels-of-mfccs/2147 "2023-11-16T19:55:44Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![tremblap](https://discourse.flucoma.org/user_avatar/discourse.flucoma.org/tremblap/32/5_2.png) [@tremblap](https://discourse.flucoma.org/u/tremblap)
#### Post date: [November 16, 2023, 7:55pm UTC](https://discourse.flucoma.org/t/average-of-channels-of-mfccs/2147/1 "2023-11-16T19:55:44Z")

</div>

Dear all

A question emerged: would the MFCCs of 2 channels average to the same as the MFCC of the average of the source (a mix of the 2 sources). I had a hunch it wasn’t, but just because MFCCs are so strange despite fantastic visualisation tools @tedmoore did ([here](https://learn.flucoma.org/reference/mfcc/) and [here](https://learn.flucoma.org/reference/mfcc/explain/)), so I did a quick test. I hope it helps people troubleshoot their intuitions on that cursed multivariate descriptor.

```auto
s.reboot
(
b = Buffer.alloc(s, 44100);
c = Buffer.alloc(s, 44100);
d = Buffer(s);
e = Buffer(s);
f = Buffer(s);
)

b.sine2((110..120), 0.01, false, false)
b.play

c.sine2((1000..1010), 0.01, asWavetable: false)
c.play

(
    FluidBufCompose.process(s, b, destination: f);
    FluidBufCompose.process(s, c, destination: f, destGain: 1)
)

f.play

FluidBufMFCC.process(s, b, features: d, startCoeff: 1, action:{FluidBufStats.process(s,d, stats: e, select: [\mean], action:{e.loadToFloatArray(action:{|x|x.postln})})})

FluidBufMFCC.process(s, c, features: d, startCoeff: 1, action:{FluidBufStats.process(s,d, stats: e, select: [\mean], action:{e.loadToFloatArray(action:{|x|x.postln})})})

FluidBufMFCC.process(s, f, features: d, startCoeff: 1, action:{FluidBufStats.process(s,d, stats: e, select: [\mean], action:{e.loadToFloatArray(action:{|x|x.postln})})})

```
