Generates authentic V.34 modem handshake audio based on ITU-T specifications. Produces a stereo WAV file with the calling modem on the left channel and answering modem on the right.
Synthesizes the physical layer signals bit-by-bit, employing the exact scrambler polynomials, differential encoders, and pulse-shaping techniques defined in the official telecommunications specifications.
- v34_modem_handshake.wav: The resulting synthesized audio (Stereo: Left=Call, Right=Answer).
Spectrogram showing ANSam trellis, probing "combs" and scrambled training sequences (Red = Calling modem, Teal = Answering modem)
- Complete V.34 handshake simulation including:
- DTMF dialing sequence
- Ringback tone
- V.8 protocol negotiation (ANSam, CM/JM exchange)
- V.34 probing and ranging (INFO sequences, L1/L2 probing)
- V.34 training phase (QAM modulation)
- Accurate signal generation based on ITU-T V.34, V.8, and V.21 specifications
- GFSK modulation for V.21 signals
- DPSK with RRC pulse shaping for INFO sequences
- QAM with proper scrambling for training sequences
pip install numpy scipyrun directly:
python v34_modem_handshake.pyThe generated WAV file is stereo:
- Left channel: Calling modem (originator)
- Right channel: Answering modem (responder)
- ITU-T V.34: A modem operating at data signalling rates of up to 33,600 bit/s
- ITU-T V.8: Procedures for starting sessions of data transmission over the PSTN
- ITU-T V.21: 300 bits per second duplex modem
MIT License