não está reconhecendo MCI?

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #40212
    Edson Gomes Braz
    Participante

    import pyttsx3
    import speech_recognition as sr
    from playsound import playsound
    import random
    import datetime
    hour = datetime.datetime.now().strftime(‘%H:%M’)
    #print(hour)
    date = datetime.date.today().strftime(‘%d/%B/%Y’)
    #print(date)
    date = date.split(‘/’)
    #print(date)
    import webbrowser as wb
    import tensorflow as tf
    import numpy as np
    import librosa
    import matplotlib.pyplot as plt
    import seaborn as sns
    sns.set()
    from modules import carrega_agenda, comandos_respostas
    comandos = comandos_respostas.comandos
    respostas = comandos_respostas.respostas
    #print(comandos)
    #print(respostas)

    meu_nome = ‘Ana’

    # Windows
    chrome_path = ‘C:/Program Files/Google/Chrome/Application/chrome.exe %s’

    def search(frase):
    wb.get(chrome_path).open(‘https://www.google.com/search?q=’ + frase)

    #search(‘linguagem python’)

    MODEL_TYPES = [‘EMOÇÃO’]

    def load_model_by_name(model_type):
    if model_type == MODEL_TYPES[0]:
    model = tf.keras.models.load_model(‘C:/Users\ppeli\PycharmProjects\Assistente_virtual\curso_assistente1\models\speech_emotion_recognition.hdf5’)
    model_dict = sorted(list([‘neutra’, ‘calma’, ‘feliz’, ‘triste’, ‘nervosa’, ‘medo’, ‘nojo’, ‘surpreso’]))
    SAMPLE_RATE = 48000
    return model, model_dict, SAMPLE_RATE

    #print(load_model_by_name(‘EMOÇÃO’))
    #print(load_model_by_name(‘EMOÇÃO’)[0].summary())

    model_type = ‘EMOÇÃO’
    loaded_model = load_model_by_name(model_type)

    def predict_sound(AUDIO, SAMPLE_RATE, plot = True):
    results = []
    wav_data, sample_rate = librosa.load(AUDIO, sr=SAMPLE_RATE)
    #print(wav_data)
    #print(wav_data.shape)
    clip, index = librosa.effects.trim(wav_data, top_db=60, frame_length=512, hop_length=64)
    splitted_audio_data = tf.signal.frame(clip, sample_rate, sample_rate, pad_end=True, pad_value=0)
    for i, data in enumerate(splitted_audio_data.numpy()):
    print(‘Audio split: ‘, i)
    print(data)
    print(data.shape)
    mfccs_feactures = librosa.feature.mfcc(y = data, sr = sample_rate, n_mfcc=40)
    print(mfccs_feactures.shape)
    print(mfccs_feactures)
    mfccs_scaled_feactures = np.mean(mfccs_feactures.T, axis = 0)
    mfccs_scaled_feactures = mfccs_scaled_feactures.reshape(1,-1)
    print(mfccs_scaled_feactures.shape)
    #bath
    mfccs_scaled_feactures = mfccs_scaled_feactures[:,:,np.newaxis]
    print(mfccs_scaled_feactures.shape)

    predictions = loaded_model[0].predict(mfccs_scaled_feactures, batch_size=32)
    print(predictions)
    print(predictions.sum())
    if plot:
    plt.figure(figsize=(len(splitted_audio_data), 5))
    plt.barh(loaded_model[1], predictions[0])
    plt.tight_layout()
    plt.show()

    predictions = predictions.argmax(axis = 1)
    print(predictions)
    predictions = predictions.astype(int).flatten()
    predictions = loaded_model[1] [predictions[0]]
    results.append(predictions)
    print(results)

    result_str = ‘PARTE’ + str(i) + ‘: ‘ + str(predictions).upper()
    #print(result_str)

    count_results = [[results.count(x), x] for x in set(results)]
    #print(count_results)

    #print(max(count_results))
    return max(count_results)

     

    #predict_sound(‘triste.wav’, loaded_model[2], plot=False)

    def play_music_youtube(emocao):
    play = False
    if emocao == ‘triste’ or emocao == ‘medo’:
    wb.get(chrome_path).open (‘https://www.youtube.com/watch?v=k32IPg4dbz0&ab_channel=Amelhorm%C3%BAsicainstrumental’)
    play = True
    if emocao == ‘nervosa’ or emocao == ‘surpreso’:
    wb.get(chrome_path).open(‘https://www.youtube.com/watch?v=pWjmpSD-ph0&ab_channel=CassioToledo’)
    play = True
    return play

    #play_music_youtube(‘nervosa’)
    #emocao = predict_sound(‘triste.wav’, loaded_model[2], plot=False)
    #print(emocao)
    #play_music_youtube(emocao[1])

    def speak(audio):
    engine = pyttsx3.init()
    engine.setProperty(‘rate’, 150) # número de palavras por minuto
    engine.setProperty(‘volume’, 1) # min: 0, max:1
    engine.say(audio)
    engine.runAndWait()

    #speak(‘testando o sintetizador de voz da assistente’)

    def listen_microphone():
    microfone = sr.Recognizer()
    with sr.Microphone() as source:
    microfone.adjust_for_ambient_noise(source, duration=0.8)
    print(‘Ouvindo:’)
    audio = microfone.listen(source)
    with open(‘recordings/speech.wav’, ‘wb’) as f:
    f.write(audio.get_wav_data())
    try:
    frase = microfone.recognize_google(audio, language=’pt-BR’)
    print(‘Você disse: ‘ + frase)
    except sr.UnknownValueError:
    frase = ”
    print(‘Não entendi’)
    return frase

    #listen_microphone()

    def test_models():
    audio_source = ‘C:/Users\ppeli\PycharmProjects\Assistente_virtual\curso_assistente1/recordings\speech.wav’
    prediction = predict_sound(audio_source, loaded_model[2], plot = False)
    return prediction

    #print(test_models())

    playing = False
    mode_control = False
    print(‘[INFO] Pronto para começar!’)
    playsound(‘n1.mp3’)

    while (1):
    result = listen_microphone()

    if meu_nome in result:
    result = str(result.split(meu_nome + ‘ ‘)[1])
    result = result.lower()
    print(‘Acionou a assistente!’)
    else:
    playsound(‘n3.mp3’)
    <div id=”acfifjfajpekbmhmjppnmmjgmhjkildl” class=”acfifjfajpekbmhmjppnmmjgmhjkildl”></div>

    #40234
    Dalton Vargas
    Moderador

    Oi Edson!

    Esta questão já foi respondida a você no tópico do aluno Michael. Segue o link: https://iaexpert.academy/forums/topic/erro-na-reproducao-de-audios-mp3-ao-executar-assistente-virtual/

     

Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Você deve fazer login para responder a este tópico.