A fluid pulse generator can include a fluid motor including a rotor that rotates in response to fluid flow, a variable flow restrictor positioned upstream of the fluid motor and including a restrictor member rotatable relative to a ported member and longitudinally displaceable relative to the rotor. Another fluid pulse generator can include a flex joint or a constant velocity joint connected between the restrictor member and the rotor. In another fluid pulse generator, the variable flow restrictor can include a valve and a fluidic restrictor element, the valve being operable in response to rotation of the rotor, the fluidic restrictor element being configured to generate fluid pulses in response to the fluid flow through a flow path, and the valve being configured to control the fluid flow through another flow path connected in parallel with the first flow path.