【问题标题】:Python get Speech to text voice audio dataPython获取Speech to text语音音频数据
【发布时间】:2020-10-30 19:46:08
【问题描述】:

我需要你的帮助,因为目前我使用“pyttsx3”中的“engine.say()”,所以我的程序会和我“说话”。这已经可以了,但现在我想要这个声音的音频可视化器,我该怎么做?

示例

import pyttsx3

engine = pyttsx3.init()

engine.say("Hello World")
engine.runAndWait()

我想要something like this

我有什么

import pyaudio
import struct
import matplotlib.pyplot as plt
import numpy as np

mic = pyaudio.PyAudio()
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 5000
CHUNK = 3000#int(RATE/20)
stream = mic.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, output=True, frames_per_buffer=CHUNK)

fig, ax = plt.subplots(figsize=(14,6))
x = np.arange(0, 2 * CHUNK, 2)
ax.set_ylim(-500, 500)
ax.set_xlim(0, CHUNK)
line, = ax.plot(x, np.random.rand(CHUNK))


while True:
    data = stream.read(CHUNK)
    data = np.frombuffer(data, np.int16)
    line.set_ydata(data)
    fig.canvas.draw()
    fig.canvas.flush_events()
    plt.pause(0.01)

这已经可视化了我的麦克风音频,但我怎样才能使声音成为源? 希望您能帮帮我,非常感谢!

【问题讨论】:

标签: python python-3.x audio


【解决方案1】:

我认为你需要的是 - Realtime_PyAudio_FFT

这样做的好处之一是

启动一个 stream_reader,它使用 PyAudio(声卡、麦克风等)从任何来源提取实时音频数据

由于您将使用pyttsx3 播放音频,它可以从声卡中提取音频并显示实时可视化。对于您的情况,这是一个更好的选择,而不是通过麦克风提取它。

此外,如果音频由同一线程执行,您可能需要启用线程或多处理来可视化音频。这是一个很好的指南 - threading or multiprocessing

【讨论】:

  • 这真的很酷谢谢。但这也只是拿走了我的麦克风而不是声音你知道为什么吗?
  • 你到底是什么意思?能给我举个例子吗?如果您希望在不使用麦克风的情况下配置语音,请使用声卡选项来执行此操作。查看文档以了解如何实现。
  • 对不起,我在 github 上找不到文档?或者声卡的选项
  • 再看一眼——似乎指令只是一个管道,即声卡输入可以通过许多其他方式启用。一个例子是here。您当然可以随心所欲地获得和做任何事情
  • 我刚拿到耳机和 Microsoft Soundmapper(input) 但没有声音?
猜你喜欢
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多