Warum ist dieser Code so schlecht /funktioniert fast nicht?

Hallo, ich bin an einem Sprachassistenten dran und bin gerade bei der "Speech-to-Text" Funktion. Das ist mein bisheriger Code:

import speech_recognition as sr


def aufnahme():
    r = sr.Recognizer()

    with sr.Microphone() as quelle:
        r.pause_threshold = 0.8
        r.adjust_for_ambient_noise(quelle)
        gesagt = r.listen(quelle)

    try:

        q = r.recognize_google(gesagt, language="de")
        print("Recognized speech (Google):", q)
        return q

    except sr.UnknownValueError:
        print('Leider nicht verstanden (Google)')
        print("Recognized speech (Google):", r.recognize_google(gesagt, show_all=True, language="de"))

    except sr.RequestError as e:
        print(f'Fehler bei Sphinx-Erkennung: {e}')
        return "Ich warte auf Anweisungen"


# Call the function
result = aufnahme()
print(result)

Jedoch funktioniert er richtig schlecht, er versteht höchstens zwei Wörter und in 90% der Fälle kommt dieser Fehlercode:

Leider nicht verstanden (Google)

Traceback (most recent call last):

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 21, in aufnahme

  q = r.recognize_google(gesagt, language="de")

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 251, in recognize_legacy

  return output_parser.parse(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 124, in parse

  actual_result = self.convert_to_result(response_text)

 File "C:\Users\....\lib\site-packages\speech_recognition\recognizers\google.py", line 173, in convert_to_result

  raise UnknownValueError()

speech_recognition.exceptions.UnknownValueError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 35, in <module>

  result = aufnahme()

 File "C:\Users\...\PycharmProjects\voiceAssistant\main.py", line 27, in aufnahme

  print("Recognized speech (Google):", r.recognize_google(gesagt, show_all=True, language="de"))

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 251, in recognize_legacy

  return output_parser.parse(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 124, in parse

  actual_result = self.convert_to_result(response_text)

 File "C:\Users\...\lib\site-packages\speech_recognition\recognizers\google.py", line 173, in convert_to_result

  raise UnknownValueError()

speech_recognition.exceptions.UnknownValueError

Process finished with exit code 1

Woran liegt das, soll ich eine andere Speech Recognition verwenden und wenn ja welche?

Vielen Dank im Voraus!

Assistent, cmd, Code, Error, Problemlösung, Programmiersprache, Python, Python 3, Sprachassistent, Pycharm
Frage zu Python im Editor Thonny: Optische Illusionen?

Hallo Zusammen,
wir müssen optische Illusionen mithilfe von 3 Befehlen in der Programmiersprache Python angeben. Editor wird Thonny benutzt.

Die Befehle sind:

rectangle(1,2,3,4) line (1,2,3,4) ellypse (1,2,3,4)

Damit müssen wir optische Illusionen darstellen oder zeichnen lassen.

Der Lehrer hat es uns gezeigt, wie es funktioniert am Computer. Ich habe aber keine weiteren Übungen mehr dazu und finde im Internet dazu auch keine Videos/Tutorials oder Beschreibungen.

Kennt jemand hier Unterlagen oder auch Übungen zu dem Thema? Ich besuche das Fach IMP (Informatik/Mathe/Physik) und habe bald eine Arbeit dazu. Leider haben wir schriftlich rein gar nichts. In der Arbeit bekommen wir dann eine Aufgabe zu dem Thema, die wir dann auf Papier nachbauen müssen oder erklären/verbessern müssen. Mir fällt das nicht so leicht und ich hätte gerne noch Übungsmaterial dazu. Leider kann mir der Lehrer auch nicht weiterhelfen, er sagte zu mir, dass ich es im Utnerricht ja verstanden hätte.

Bei der letzten Arbeit dachte ich das auch, jedoch war dann die Arbeit überhaupt nicht gut und ich habe es falsch gelöst. Nun möchte ich mich besser vorbereiten, habe aber kein Material und finde auch hier im Internet zu diesem Thema praktisch nichts. Kennt sich jemand damit aus und weiß, wo ich irgendwelches Material/Informationen zum Lernen/Üben bekommen könnte?

Vielen Dank und viele Grüße

Programmiersprache, Python
Python Chatbot-Fehler: Wo liegt hier das Problem?

Ich programmiere jetzt seit mehreren Stunden diesen Chatbot und finde den Fehler nicht, warum er es nicht schafft, auf die Frage: gut die richtige Antwort zu geben.

Hier ist mein Code und wenn ihr den Fehler findet, wäre ich euch sehr dankbar.

main.py:

class NeuroSama:
    def __init__(self):
        self.known_topics = self.load_topics("knowledge_base.txt")
        self.conversation_history = []
        self.load_conversation_log("conversation_log.txt")

    def respond(self, message):
        response = ""

        # Hier wird die Eingabe in Kleinbuchstaben umgewandelt, bevor sie verarbeitet wird
        message = message.lower()

        if self.is_new_topic(message):
            response = "Nein, was ist " + message + "?"
        else:
            response = self.get_response_from_file(message, "generate_response.py")

        self.conversation_history.append({"input": message, "output": response})
        return response

    def is_new_topic(self, topic):
        return topic.lower() not in self.known_topics

    def get_response_from_file(self, topic, filename):
        try:
            response_module = __import__(filename.split('.')[0])
            return response_module.generate_response(topic, self.conversation_history)
        except FileNotFoundError:
            return "Die Datei wurde nicht gefunden."
        except AttributeError:
            return "Die Funktion wurde nicht gefunden."

    def save_conversation(self, filename):
        with open(filename, 'w') as file:
            for convo in self.conversation_history:
                file.write(f"Eingabe: {convo['input']}\n")
                file.write(f"Antwort: {convo['output']}\n")
                file.write("\n")

    def load_topics(self, filename):
        known_topics = set()
        try:
            with open(filename, 'r') as file:
                for line in file:
                    known_topics.add(line.strip().lower())
        except FileNotFoundError:
            print("Datei nicht gefunden. Neue Datei wird erstellt.")
            open(filename, 'w').close()
        return known_topics

    def load_conversation_log(self, filename):
        try:
            with open(filename, 'r') as file:
                for line in file:
                    if line.startswith("Eingabe:"):
                        input_text = line[len("Eingabe:"):].strip()
                        output_text = file.readline()[len("Antwort:"):].strip()
                        self.conversation_history.append({"input": input_text, "output": output_text})
        except FileNotFoundError:
            print("Konversationsprotokoll nicht gefunden.")

# Beispielnutzung
neuro_sama = NeuroSama()

while True:
    user_input = input("Du: ")

    if user_input.lower() == 'exit':
        neuro_sama.save_conversation("conversation_log.txt")
        break

    response = neuro_sama.respond(user_input)
    print("Neuro-Sama:", response)

generate_response.py:

def generate_response(topic, conversation_history):
    if len(conversation_history) > 0:
        last_input = conversation_history[-1]['input'].lower()
        if 'hallo' in last_input:
            return "Hallo zurück!"
        elif any(variant in last_input for variant in ['gut', 'gutes', 'gutem', 'guter']):
            return "Es ist großartig zu hören, dass es dir gut geht!"
        else:
            return "Das ist interessant!"
    else:
        return "Ich bin mir nicht sicher, wie ich darauf reagieren soll."

Hier sind die Antworten, die ich derzeit bekommen habe:

= RESTART: C:\Users\####\Desktop\####\main.py
Du: hallo
Neuro-Sama: Hallo zurück!
Du: Hallo
Neuro-Sama: Hallo zurück!
Du: gut
Neuro-Sama: Nein, was ist gut?
Du: 
= RESTART: C:\Users\####\Desktop\####\main.py
Du: gut
Neuro-Sama: Nein, was ist gut?
Du: Gut
Neuro-Sama: Nein, was ist gut?
Du: 
Bot, Programmiersprache, ChatGPT
C# oder Java für Desktop Anwendungen?

Ich höre immer wie Toll .net sein soll und Blazor aber ich bin schon Webentwickler und mir ist das vollkommen egal. Will etwas anderes machen.
Wenn ich eine Web App will nutze ich Dinge wie React, Next, Node, Php usw.

Jetzt ist es aber so nur für Desktopanwendungen mit Oberfläche oder ohne das Java wahrscheinlich deutlich mehr Verwendung hat, beliebter ist => mehr jobs für mich, viele verschiedene bereiche , mehr Ressourcen zum lernen und auch plattformunabhängiger ist als c#.

Soweit ich weiss hatte microsoft versucht es nur auf windows zu beschränken.

Java ist nicht viel langsamer als C# so steht es zumindest im Internet.

Java wird in Bytecode übersetzt und C# in CLR. C++ dagegen wäre in Maschinencode und ist wenn man assembly zeug weglässt am performantesten.

Java oder Kotlin ist der Standart in der Android entwicklung (könnte man aber auch React Native nutzen und ich habe sowieso kein Android Smartphone)

Ausserdem gefällt mir auch nicht wem diese sprachen gehören microsoft und oracle. Das spielt keine grosse rolle für mich aber kann sich schlecht entwickeln

Ich hab da irgendwas auch mitbekommen das Oracle firmen probleme macht ich nehme an die Java Jdk kostenlos ist und eine SE kostet ? Hab ich nur mal gelesen weiss nicht ob es stimmt.

Mit c# könnte man theoretisch besser kleinere spiele machen aber das ist auch nichts für mich und wenn würde ich gleich c++ lernen.

App, IT, Java, C Sharp, Informatik, Programmiersprache, sdk, UI, GUI
Als Anfänger mit Chat GPT eine App mit folgenden Kriterien programmieren, machbar oder unrealistisch?

Guten Tag,

ich bin am überlegen zu versuchen alleine mit Chat GPT eine App zu programmieren,. Die App soll praktisch eine soziale App sein und etwas im Real-Life organisieren/verwalten, sagen wir mal ähnlich wie Picolo (Trinkspiel-App)

Ich möchte nicht viel darüber verraten, aber sie soll folgende Kriterien beeinhalten:

  • Plattformübergreifend
  • Benutzerkonten verwalten, Daten speichern und Interaktionen zwischen Benutzern ermöglichen
  • Gutes Design haben (minimalistisch, aber ansprechlich)
  • Benutzerkonten sollen in Echtzeit in einem Raum, welchen man eröffnen kann "spielen"
  • Ein Zahlungssystem haben und allem was an Sicherheit dazugehört
  • Und recht viele Extrafunktionen haben, mit denen man sein "Spiel" benutzerdefiniert erstellen kann

Ich bin jedoch ein absoluter Anfänger, jedoch mit der Hoffnung, dass man sich alles nötige mit Chat GPT aneignen könnte. Das Problem ist ich studieren noch nebenbei, hätte also nur 2 bis 5 Stunden jeden Tag dafür zur Verfügung. Und kenne leider absolut niemanden der mir dabei helfen könnte, plus ich hab kein Geld jemanden "anzustellen" oder sowas. Würde ja auch keinen Sinn machen wenn ich gar nicht weiß ob so eine App am Ende was abwerfen würde.

Generell bin ich aber sehr lernfähig und hätte da eigentlich ziemlich Lust zu (auch einfach so für mich, nicht wegen Geld oder sonst was)

Jetzt zu meiner Frage, was glaubt ihr ist sowas absolut unrealistisch oder ist das machbar? Also klar könnte man sowas theoretisch schaffen aber bin jetzt kein Wunderkind oder Erfahrender im Programmieren und hab keine 16 Stunden Zeit am Tag. Würde echt gerne Meinungen dazu hören wie ihr sowas einschätzt.

Dankeschön und liebe Grüße

App, programmieren, Programmiersprache, app entwicklung, ChatGPT
Wie kann ich mit C++ Textdateien in einem Container speichern?

Ich habe ein Problem mit meinem Programm. Ich möchte eine Textdatei in meinem selbst definierten Container speichern, doch Ich weiß nicht, wo das Problem ist.

#include <iostream>
#include <filesystem>
#include <vector>
#include <string>
#include <fstream>
#include <algorithm>

using namespace std;

template <typename Template>
class Container {
  private:
    Template* Eigenschaft1;
    size_t Größe;
    size_t Speichergröße;
  public:
    Container(size_t ContainerGröße = 10000) : Größe(0), Speichergröße(ContainerGröße) {
      Eigenschaft1 = new Template[Speichergröße];
    }

    void Speichern(const Template& Wert) {
      for (int i = 0; i < Größe; i++) {
        Eigenschaft1[Größe++] = Wert;
      }
    }
};

class Personal {
  private:
    string Name;
    string Position;
    int Alter;
    double Gehalt;
  public:
    Personal();

    void Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container);

    void Ausgabe();

    void Hinzufügen(Container<ofstream>& Container);
};

Personal::Personal() {
  Name = Name;
  Position = Position;
  Alter = Alter;
  Gehalt = Gehalt;
}

void Personal::Speicherung(string Name, string Position, int Alter, double Gehalt, Container<ofstream>& Container) {
  string Entscheidung;
  ofstream Datei1("Datei.csv");
  Datei1 << "Name: " << Name << endl;
  Datei1 << "Position" << Position << endl;
  Datei1 << "Alter: " << Alter << endl;
  Datei1 << "Gehalt: " << Gehalt << endl;

  cout << "M\u00F6chten sie die Person speichern: ";

  if (Entscheidung == "Ja") {
    Container.Speichern(Datei1);
  }
  else if (Entscheidung == "Nein") {
  }
}

void Personal::Ausgabe() {
  ifstream Datei1("Datei.csv");
  getline(Datei1, Name);
  Datei1 >> Position;
  Datei1 >> Alter;
  Datei1 >> Gehalt;
  cout << "Name: " << Name << endl;
  cout << "Alter: " << Alter << endl;
  cout << "Beruf: " << Position << endl;
  cout << "Gehalt: " << Gehalt << endl;
}

void Personal::Hinzufügen(Container<ofstream>& Container) {
  Personal P;
  cout << "Bitte geben side den Namen ein: ";
  cin >> P.Name;
  cout << "Bitte geben sie den Beruf an: ";
  cin >> P.Position;
  cout << "Bitte geben sie das Alter der Person an: ";
  cin >> P.Alter;
  cout << "Bitte geben sie das Gehalt der Person an: ";
  cin >> P.Gehalt;
  Speicherung(P.Name, P.Position, P.Alter, P.Gehalt, Container);
}

template <typename T>
int main() {
  string Passwort1 { "Erfolg1234" };
  string Passwort2;
  Container<ofstream> Container;
  Personal P;
  int Entscheidung;
  cout << "Geben sie das Passwort ein: ";
  cin >> Passwort2;

  if (Passwort2 == Passwort1) {
    cout << "Wollen sie eine neue Position hinzufügen (1)" << endl;
    cout << "Wollen sie auf eine Position zugreifen (2)" << endl;
    cin >> Entscheidung;

    if (Entscheidung == 1) {
      P.Hinzufügen(Container);
    }
    else if (Entscheidung == 2) {
      P.Ausgabe();
    }
  }
  else {
    cout << "Falsches Passwort" << endl;
  }
}
Cplusplus, Code, CPP, Programmiersprache, Visual Studio
Wo ist der Fehler in meinem Python-Skript für Blender?
import bpy

# Funktion zum Erstellen eines Materials
def create_material(name, base_color):
  material = bpy.data.materials.new(name=name)
  material.use_nodes = True
  material.node_tree.nodes["Principled BSDF"].inputs["Base Color"].default_value = base_color
  return material

# Funktion zum Erstellen eines Rechtecks
def create_rectangle(name, location, scale, material):
  bpy.ops.mesh.primitive_cube_add(size=1, location=location)
  rectangle = bpy.context.active_object
  rectangle.name = name
  rectangle.scale = scale
  rectangle.data.materials.append(material)
  return rectangle

# Szene zurücksetzen
bpy.ops.wm.read_factory_settings(use_empty=True)

# Farben für die verschiedenen Seiten der Handyhülle
case_colors = [
  (1.0, 0.8, 0.6, 1.0), # Vorderseite (Beispiel: hellbraun)
  (0.8, 0.8, 0.8, 1.0), # Rückseite (Beispiel: hellgrau)
  (0.0, 0.0, 0.0, 1.0), # Seiten (Beispiel: schwarz)
]

# Farben für Graphen und PCM
graphene_color = (0.0, 1.0, 0.0, 1.0) # Grün
pcm_color = (0.0, 0.0, 1.0, 1.0) # Blau
epoxy_color = (1.0, 1.0, 1.0, 1.0) # Weiß für Epoxidharz

# Länge, Breite und Dicke der Handyhülle
length = 0.15
width = 0.07
thickness = 0.02

# Ursprungskoordinaten
origin = (0, 0, 0)

# Material für Graphen erstellen
graphene_material = create_material("Graphene_Material", graphene_color)

# Material für PCM erstellen
pcm_material = create_material("PCM_Material", pcm_color)

# Material für Epoxidharz erstellen
epoxy_material = create_material("Epoxy_Material", epoxy_color)

# Schleife zum Erstellen der Seiten der Handyhülle mit verschiedenen Farben
for i, color in enumerate(case_colors):
  # Material für die Handyhülle erstellen und zuweisen
  case_material = create_material(f"Case_Material_{i}", color)
  # Handyhüllen-Rechteck erstellen
  create_rectangle(f"HandyHuelle_{i}", origin, (length if i == 0 else width, width if i == 0 else thickness, thickness if i == 0 else width), case_material)

# Graphen in der Mitte platzieren
create_rectangle("Graphene", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), graphene_material)

# PCM auf der Innenseite platzieren mit Epoxidharz-Beschichtung
pcm_rectangle = create_rectangle("PCM", (origin[0] + length / 2, origin[1] + width / 2, origin[2] + thickness / 2), (width,), pcm_material)

# Material der Epoxidharz-Beschichtung zuweisen
epoxy_material_node = pcm_material.node_tree.nodes.new(type='ShaderNodeBsdfPrincipled')
epoxy_material_node.location = (-300, 0) # Position des Materialknotens für Epoxidharz
epoxy_material_node.material = bpy.data.materials.get("Epoxy_Material")

# Material der Epoxidharz-Beschichtung verbinden
pcm_material.node_tree.links.new(pcm_material.node_tree.nodes["Material Output"].inputs['Surface'], epoxy_material_node.outputs['BSDF'])

Mir fällt da an sich kein Fehler auf, aber Blender meint:

Python: Traceback (most recent call last):
  File "\Text", line 57, in <module>
  File "\Text", line 13, in create_rectangle
  AttributeError: 'Context' object has no attribute 'active_object'

Hilfe. :D

MfG aus der Nachbarschaft.

Blender 3D, Code, Programmiersprache, Python

Meistgelesene Fragen zum Thema Programmiersprache