[PYTHON] Ich habe versucht, mit VOICEROID2 2 automatisch zu lesen und zu speichern

Einführung

[Letzter Artikel] Wie Sie unter (https://qiita.com/tkmktdm/items/6f8e363858f4061d8cfd) sehen können, wurde es beim letzten automatischen Speichern nur in derselben Datei gespeichert. Muss ich sie jedoch nach dem Schreiben einer HTML-Datei und dem Laden der Audiodatei mit Javascript erneut öffnen oder eine andere Datei laden? Ich wollte es sehen. (Ich kenne die Details nicht lol)

Speziell

Bereiten Sie globale Variablen in der zuletzt erstellten Hauptprogrammdatei vor und zählen Sie die gesendete Anzahl.

Verwenden Sie das Inspektionswerkzeug, um die Position im Feld Name [Kombinationsfeld] unter Speichern unter zu finden. Dann wird die in main vorbereitete globale Variable dort eingefügt und erhält einen anderen Namen.

Hauptbildschirm

aitalk.py


import wave
import winsound as ws
import tkinter
import sys
import tkinter.messagebox as tkm
import time
from voice2 import talkVOICEROID2
from voiceroid2_1 import talkVOICEROID2_1
from voiceroid2_2 import talkVOICEROID2_2
from voiceroid2_3 import talkVOICEROID2_3
from voiceroid2_4 import talkVOICEROID2_4
import time

#Für den globalen Gebrauch definieren(Zum Zählen von Zeiten)
setnumber = 0

root=tkinter.Tk()
root.geometry("1920x1080")
root.title(u"aoi talk")
kotonoha=tkinter.PhotoImage(file="C:/Users/takumi/Desktop/voice/01.png ")
canvas=tkinter.Canvas(bg="white",width=475,height=750)
canvas.place(x=1300,y=250)
canvas.create_image(0,0, image=kotonoha, anchor=tkinter.NW)

def addlist(text):
    mysay="you: "+ text
    print(mysay)
    listbox.insert(tkinter.END,mysay)
    chat = "Aoi: " + talk(text)
    Entry1.delete(0, tkinter.END)
    chatCut(chat)

def chatCut(chat):
    aoi=chat
    addRep(aoi)

def addRep(aoi):
    listbox.insert(tkinter.END, aoi)
    global setnumber
    setnumber+=1
    #Sprachverarbeitung
    voiceroid=aoi[5:]
    voiceroid=voiceroid+"Tsu"
    word=len(voiceroid)
    destime=round(word/7+0.1,1)
    #destime=round(word/7+1.1,1)
    #Wenn Sie auf dem Desktop nicht sprechen können, fügen Sie den folgenden Kommentar hinzu
    talkVOICEROID2(voiceroid)
    time.sleep(destime)
    print(destime)
    #-----------zzz
    talkVOICEROID2_1(voiceroid)
    time.sleep(0.3)
    talkVOICEROID2_2(voiceroid,setnumber)

    time.sleep(0.2)
    talkVOICEROID2_3(voiceroid)
    time.sleep(0.2)
    talkVOICEROID2_4(voiceroid)

def talk(say):
    if say == 'end':
        return ('wir sehen uns')
    else:
        return (say)

static=tkinter.Label(text=u"Sprich mit Aoi-chan!")
static.pack()

Entry1=tkinter.Entry(width=50)
Entry1.insert(tkinter.END,u"Hallo")
Entry1.pack()

button=tkinter.Button(text=u"Senden", width=50,command=lambda: addlist(Entry1.get()))
button.pack()

listbox=tkinter.Listbox(width=55,height=15)
listbox.pack()

root.mainloop()

Teil bearbeiten

** Nur die Datei voiceroid2_2.py ändern **

voiceroid2_2.py


#Zweites Mal
# -*- coding: utf-8 -*-
import pywinauto

def search_child_byclassname_2(class_name, uiaElementInfo, target_all = False):
    target = []
    #Durchsuchen Sie alle untergeordneten Elemente
    for childElement in uiaElementInfo.children():
        #Bestätigung der Übereinstimmung mit ClassName

        if childElement.class_name == class_name:
            if target_all == False:
                return childElement
            else:
                target.append(childElement)
    if target_all == False:
        #Falsch wenn nicht
        return False
    else:
        return target

def search_child_byname_2(name, uiaElementInfo):
    #Durchsuchen Sie alle untergeordneten Elemente
    for childElement in uiaElementInfo.children():
        #Bestätigung der Namensübereinstimmung
        if childElement.name == name:
            return childElement
    #Falsch wenn nicht
    return False

def talkVOICEROID2_2(speakPhrase,num):
    setnumber=str(num) + ".wav"
    print(setnumber)
    #Desktop-Elemente
    parentUIAElement = pywinauto.uia_element_info.UIAElementInfo()
    #Suche nach Voiceroid
    voiceroid2 = search_child_byname_2("VOICEROID2",parentUIAElement)
    # *Wenn beigefügt ist
    if voiceroid2 == False:
        voiceroid2 = search_child_byname_2("VOICEROID2*",parentUIAElement)

    #Wechsel von hier
    #Speichern Sie als Get ElementInfo des Elements
    saveEle = search_child_byclassname_2("#32770",voiceroid2)
 
    #Namen bearbeiten
    win = search_child_byclassname_2("DUIViewWndClassName",saveEle)

    winwin = search_child_byclassname_2("AppControlHost",win)

    filewin = search_child_byclassname_2("Edit",winwin)

    textBoxEditControl = pywinauto.controls.uia_controls.EditWrapper(filewin)
    textBoxEditControl.set_edit_text(setnumber)

    playsaveEle = search_child_byclassname_2("Button",saveEle,target_all = False)

    #Holen Sie sich die Tastensteuerung
    playButtonControl = pywinauto.controls.uia_controls.ButtonWrapper(playsaveEle)

    #Drücken Sie die Wiedergabetaste
    playButtonControl.click()

Schließlich

Auch diesmal konnte ich es in einer anderen Datei speichern und es gelang mir! !! Bitte beachten Sie, dass die Struktur in Windows je nach Person unterschiedlich sein kann! (;^ω^)

Recommended Posts

Ich habe versucht, mit VOICEROID2 2 automatisch zu lesen und zu speichern
Ich habe versucht, mit VOICEROID2 automatisch zu lesen und zu speichern
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, DCGAN mit PyTorch zu implementieren und zu lernen
Ich habe versucht, Grad-CAM mit Keras und Tensorflow zu implementieren
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
Ich habe versucht, die Benutzeroberfläche neben Python und Tkinter dreiäugig zu gestalten
Ich habe versucht, zum Zeitpunkt der Bereitstellung mit Fabric und ChatWork Api automatisch in ChatWork zu posten
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich habe versucht, die Lesezeichen zu visualisieren, die mit Doc2Vec und PCA nach Slack fliegen
Ein Memorandum beim automatischen Erwerb mit Selen
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, mit Selenium und Python einen regelmäßigen Ausführungsprozess durchzuführen
Ich habe versucht, CVAE mit PyTorch zu implementieren
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, Gesichtsmarkierungen mit Python und Dlib leicht zu erkennen
Ich habe versucht, TSP mit QAOA zu lösen
Ich habe versucht, automatisch Bilder von Kanna Hashimoto mit Python zu sammeln! !!
Ich habe versucht, mich automatisch mit Selen bei Twitter anzumelden (RPA, Scraping)
Ich versuchte, Trauer und Freude über das Problem der stabilen Ehe auszudrücken.
Erhalten Sie Tweets mit der Google Cloud-Funktion und speichern Sie Bilder automatisch in Google Fotos
Ich habe versucht, datetime <-> string mit tzinfo mit strftime () und strptime () zu konvertieren.
Ich habe versucht, die Bewegungen von Wiire-Playern automatisch mit Software zu extrahieren
Ich habe versucht, den Winkel von Sin und Cos mit Chainer zu lernen
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen
[Markov-Kette] Ich habe versucht, Zitate und negative Emotionen in Python einzulesen.
Ich habe versucht, die Netzwerkbandbreite und -verzögerung mit dem Befehl tc zu steuern
Ich habe versucht, nächstes Jahr mit AI vorherzusagen
Ich habe versucht, das Lesen von Dataset mit PyTorch zu implementieren
Ich habe versucht, lightGBM, xg Boost mit Boruta zu verwenden
Ich habe versucht, mit TF Learn die logische Operation zu lernen
Ich habe versucht, GAN (mnist) mit Keras zu bewegen
Ich habe DCGAN implementiert und versucht, Äpfel zu generieren
Ich habe versucht, mit OpenCV Bewegungen schnell zu erkennen
Ich habe versucht, Keras in TFv1.1 zu integrieren
Ich habe versucht, mit PartiQL und MongoDB verbunden zu spielen
Ich habe Jacobian und teilweise Differenzierung mit Python versucht
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Ich habe Funktionssynthese und Curry mit Python versucht
Ich habe versucht, LLVM IR mit Python auszugeben
Ich habe versucht, ein Objekt mit M2Det zu erkennen!
Ich habe versucht, die Herstellung von Sushi mit Python zu automatisieren
Ich habe versucht, das Überleben der Titanic mit PyCaret vorherzusagen
Ich habe versucht, Linux mit Discord Bot zu betreiben
Ich habe versucht, DP mit Fibonacci-Sequenz zu studieren
Ich habe versucht, Jupyter mit allen Amazon-Lichtern zu starten
Ich habe versucht, Tundele mit Naive Bays zu beurteilen
[Einführung in PID] Ich habe versucht, ♬ zu steuern und zu spielen
Ich habe versucht zu debuggen.
Ich habe versucht, einen periodischen Prozess mit CentOS7, Selenium, Python und Chrome durchzuführen
[Einführung in AWS] Ich habe versucht, eine Konversations-App zu portieren und mit text2speech @ AWS playing zu spielen
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich habe versucht, maschinelles Lernen (Objekterkennung) mit TouchDesigner zu verschieben