As described in Section 8.4.3, a pair of all-pass filters can be constructed to give roughly phase difference for positive frequencies and for negative ones. The design of these pairs is beyond the scope of this discussion (see, for instance, [Reg93]) but Pd does provide an abstraction, hilbert~, to do this. Example H09.ssb.modulation.pd, shown in Figure 8.31, demonstrates how to use the hilbert~ abstraction to do signal sideband modulation. The Hilbert transform dates to the analog era [Str95, pp.129-132].
The two outputs of hilbert~, considered as the real and imaginary parts of a complex-valued signal, are multiplied by a complex sinusoid (at right in the figure), and the real part is output. The components of the resulting signal are those of the input shifted by a (positive or negative) frequency specified in the number box.