Piezo Buzzer - how to generate dynamic tone and constant tone?

I'm looking at the Grove Piezo buzzer below:

I see the Seed design has a transistor (Q1) and a resistor (R1). The buzzer description saids:

  1. buzzer emits a tone when SIG is high
  2. "Alternatively it can be connected to an analog pulse-width modulation output to generate various tones and effects"

How is that possible with just a transistor and resistor? I thought Piezo buzzers need some kind of frequency input in order to make a sound. How does the Grove piezo generate sound with just a constant high signal?

Also, when it saids "analog pulse-width modulation", is that a typo? Is it really just digital PWM, where the frequency changes ("analog" frequency)? Or is it a thing to use the analog pings to do PWM?

A buzzer has a built-in sound generating circuit and it operates from DC.

A transducer or speaker is passive and it reproduces the signal fed-into it.

Some people and some "cheap" sellers use the wrong descriptions.

Generally, you can drive a piezo transducer directly from the Arduino. A buzzer usually requires more current so it might need a transistor or MOSFET driver.

Also, when it saids "analog pulse-width modulation", is that a typo?

Probably not very-well written. You'd be modulating whatever tone is reproduced by the buzzer. That could be "interesting" depending on what you're want, but it's not going to play a melody.

If that is an active buzzer on there the electronics are located inside the speaker device. Like Doug says, the transistor is there only for switching.

I wonder if they mean PCM by their analog statement. I might be chinese-english...