Pitch Trainer
Created with JavaFX (TornadoFX)
The most important difference from analog is to ability to set different input/output devices. For example, I use my piano as input and virtual cable with Pianoteq as output.
After you set all settings just use piano keys (Control section) to wish a new note or repeat it.