Skip to content

serg123e/v34handshake

Repository files navigation

V.34 Modem Handshake Audio Generator

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.

🎧 Listen and Visualize

V.34 Modem Handshake Spectrogram Spectrogram showing ANSam trellis, probing "combs" and scrambled training sequences (Red = Calling modem, Teal = Answering modem)

Features

  • 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

Requirements

pip install numpy scipy

Usage

run directly:

python v34_modem_handshake.py

Output

The generated WAV file is stereo:

  • Left channel: Calling modem (originator)
  • Right channel: Answering modem (responder)

References

  • 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

License

MIT License

About

V.34 Modem Handshake Audio Generator

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors