Here is video of a Rubens’ Tube (standing wave flame tube) I built back in 2013. I drilled somewhere around 130 holes in a fence post. One end is a hard pvc cap with a quick-connect gas hose fed by propane. The other end is a flexible membrane (thin rubber sheet, latex glove, plastic bag, whatever) held by a hose clamp. A small speaker is driven by a function generator and I am manually sweeping through frequencies to find standing waves. The speaker vibrates the air molecules, which vibrates the flexible membrane, which vibrates the gas. Think of a wave traveling down the tube and reflecting off the end and returning. There are specific frequencies for this length of tube such that the initial wave and reflected wave will match. This creates a standing wave in which you have areas of oscillating amplitudes (anti-nodes) and other points that do not change with zero amplitude (nodes). The antinodes create higher pressure in the gas pushing the flames higher and the nodes have no pressure.