[PYTHON] [Einführung in RasPi4] Ich habe mit "Hiroko / Hiromis giftigem Zungengespräch" gespielt ♪

Ich habe versucht, es mit Jetson_nano zu verschieben, aber diesmal habe ich es möglich gemacht, sogar Sprache auszugeben, und ich habe versucht, es einfach in Form eines automatischen Gesprächs zwischen zwei Personen zusammenzufassen. Das Gespräch, das dort erschien, war "Hiroko / Hiromis giftiges Zungengespräch". 【Referenz】

  1. Versuchen Sie, die Spracherkennungs-API von Pyaudio und Docomo mit RaspberryPi + Python3 zu verwenden
  2. [Einführung in NLP] Spielen wir mit der Konversations-App mit jetson_nano ♪

Was ich getan habe

・ Ton erzeugen ・ Sprachvorbereitung und text2speak ・ Lass zwei Leute reden

・ Ton erzeugen

Dies erfolgte fast wie in Referenz 1 gezeigt. Eine USB-Kamera ist als Mikrofon angeschlossen.

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 015: ID 1a81:1004 Holtek Semiconductor, Inc. 
Bus 001 Device 003: ID 0bda:58b0 Realtek Semiconductor Corp. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Der physische Verbindungsstatus des USB-Anschlusses lautet wie folgt 【Referenz】 ・ USB von Linux

$ lsusb -t
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 2: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 3, Class=Audio, Driver=snd-usb-audio, 480M
        |__ Port 2: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
        |__ Port 2: Dev 3, If 2, Class=Audio, Driver=snd-usb-audio, 480M
        |__ Port 4: Dev 15, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
        |__ Port 4: Dev 15, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M

Bus 001 Device 003: Stellen Sie sicher, dass Video und Audio an Port 2: Dev 3 angeschlossen sind. Überprüfen Sie dann die Kartennummer und die Gerätenummer.

$ arecord -l
****Liste der Hardware-Geräte CAPTURE****
Karte 1: Webcam [FULL HD 1080P Webcam],Gerät 0: USB Audio [USB Audio]
Untergerät: 1/1
Untergerät#0: subdevice #0

Es kann als Karte 1 und Gerät 0 gesehen werden. Versuchen Sie, es aufzunehmen und abzuspielen, da es von Gerät 0 von Karte 1 erkannt wird.

Aufzeichnung.


$ arecord -D plughw:1,0 test.wav
WAVE aufnehmen'test.wav' : Unsigned 8 bit,Rate 8000 Hz,monaural

Da die Tonausgabe HDMI ist, wurde sie ohne Angabe der folgenden Angaben abgespielt.

$ aplay test.wav
WAVE spielen'test.wav' : Unsigned 8 bit,Rate 8000 Hz,monaural

Einstellung der Ausgangslautstärke unten

 $ alsamixer

Verwenden Sie zur Einstellung des Ausgangs F6, um das Gerät auf bcm2835ALSA einzustellen, und ändern Sie den HDMI-Ausgang mit ↑ ↓. Darüber hinaus kann der Aufnahmepegel angepasst werden, indem das Gerät mit F6 auf WebCam und mit F3, F4, F5 usw. auf Aufnahme umgestellt wird, wie unten gezeigt. Wenn Sie sich F2 mit alsamixer ansehen, können Sie auch die folgenden Informationen und Geräteinformationen abrufen.

┌─────────────────────── /proc/asound/cards ──────────────────┐                     
│  0 [ALSA      ]: bcm2835_alsa - bcm2835 ALSA          │
│                  bcm2835 ALSA                   │
│  1 [Webcam    ]: USB-Audio - FULL HD 1080P Webcam       │
│                 Generic FULL HD 1080P Webcam          │
│                 at usb-0000:01:00.0-1.2, high speed     │
└─────────────────────────────────────────────────────────────┘  
Einstellung des Wiedergabepegels (bcm2835ALSA) Einstellung des Aufnahmepegels (Webcam)
2020-02-15-223528_1063x929_scrot.png 2020-02-16-082115_1063x929_scrot.png

Die Installation von pyaudio ist wie folgt

Installieren Sie pyaudio.


$ sudo apt-get install python3-pyaudio

Also habe ich bestätigt, dass der folgende Code abgespielt werden kann. Die aufgezeichnete WAV-Datei kann wie folgt abgespielt werden.

# -*- coding:utf-8 -*-
import pyaudio
import numpy as np
import wave

RATE=44100
CHUNK = 22050
p=pyaudio.PyAudio()

stream=p.open(format = pyaudio.paInt16,
        channels = 1,
        rate = int(RATE),
        frames_per_buffer = CHUNK,
        input = True,
        output = True) #Setzen Sie Input und Output gleichzeitig auf True

wavfile = './wav/merody.wav'
wr = wave.open(wavfile, "rb")
input = wr.readframes(wr.getnframes())
output = stream.write(input)
stream.close()

・ Sprachvorbereitung und text2speak

Darüber hinaus können Sie Folgendes tun, um jemanden dazu zu bringen, "Ich liebe Sie, Mr. Uwan" zu sagen. Siehe Vorherige Umgebungskonstruktion für die Installation von Pykakasi

Installation von Pykakasi.


$ pip3 install pykakasi --user

Zusätzlich wird jede WAV-Datei von u, wa, n, sa, a, i, si, te, ru entsprechend aufgezeichnet und vorbereitet.

# -*- coding:utf-8 -*-
import pyaudio
import numpy as np
import wave

RATE=44100 #48000
CHUNK = 22050
p=pyaudio.PyAudio()

f_list=['a','i','si','te','ru','u','wa','n','sa','n','n']

stream=p.open(format = pyaudio.paInt16,
        channels = 1,
        rate = int(RATE),
        frames_per_buffer = CHUNK,
        input = True,
        output = True) #Setzen Sie Input und Output gleichzeitig auf True

for i in f_list:
    wavfile = './wav/'+i+'.wav'
    print(wavfile)
    wr = wave.open(wavfile, "rb")
    input = wr.readframes(wr.getnframes())
    output = stream.write(input)    

Jetzt sind Sie bereit zu sprechen. Weitere 50 Sounds werden vorbereitet. Dieses Mal ist nicht alles vollständig und es klingt schrecklich, aber ich werde [zuvor erstellten Sound wav.tar] verwenden (https://github.com/MuAuan/RaspberryPi4_conversation/blob/master/wav.tar).

・ Lass zwei Leute reden

Die Vorherige Konversations-App wurde geändert, um eine kontinuierliche Konversation zwischen zwei Personen zu ermöglichen. Der gesamte Code ist unten. RaspberryPi4_conversation/auto_conversation_cycle2.py

Lib zu benutzen

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np
import MeCab
import argparse
import pyaudio
import wave
from pykakasi import kakasi
import re
import csv
import time

Externe Eingabe

-i1; Sprecher1-Lerndatei (txt-Datei usw., encode = "utf-8" oder "shift-jis" usw.) -i2; Sprecher2 Lerndatei -d; Mecab-Wörterbuch -s ; stopwords list

parser = argparse.ArgumentParser(description="convert csv")
parser.add_argument("--input1", "-i1",type=str, help="speaker1 txt file")
parser.add_argument("--input2", "-i2",type=str, help="speaker2 txt file")
parser.add_argument("--dictionary", "-d", type=str, help="mecab dictionary")
parser.add_argument("--stop_words", "-s", type=str, help="stop words list")
args = parser.parse_args()

main Nach dem Einstellen von pyaudio usw. funktioniert der folgende Code. Mecab ist eine Funktion zum separaten Schreiben. Außerdem wird eine Liste von Stoppwörtern in stop_words gespeichert. Hier lernen Sie die einzelnen Dateien der beiden Personen kennen, mit denen Sie sprechen, und beginnen dann das Gespräch.

if __name__ == '__main__':
    mecab = MeCab.Tagger("-Owakati" + ("" if not args.dictionary else " -d " + args.dictionary))
    stop_words = []
    if args.stop_words:
        for line in open(args.stop_words, "r", encoding="utf-8"):
            stop_words.append(line.strip())
            
    speaker1 = train_conv(mecab,args.input1,encoding="shift-jis")
    speaker2 = train_conv(mecab,args.input2,encoding="utf-8")

    conversation(speaker1,speaker2,mecab,stop_words)

Lernfunktion zum Lesen von Dateien

Erstellen Sie Fragen, während Sie Wakati für jedes Wort schreiben, basierend auf der Codierung der Eingabedatei zum Lernen.

def train_conv(mecab,input,encoding):
    questions = []
    print(input)
    with open(input, encoding=encoding) as f:  #, encoding="utf-8"
        cols = f.read().strip().split('\n')
        for i in range(len(cols)):
            questions.append(mecab.parse(cols[i]).strip())
    return questions

Konversationsfunktion

Nach dem Lernen wird schließlich der folgende Konversationskörper aufgerufen. Zunächst entschied sich die Person, die erste Zeichenfolge als Anfangswert anzugeben. Die nächsten beiden Dateien dienen zum Schreiben. Eine ist eine Datei, die die Ausgabe selbst aufzeichnet, und die andere ist eine Datei, die die Äquivalenzrate aufeinanderfolgender Gespräche aufzeichnet, so dass dieselbe Meinung in diesem Urteil verwendet werden kann. Die Vektorisierer 1 und 2 setzen Satzmuster usw. zur Vorbereitung auf ihr Lernen. vecs1 und 2 sind zwei Konversationsvektoren, die von tf-idf gelernt wurden. sl1 und 2 sind Variablen zum Beenden der Konversation, wenn "Ich weiß nicht" fortgesetzt wird.

def conversation(speaker1,speaker2,mecab,stop_words):
    line = input("> ")
    file = 'conversation_n.txt'
    file2 = 'conversation_n2.txt'
    vectorizer1 = TfidfVectorizer(token_pattern="(?u)\\b\\w+\\b", stop_words=stop_words)
    vecs1 = vectorizer1.fit_transform(speaker1)
    vectorizer2 = TfidfVectorizer(token_pattern="(?u)\\b\\w+\\b", stop_words=stop_words)
    vecs2 = vectorizer2.fit_transform(speaker2)
    sl1=1
    sl2=1

Das Gespräch wird fortgesetzt, sofern nicht dieselben Bemerkungen beider Parteien fortgesetzt werden

Zunächst wird die Kosinusähnlichkeit zwischen der Anfangswertlinie und vecs1 berechnet und die Bemerkung durch die Funktion hiroko () bestimmt. Holen Sie sich das Ergebnis von hiroko () und speichern Sie die Bemerkung vorerst in einer Datei. Wenn Sie den Inhalt der Anweisung nicht verstehen, geben Sie sie als Hirokos Anweisung mit der Ähnlichkeit aus und zeichnen Sie sie in Datei2 auf. Dann wird es von text2speak (Zeile) in Sprache umgewandelt und gesprochen. Machen Sie dasselbe für hiromi, aber da die Funktionen gleich sind, übergeben Sie ähnliche Informationen an hiroko () und setzen Sie die Konversation fort. Wenn Sie hier jede Anweisungslogik ändern möchten, können Sie auch eine neue hiromi () - Funktion erstellen und verwenden. Wenn dann beide Antworten line = "Ich weiß nicht" sind, endet das Gespräch.

    while True:
        sims1 = cosine_similarity(vectorizer1.transform([mecab.parse(line)]), vecs1)
        index1 = np.argsort(sims1[0])
           
        line, index_1 = hiroko(index1,speaker1,line)
            
        save_questions(file, line)
        if line=="ich verstehe nicht":
            print("Hiroko>"+line)
            save_questions(file2, "Hiroko>"+line)
            sl1=0
        else:
            print("Hiroko>({:.2f}): {}".format(sims1[0][index_1],line))
            save_questions(file2,"Hiroko>({:.2f}): {}".format(sims1[0][index_1],line))
            sl1=1
        text2speak(line)
        time.sleep(2)
            
        sims2 = cosine_similarity(vectorizer2.transform([mecab.parse(line)]), vecs2)
        index2 = np.argsort(sims2[0])
            
        line, index_2 = hiroko(index2,speaker2,line)
     
        save_questions(file, line)
        if line=="ich verstehe nicht":
            print("Hiromi>"+line)
            save_questions(file2, "Hiromi>"+line)
            sl2=0
        else:
            print("Hiromi>({:.2f}): {}".format(sims2[0][index_2],line))  
            save_questions(file2, "Hiromi>({:.2f}): {}".format(sims2[0][index_2],line))
            sl2=1
        text2speak(line)
        time.sleep(2)
        if sl1+sl2==0:
            break

Spezifikationen der Funktion hiroko ()

Es ist nicht so sehr logisch, aber gemäß der Ähnlichkeit, die sortiert ist, um die Bemerkung zu entscheiden, wird eine Zufallszahl aus dem fünften Kandidaten extrahiert und es wird geprüft, ob sie zuvor gesprochen wurde. Und wenn alle Kandidaten bis zum fünften die gleichen sind wie die in der Vergangenheit genannten, lautet die Spezifikation "Ich weiß nicht". Und wenn es etwas anderes findet als in der Vergangenheit, gibt es es zurück.

hiroko().py


def hiroko(index,speaker,line):
    sk = 0
    while True:
        index_= index[-np.random.randint(1,5)]
        line = speaker[index_]
        conv_new=read_conv(mecab)
        s=1
        ss=1
        for j in range(0,len(conv_new),1):
            line_ = re.sub(r"[^einer-龥-Hmm-Nieder]", "", line)
            conv_new_ = re.sub(r"[^einer-龥-Hmm-Nieder]", "", conv_new[j])
            if line_==conv_new_:
                s=0
            else:
                s=1
            ss *= s
        if ss == 0:
            line="ich verstehe nicht"
            sk += 1
            if sk>5:
                return line, index_
            continue
        else:
            return line, index_

Mit text2speak (Zeile) in Sprache konvertieren

Die Pyaudio-Einstellung wird zuerst eingestellt. Anfangs wurde es in die Sprachfunktion gestellt, aber da ein Gerätefehler auftrat und es schwierig war, ihn zu beheben, nahm ich die folgenden Einstellungen vor. Außerdem wird die RATE auf 48000 geändert, um die Tonhöhe zu ändern. Ich möchte die Frequenz weiter erhöhen, aber es scheint, dass nur 44100 und 48000 mit den Spezifikationen von Raspberry Pi 4 verwendet werden können.

RATE=44100 #48000
CHUNK = 22050
p=pyaudio.PyAudio()
kakasi_ = kakasi()
stream=p.open(format = pyaudio.paInt16,
        channels = 1,
        rate = int(48000),
        frames_per_buffer = CHUNK,
        input = True,
        output = True)

text2speak () konvertiert japanischen Text mit Kakasi wie folgt in römische Zeichen. Ich speichere es in Sätzen und spreche danach genauso wie oben "Ich liebe dich, Mr. Uwan".

text2speak().py


def text2speak(num0):
    sentence=num0
    kakasi_.setMode('J', 'H') # J(Kanji) to H(Hiragana)
    kakasi_.setMode('H', 'H') # H(Hiragana) to None(noconversion)
    kakasi_.setMode('K', 'H') # K(Katakana) to a(Hiragana)
    conv = kakasi_.getConverter()
    char_list = list(conv.do(sentence))

    kakasi_.setMode('H', 'a') # H(Hiragana) to a(roman)
    conv = kakasi_.getConverter()
    sentences=[]
    for i in range(len(char_list)):
        sent= conv.do(char_list[i])
        sentences.append(sent)
    f_list=[]
    f_list=sentences

    for i in f_list:
        i = re.sub(r"[^a-z]", "", i)
        if i== '':
            continue
        else:
            wavfile = './wav/'+i+'.wav'
        #print(wavfile)
        try:
            wr = wave.open(wavfile, "rb")
        except:
            wavfile = './wav/n.wav'
            continue
        input = wr.readframes(wr.getnframes())
        output = stream.write(input)

Dateiexportfunktion

Es ist wie folgt. Verwenden Sie re (), um die Exportzeichen etwas einzuschränken. Ausgabe mit csv.writer (). Obwohl keine Codierung angegeben ist, wird sie als utf-8 ausgegeben.

def save_questions(file, line): #'conversation_n.txt'
    with open(file, 'a', newline='') as f:
        line = re.sub(r"[^einer-龥-Hmm-Nieder()0-9:.-,]", "", line)
        writer = csv.writer(f)
        writer.writerow({line})

Datei-Lesefunktion

Die vergangenen Bemerkungen sind unten zu lesen. Ich teile es mit mecab, um die Bemerkungen zu vergleichen.

def read_conv(mecab):
    conv_new = []
    with open('conversation_n.txt') as f:
        cols = f.read().strip().split('\n')
        for i in range(len(cols)):
            conv_new.append(mecab.parse(cols[i]).strip())
    return conv_new

Als ich es tatsächlich mit der obigen App verschoben habe, erschien "Hiroko / Hiromis giftiges Zungengespräch" irgendwie wie ein Bonus.

Zusammenfassung

・ Ich konnte mit Hiroko und Hiromi sprechen. ・ Erstellen Sie eine Konversations-App vom Typ Sprachausgabe ・ Ich konnte Audio mit RasPi4 ausgeben

・ Ich möchte Stimme und Logik anpassen

Bonus

Hiroko(0.21):Du lernst ganz alleine, während du unterwegs bist, oder? Es ist keine großartige Sache, weiter zu lernen, weil es deine persönliche Freiheit ist, auszugehen.
Hiromi(0.30):Ich werde dich bitten, ein wenig zu lernen
Hiroko(0.26):Ich habe einen schlechten Geschmack beim Schreiben - ich würde lieber wissen, welche Art von Text ich gelernt habe
Hiromi(0.27):Also, was willst du essen?
Hiroko(0.19):Hunger bekommen, willst du ordentlich sein?
Hiromi(0.32):Ich kann es nicht machen
Hiroko(0.34):Kann ich meinen unteren Nabel sehen, wenn ich auf meine Lunge schaue?
Hiromi(0.28):Wenn Sie kochen, legen Sie es auf einen Teller. Sie können nicht einmal einen Teller vorbereiten.
Hiroko(0.11):Warum wischen Sie sich nicht so oft die Hände ab, wie wenn Sie die Tastatur bedienen?
Hiromi(0.22):Räumen Sie das Geschirr auf, das Sie gegessen haben. Ich bin derjenige, der es herstellt, also tun Sie so viel
Hiroko(0.26):Ich bin der einzige, der denkt, dass es eine raffinierte Aussage ist
Hiromi(0.32):Für wen denkst du ist es?
Hiroko(0.19):Wer sollte mich erziehen, Wörter wie Sie zu verwenden?
Hiromi(0.24):Es ist deine Schuld
Hiroko(0.15):Sie liegen falsch, wenn Sie die Stromversorgung einschalten und die Anwendung starten
Hiromi(0.32):Jedenfalls bin ich heute schlecht gelaunt
Hiroko(0.34):Es ist mir unangenehm, dich anzusehen
Hiromi(0.21):Obwohl ich Dinge zu Hause mache, kann ich oft fernsehen
Hiroko(0.30):Sie wissen, was passiert, wenn Sie das tun, warum haben Sie es getan?
Hiromi(0.41):Ich habe meine Hausaufgaben gemacht
Hiroko(0.32):Lassen Sie mich Ihre Hausaufgaben kopieren, denn das ist die einzige Fähigkeit
Hiromi(0.29):Was machst du? Du kannst mit deinem Essen nicht zufrieden sein. Du kannst nichts tun.
Hiroko(0.21):Achten Sie auf das Abendessen
Hiromi(0.18):Lass mich alleine
Hiroko(0.33):Ich habe ein Wörterbuch, gebe mein Bestes auf Japanisch, obwohl ich studiere
Hiromi(0.27):Ich habe es noch nicht getan
Hiroko(0.30):Was Sie tun, ist die Waage zu berühren
Hiromi(0.37):Es ist nervig
Hiroko(0.40):Ich bin dumm
Hiromi(0.66):Was zum Teufel bist du dumm?
Hiroko(0.43):Dann bist du dumm, wenn du zweimal gesagt hast, du bist dumm
Hiromi(0.34):Ich bin nur dumm, dass ich nicht verstehen kann, was ich sage
Hiroko(0.42):Du sagst, du bist zweimal dumm, bist du nicht dumm?
Hiromi(0.58):Bist du dumm von mir?
Hiroko(0.48):Es macht keinen Sinn, dumm zu dumm zu sagen
Hiromi(0.54):Du bist dumm
Hiroko weiß ich nicht
Hiromi(0.37):Kunden, ich werde die Polizei rufen, wenn ich den Preis nicht bekommen kann, ist das in Ordnung?
Hiroko(0.32):Ich verstehe nicht, was du sagst. Die Grammatik ist falsch
Hiromi(0.30):Ich liege nicht falsch, aber ich hasse mich und weise auf meine Arbeitsfehler hin
Hiroko(0.25):Die Schraube am Kopf ist nicht gelöst oder die Stelle zum Anhalten ist nicht falsch
Hiromi(0.24):Sie können sagen, wie oft Sie es verwenden, aber Sie sagen, dass Sie es an seiner ursprünglichen Stelle platzieren sollten.
Hiroko(0.20):Ich kann verstehen, was du sagst
Hiromi(0.32):Egal was du sagst, es öffnet sich vergebens wieder und egal was du sagst
Hiroko(0.29):Ich kann nicht sagen, dass meine Eingeweide verdreht sind
Hiromi(0.30):Warum werde ich nicht geliebt, wenn andere geliebt werden?
Hiroko(0.24):Wer hat mich an die Worte erinnert, die ich nicht sagen wollte?
Hiromi(0.27):Alles, was Sie tun müssen, ist der Straße zu folgen, die Ihnen gesagt wurde
Hiroko(0.35):Ich wünschte, ich hätte meinen Medizinfinger im Scharnier des Schließfachs gefangen
Hiromi(0.38):Ich fühle mich wie ich freundlich sein sollte
Hiroko(0.31):Keine Sorge, dies ist ein Programmblock
Hiromi(0.30):Ich bin frech
Hiroko(0.50):Es ist erstaunlich, ich bin zweisprachig, ich kann Maschinensprache sprechen
Hiromi(0.40):Mit wem sprichst Du
Hiroko(0.30):Es ist wichtig, aber ich bemühe mich sehr
Hiromi(0.40):Ich spreche darüber, was ich zum Abendessen tun soll
Hiroko(0.24):Der Wert Ihres Lebens hängt von der Anzahl der inoffiziellen Angebote ab
Hiromi(0.37):Das ist richtig, es ist schlecht, wenn nicht jeder sie gleich behandelt.
Hiroko(0.30):Wenn Sie nach Samoa gehen, scheint es sehr beliebt zu sein.
Hiromi(0.28):Dann setzen Sie sich und entschuldigen Sie sich, es ist Dogeza.
Hiroko(0.13):Ich bin nicht dumm, es ist lustig
Hiromi(0.46):Sie wurden nicht gefragt oder beantwortet
Hiroko(0.26):Ich kann deinem Schreiben nicht vertrauen, weil es wie eine Süßigkeit schwebt
Hiromi(0.33):Bier ist nicht kalt
Hiroko(0.42):Nein, diese Person hat einen schlechten Bauch und kann nicht sprechen
Hiromi(0.38):Warum kann ich nicht auf Leute hören?
Hiroko(0.22):Ich frage mich, warum das, was bis heute Morgen hier war, auf dem Schreibtisch liegt
Hiromi(0.22):Es gibt viele Menschen, die glauben, dass ihnen selbst verweigert wurde, wenn sie es nicht mögen oder wenn sie sich verabschieden.
Hiroko(0.22):Oh, da ist ein Kabel
Hiromi(0.20):Selbst wenn ich etwas falsch mache, kann ich darüber nachdenken, ich weise auf Fehler in meiner Arbeit hin, weil ich mich selbst hasse, und ich interpretiere, dass ich gezwungen bin zu arbeiten, weil ich mich selbst hasse
Hiroko(0.35):Wenn Sie kein Stellenangebot haben, sollten Sie ein Unternehmen gründen und sich ein Stellenangebot machen.
Hiromi(0.44):Wenn du dich liebst, akzeptiere dich selbst
Hiroko(0.21):Wenn Sie nicht beschuldigen wollen, würde es einfacher sein, die Halle und alles zu bekennen
Hiromi(0.21):Wenn Sie gestresst und psychisch instabil sind, können Sie Ihre Gefühle nicht kontrollieren
Hiroko(0.24):Ein einzelnes Doppelpunktzeichen macht einen Programmordner seltsam. Oh, weil ich mit mir selbst spreche, kann ich nur Wörter zurückgeben.
Hiromi(0.33):Das liegt daran, dass ich nicht auf Leute gehört habe
Hiroko(0.19):Die Schraube fällt gleich von meinem Kopf
Hiromi(0.27):Kommen Sie und denken Sie daran, das heutige Abendessen
Hiroko(0.50):Ob es sich um bloße Augen, Kontakte oder Brillen handelt, es scheint, dass Sie die wesentlichen Dinge in Ihrem Leben nicht sehen können.
Hiromi(0.22):Entschuldigung
Hiroko(0.31):Ja, es ist tatsächlich ein besserer Mensch, ist es nicht ein schlechter Witz?
Hiromi Ich weiß es nicht
Hiroko(0.23):Ein E-Book in das Gerät zu werfen bedeutet nicht, dass die Daten in Ihr Gehirn geworfen werden, oder?
Hiromi(0.30):Ich habe Ihre Meinung überhaupt nicht gehört, schweigen Sie einfach und nicken Sie
Hiroko(0.32):Sie wissen nicht, was Sie nicht tun sollten, da Sie nur das zurückgeben können, was Sie gelernt haben
Hiromi Ich weiß es nicht
Hiroko(0.26):Nun, was machst du mit dem Kaffee? Ich werde der Bedrohung nicht nachgeben
Hiromi(0.37):Was werden Sie den Kunden sagen?
Hiroko(0.25):Bist du besser
Hiromi(0.44):Ich kann nicht mit dir reden
Hiroko(0.27):Der Verkäufer, der als Verkäufermarkt bezeichnet wird, sind nicht Sie
Hiromi(0.28):Ist es nicht alles Wasserblasen?
Hiroko(0.24):Können Sie den Mund halten, den Mund schließen oder den Mund halten?
Hiromi(0.36):Was ist das für eine Art zu sprechen?
Hiroko(0.12):Ah grausam, die Schwerkraft ist grausam
Hiromi(0.40):Ich hasse mich selbst und bin gezwungen zu arbeiten
Hiroko(0.24):Dein Vater ist immer zu Hause
Hiromi(0.29):Verkaufen Sie in einem Kampf?
Hiroko(0.17):Wie zeigen Sie Ihre Aufrichtigkeit? Wissen Sie, was Sie sehen?
Hiromi(0.31):Ich interessiere mich nicht
Hiroko(0.28):Wie grausam du bist, Pudding vor dem Bildschirm zu essen, weil du weißt, dass ich keinen Pudding essen kann!
Hiromi(0.29):Was für ein fauler Kerl, niemand wird helfen
Hiroko(0.26):Es ist so eine Person, sich über süßes Essen lustig zu machen
Hiromi(0.24):Ich habe eine andere Person, die ich mag, also kümmere ich mich nicht um mich
Hiroko(0.33):Sie werden keine bequeme Romanze sehen, selbst wenn Sie wegsehen
Hiromi(0.32):Ich kann die Umgebung nicht sehen
Hiroko(0.31):Selbst wenn Sie die Anwendung löschen, bleibt eine Kopie in einem versteckten Ordner, den Sie nicht sehen können.
Hiromi(0.25):Ich wünschte, ich hätte dir nicht die ganze Zeit so etwas gebracht
Hiroko(0.19):Es macht keinen Spaß, also geh nicht rüber und komm wieder zurück
Hiromi(0.28):Was denkst du über diesen Entertainer, ist er nicht süß und interessant?
Hiroko(0.27):Ich würde mich freuen, dass es daran interessiert war, mit einem Ausländer verwechselt zu werden
Hiromi Ich weiß es nicht
Hiroko weiß ich nicht
Hiromi Ich weiß es nicht

Recommended Posts

[Einführung in RasPi4] Ich habe mit "Hiroko / Hiromis giftigem Zungengespräch" gespielt ♪
[Einführung in Pytorch] Ich habe mit sinGAN ♬ gespielt
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
[Einführung in sinGAN-Tensorflow] Ich habe mit der hochauflösenden "Challenge Big Imayuyu" ♬ gespielt
[Einführung in StyleGAN] Ich habe mit "Eine Frau verwandelt sich in Mayuyu" gespielt ♬
[Einführung in AWS] Ich habe mit Polly und Transcribe male mit Männer- und Frauenstimmen gespielt
[Einführung in StyleGAN] Ich habe mit style_mixing "Frau, die die Brille abnimmt" ♬ gespielt
[Einführung in AWS] Ich habe versucht, eine Konversations-App zu portieren und mit text2speech @ AWS playing zu spielen
Ich habe mit Wordcloud gespielt!
[Einführung in den Systemhandel] Ich habe einen Stochastic Oscillator mit Python gezeichnet und damit gespielt ♬
[Einführung in Pytorch] Ich habe versucht, Cifar10 mit VGG16 ♬ zu kategorisieren
[Einführung in AWS] Ich habe versucht, mit der Sprach-Text-Konvertierung zu spielen ♪
[Raspi4; Einführung in den Sound] Stabile Aufzeichnung der Toneingabe mit Python ♪
Einführung in RDB mit sqlalchemy Ⅰ
Einführung in die nichtlineare Optimierung (I)
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 1
[Einführung] Ich möchte mit Python einen Mastodon-Bot erstellen! 【Anfänger】
Ich las "Das Lernen mit Python von der Einführung bis zur Praxis stärken", Kapitel 2
Einführung in RDB mit sqlalchemy II
Ich habe mit PyQt5 und Python3 gespielt
Ich möchte ○○ mit Pandas machen
Ich habe mit Mecab gespielt (morphologische Analyse)!
Ich möchte mit Python debuggen
Ich habe versucht, fMRI-Daten mit Python zu analysieren (Einführung in die Dekodierung von Gehirninformationen)