Как решить проблему с зависанием программы без ошибок, возможно, связанных с Google Cloud Storage? - PullRequest
0 голосов
/ 19 марта 2020

Вот фрагмент кода, с которым я работаю. Программа правильно записывает звук с микрофона и делает из него файл. Затем, когда вы нажимаете «STOP RECORDING», все становится пустым и зависает, выплевывая «Застревает ли он здесь» миллион раз, и в конце концов мои вентиляторы Ma c начинают работать (это утечка памяти?). Я хочу, чтобы он перешел к следующей части моей программы (которая должна работать ). Что я должен сделать, чтобы исправить это и запустить мою программу? Я ДУМАЮ это может включать файл. json, который я использую, но опять же, я не знаю, как это исправить, даже если это было основной проблемой. Буду признателен за любую помощь.

Приложение: Я переношу эту программу с Windows на мою Ma c и пытаюсь также убедиться, что нет проблем с совместимостью. Программа пишется в Python с PyCharm (она работала в той же версии PyCharm также в Windows.)

import os
from nltk.sentiment.vader import SentimentIntensityAnalyzer
from google.cloud import storage
from PyAudio import RecAUD
from google.cloud import speech_v1p1beta1 as speech

numberOfSpeakers = int(input("Please enter number of speakers (up to 6 people may participate): "))
chosenSpeaker = int(input("Please enter the # of the speaker to be analyzed: "))

guiAUD = RecAUD()

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'Users/davidkarimi/PycharmProjects/ATWM/Project ATWM-a83e05b28663.json'

def create_bucket(bucket_name):
    """Creates a new bucket."""

    print("Is it getting stuck here?")
    storage_client = storage.Client()
    bucket = storage_client.create_bucket(bucket_name)
    print('Bucket {} created'.format(bucket.name))  ## have program automatically name new buckets in unique ways to prevent naming conflicts

1 Ответ

0 голосов
/ 19 марта 2020

Я не думаю, что это будет работать на Ма c from PyAudio import RecAUD. Следующий код работал для меня на Ма c.

import pyaudio
import wave
from google.cloud import storage

FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "file.wav"

audio = pyaudio.PyAudio()

# start Recording
stream = audio.open(format=FORMAT, channels=CHANNELS,
                rate=RATE, input=True,
                frames_per_buffer=CHUNK)
print( "recording...")
frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)
print ("finished recording")


# stop Recording
stream.stop_stream()
stream.close()
audio.terminate()

waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'key.json'


storage_client = storage.Client()
bucket = storage_client.create_bucket("bucket-name")
print("Bucket Created {}".format(bucket.name))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...