📜  使用Python构建录音机 GUI

📅  最后修改于: 2022-05-13 01:55:00.802000             🧑  作者: Mango

使用Python构建录音机 GUI

先决条件: Python GUI – tkinter,使用Python创建录音机

Python提供了各种工具,可用于各种目的。其中一个目的是录音。可以使用sounddevice模块来完成。这个录制的文件可以使用soundfile模块保存

需要的模块

  • Sounddevice : sounddevice 模块为 PortAudio 库提供绑定和一些方便的函数来播放和记录包含音频信号的 NumPy 数组。要安装此类型,请在终端中输入以下命令。
pip install sounddevice
  • SoundFile: SoundFile 可以读写声音文件。要安装此类型,请在终端中输入以下命令。
pip install SoundFile

方法:

  • 导入所需的模块。
  • 设置频率和持续时间。
  • 在NumPy数组中记录语音数据,可以使用rec()。
  • 使用 soundfile.write() 存储到文件中。

执行:

第 1 步:导入模块

import sounddevice as sd
import soundfile as sf

第二步:设置频率和时长,在NumPy数组中记录语音数据,可以使用rec()

fs = 48000
duration = 5 
myrecording = sd.rec(int(duration * fs), samplerate=fs,
                     channels=2)

注: fs 是录音的采样率(通常为 44100 或 44800 Hz)

第 3 步:现在将这些数组存储到音频文件中。

# Save as FLAC file at correct sampling rate
sf.write('My_Audio_file.flac', myrecording, fs)

让我们为此创建一个 GUI 应用程序。我们将使用 Tkinter 来做同样的事情。

Python3
import sounddevice as sd
import soundfile as sf
from tkinter import *
  
  
def Voice_rec():
    fs = 48000
      
    # seconds
    duration = 5
    myrecording = sd.rec(int(duration * fs), 
                         samplerate=fs, channels=2)
    sd.wait()
      
    # Save as FLAC file at correct sampling rate
    return sf.write('my_Audio_file.flac', myrecording, fs)
  
  
master = Tk()
  
Label(master, text=" Voice Recoder : "
     ).grid(row=0, sticky=W, rowspan=5)
  
  
b = Button(master, text="Start", command=Voice_rec)
b.grid(row=0, column=2, columnspan=2, rowspan=2,
       padx=5, pady=5)
  
mainloop()


输出: