< Back to IRCAM Forum

Lpcformants pipo giving weird results

Hi,
I’m trying to build a real-time IPA vowel chart, or F2-F1 graph visualization.
The only way I found to extract formants from real-time audio in Max without doing the math myself (way beyond my skills) is the lpcformants pipo, but it seems to give a bit strange results.

I use it as [pipo~ slice:lpcformants @slice.hop 512 @lpcformants.Bandwidth 0 @lpcformants.nFormants 3 @lpcformants.threshold 50] on a monophic source with proper gain and clean signal.
F1 seems fine, but F2 is always around 5-10KHz while I would expect it arounr 1-3KHz. Same goes for F3 which is around 10-15KHz where I expect 2-4KHz.

Here’s a simple test patch:

<pre><code>
----------begin_max5_patcher----------
650.3ocwVssaiBCD8YxWgkebU1Hr4RR5SU6C8mX0pHGvMwQfMxXRytUMe6qY
.xkcS.ZJo8A.4ismyblwyfecjCdoZGOGid.8Sjiyqibb.nR.m5wN3T1tnDVN
rLbjJMkKM3wUyY36L.9SdMPYLSzZgb0BMOxTYZ+otSbGi7ozxOTO3sEB8q58
HKRUElDtAHw8HpP1.RpAEw.epka9NcFtD6sQiJeM9ip.ZKJfFDbWTvzAUAjV
Tf276h.BuEAXs5RttsCLyqC2jxOyAWuzyuh2RqQqfL+NiWYFLdLBujIWgOci
sKH+itklkxMb8BtjsLALo68PrzYteUh06SWrg9eUZkN3Zk+h0v+WUXgbiRHQ
dcFDnyCK+DFF1QTvusnvgmdGIH2TSmmSTVC2hnlAkrj.nASfaOyrOqzoLvBg
CWtl3+Ikq+1dj6jfNyzjYUm56JnPtVHHWrRxRtR.fdg..8VRw7+vhi12oZBp
9SRPy62asasXF2grtTdkfGtbWlHSsGkmHh3OjjEAGDklbzi.zj0pLT.ghd7j
4l7ClL9EQrYMx87IjO0rcuymvrVyyWqRhskDc2QfNE5HDzUeQu1pUrUp1Jp2
UKgCGgyYa4wKrPVOaAyXzhkElpaH5bH75fYQFwVfSBf.Yjl7BvJNQH+2aVB5
tD+7jUtpPG0HfZuAcT4w7biPxLBk7j0XahAK5hmG5KQ1xjtYJXHHpzaocPT4
UOFFlHcwj2PwTWAOJcHXxuOGHnUB+iwDoGQOxfnIRe0z4LUUbwxx1x040qFH
w1yaiRWNb9XXnPVMDJ2wZ9VQy5gK2iYZaSHisNuPCNFdWX0uMwopXtVVHpqu
sxyRIzOUZ+YZdFqRIPa2QuM5ubyiSE.
-----------end_max5_patcher-----------
</code></pre>

Is there anything I’m missing?