Respiratory therapy apparatus has a short conduit (10) with a mouthpiece (13) at one end and open to atmosphere at its opposite end (11). One end of a cylinder (22), (110, 203) opens into the conduit (10) and contains a piston (21, 111, 205) slidable along the cylinder. The piston (21, 111, 205) carries a permanent magnet (24) that interacts with a magnetic field produced by electromagnetic coils (25, 26), 101-109 surrounding the cylinder. The coils are driven by a control unit (30) that receives inputs from pressure, flow and piston position sensors (40, 41) and (42) to cause the piston to oscillate in the cylinder and superimpose an oscillatory waveform on the normal tidal respiration along the conduit (10) at an amplitude sufficient to mobilize mucus in the patients airway and produce a therapeutic effect.