It’s still a bit of a mystery to me as well. Actually I only figured out this year that the waves in it are fixed and have nothing to do with the user waves
Update: the previous explanation was totally incorrect. I’ll leave it below the line, but here’s how it really seems to work:
The DigiPro Wave machine accesses 32 wave files in ROM. Each file contains 512 sample values. The machine can ‘morph’ between two adjacent waves, in a very simple way. To generate the output waveform, it plays the samples of the selected wave file up to the ‘wave phase’ position. When this position is reached, it switches to the next wave file for the remaining samples. It may or may not apply some smoothing at the switchover point.
It’s best to check this with an oscilloscope:
The WPM ‘lfo’ is really just like applying an LFO to the WP parameter, but there are some differences: the speed of the sweep doesn’t depend on the MM tempo, and there is no depth control (it always does a complete sweep). WPRS switches the WPM LFO between free running and note trigger.
Old, incorrect explanation:
There are 32 fixed wave tables with 512 waves in each one.
The WP parameter allows scanning through the waves in the selected table, but since it has resolution 127 it will skip some waves.
The WPM parameter is like an LFO for WP. It’s different from using an actual LFO on WP though because WPM scans through all 512 waves (not just the 127 you can get to with WP). The manual calls this ‘continuous sweep’.
WPRS switches the WPM LFO between free running and note trigger.