input: from typing import List
  
  def generate_voltage_signal(frequency: int, amplitude: float, duration: float, sampling_rate: int) -> List[float]:
      """ Generate a voltage signal with random noise at a given frequency and amplitude
      over a specified duration and sampling rate.
      >>> generate_voltage_signal(250, 1, 1, 1000)
      [0.954236, -0.22789, 1.03145, ..., -0.0823672]
      >>> generate_voltage_signal(100, 2, 0.5, 500)
      [1.9842, 2.0321, 1.1234, ..., 1.2345]
      """
      
      t = np.linspace(0, duration, int(sampling_rate * duration))
      voltage_signal = amplitude * np.sin(2 * np.pi * frequency * t) + np.random.normal(0, 0.1, int(sampling_rate * duration))
      return voltage_signal.tolist()
output:     import numpy as np