Raspberry Piの特定のGPIOピンの電圧を制御し、スピーカーの電源をオン・オフするには、Pythonの`RPi.GPIO`ライブラリなどを使います。以下はその例です：

```
pythonimport RPi.GPIO as GPIO
import time

# Set the GPIO mode to BCM
GPIO.setmode(GPIO.BCM)

# Set the GPIO pin you want to use as an output
pin = 18
GPIO.setup(pin, GPIO.OUT)

# Turn the speaker on and off by changing the pin's state
try:
    while True:
        GPIO.output(pin, GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin, GPIO.LOW)
        time.sleep(1)

# Clean up the GPIO settings when you're done
except KeyboardInterrupt:
    GPIO.cleanup()

```

このコードでは GPIO モードを BCM (Broadcom SOC チャンネル) に設定し、指定したピンを出力として設定し、`while` ループを使用して 1 秒ごとにピンの状態 (HIGH または LOW) を切り替えます。各状態変化の時間を制御するには、`time` ライブラリの `sleep` 関数を使用する。このコードには `KeyboardInterrupt` 例外ハンドラも含まれており、スクリプトが中断されると `GPIO.cleanup` 関数を呼び出して GPIO の設定をリセットする。
To control the voltage of a specific GPIO pin on a Raspberry Pi and turn the speaker on and off, you can use for example the `RPi.GPIO` library in Python. Here's an example of how to do it:

```
pythonimport RPi.GPIO as GPIO
import time

# Set the GPIO mode to BCM
GPIO.setmode(GPIO.BCM)

# Set the GPIO pin you want to use as an output
pin = 18
GPIO.setup(pin, GPIO.OUT)

# Turn the speaker on and off by changing the pin's state
try:
    while True:
        GPIO.output(pin, GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin, GPIO.LOW)
        time.sleep(1)

# Clean up the GPIO settings when you're done
except KeyboardInterrupt:
    GPIO.cleanup()

```

This code sets the GPIO mode to BCM (Broadcom SOC channel), sets the specified pin as an output, and uses a `while` loop to toggle the state of the pin (HIGH or LOW) every second. The `sleep` function from the `time` library is used to control the duration of each state change. The code also includes a `KeyboardInterrupt` exception handler that calls the `GPIO.cleanup` function to reset the GPIO settings when the script is interrupted.