  Steganography is the science of hiding a secret message within an ordinary
public message, which is referred to as Carrier. Traditionally, digital signal
processing techniques, such as least significant bit encoding, were used for
hiding messages. In this paper, we explore the use of deep neural networks as
steganographic functions for speech data. We showed that steganography models
proposed for vision are less suitable for speech, and propose a new model that
includes the short-time Fourier transform and inverse-short-time Fourier
transform as differentiable layers within the network, thus imposing a vital
constraint on the network outputs. We empirically demonstrated the
effectiveness of the proposed method comparing to deep learning based on
several speech datasets and analyzed the results quantitatively and
qualitatively. Moreover, we showed that the proposed approach could be applied
to conceal multiple messages in a single carrier using multiple decoders or a
single conditional decoder. Lastly, we evaluated our model under different
channel distortions. Qualitative experiments suggest that modifications to the
carrier are unnoticeable by human listeners and that the decoded messages are
highly intelligible.
