input: 
  import numpy as np
  
  def generate_voltage_signal(frequency: float, amplitude: float, noise_std_dev: float, duration: float) -> np.ndarray:
      """ Generate a voltage signal with a specified frequency, amplitude, and added Gaussian noise.
      >>> generate_voltage_signal(250, 1, 0.1, 1).shape
      (1000,)
      >>> np.mean(generate_voltage_signal(250, 1, 0, 1)) # No noise
      1.986890281680251e-16
      >>> np.mean(generate_voltage_signal(250, 1, 0.1, 1)) # With noise
      0.00027812060749208535
      """
      t = np.linspace(0, duration, int(duration * 1000))
      voltage_signal = amplitude * np.sin(2 * np.pi * frequency * t) + np.random.normal(0, noise_std_dev, int(duration * 1000))
      return voltage_signal
  
output:     t = np.linspace(0, duration, int(duration * 1000))
      voltage_signal = amplitude * np.sin(2 * np.pi * frequency * t) + np.random.normal(0, noise_std_dev, int(duration * 1000))
      return voltage_signal