I’m trying to learn more about predicting whistle and flute frequencies using a transmission matrix model. My goal is to add an acoustic solver to a whistle editor I’m working on.
My current reference is Lefebvre’s thesis “Computational Acoustic Methods for the Design of Woodwind Instruments”.
I’m modeling a simple fipple and bore with no holes and comparing it with a reference instrument (whistle with holes taped over)
I’m trying to do this with just a single cylinder transfer matrix
[P_mouth; Z0*U_mouth] = T_cylinder * [P_foot; Z0*U_foot]
Using (1.3.1) for the equation and (1.3.3) for T_cylinder.
Then using (1.3.2) I take the radiation impedance for the foot vector
[P_foot; Z0*U_foot] = [Zr ; 1]
Multiply and compute a Z_bore = P_mouth/(U_mouth*Z0)
So then I just need to add an impedance for the fipple window Z_mouth, sweep it over frequencies near my target and watch when the imaginary part of Z_total rises across zero to get a predicted frequency.
For Z_mouth my understanding is that Lefebvre treats the embouchure as an extra cylinder length, which he measured. I can perfectly match my reference whistle this way, but it doesn’t actually predict anything from the geometry.
I’m considering printing a few fipples to explore and build a database of window length/width/height → eff_len . I’m sure that’s been done by folks here already and maybe there’s something published, although I haven’t found anything.
Another thing I’ve tried is treating it like a tone hole, with no upstream branch (1.3.14 without the first transfer matrix) which actually gets me within ~7 cents on my one data point. There’s a little squishiness in translating a rectangular window to an effective area and comparing the rectangular chimney to a cylinder but it feels promising.
I don’t know yet which method is going to be better as I start to add more sections and tone holes. Right now, I’m just predicting a single point.
Can anyone share more about these two approaches or if there are others?