TypeError: 'float' object cannot be interpreted as an integer on linspace

   TypeError                                 Traceback (most recent call last)
d:\website\SpeechProcessForMachineLearning-master\SpeechProcessForMachineLearning-master\speech_process.ipynb Cell 15' in <cell line: 1>()

     -->1 plot_freq(signal, sample_rate)
d:\website\SpeechProcessForMachineLearning-master\SpeechProcessForMachineLearning-master\speech_process.ipynb Cell 10' in plot_freq(signal, sample_rate, fft_size)

        2 def plot_freq(signal, sample_rate, fft_size=512):
          3     xf = np.fft.rfft(signal, fft_size) / fft_size
    ----> 4     freq = np.linspace(0, sample_rate/2, fft_size/2 + 1)
          5     xfp = 20 * np.log10(np.clip(np.abs(xf), 1e-20, 1e100))
          6     plt.figure(figsize=(20, 5))

File <__array_function__ internals>:5, in linspace(*args, **kwargs)

File ~\AppData\Local\Programs\Python\Python39\lib\site-packages\numpy\core\function_base.py:120, in linspace(start, stop, num, endpoint, retstep, dtype, axis)

     23 @array_function_dispatch(_linspace_dispatcher)
         24 def linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,
         25              axis=0):
         26     """
         27     Return evenly spaced numbers over a specified interval.
         28 
       (...)
        118 
        119     """
    --> 120     num = operator.index(num)
        121     if num < 0:
        122         raise ValueError("Number of samples, %s, must be non-negative." % num)
    
    TypeError: 'float' object cannot be interpreted as an integer

What solution about this problem?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum