From 14eecf2c7008bcdb27b21f583134e3235a0a8ed9 Mon Sep 17 00:00:00 2001 From: Sven Riwoldt Date: Mon, 21 Apr 2025 07:56:45 +0200 Subject: [PATCH] =?UTF-8?q?Z=C3=A4hlprogramm=20etc?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Personalpronomen.csv | 9 + mp3/Uebersicht_der_Wörter_20250419.ods | Bin 0 -> 36131 bytes mp3/Uebersicht_der_Wörter_20250419.txt | 884 +++++++++++++++++++++++++ mp3/Uebersichtwandeln.sh | 33 + mp3/Vergleich.py | 28 + mp3/rename_mp3.py | 43 ++ mp3cut/convert.py | 2 +- mp3cut/convert.sh | 9 + mp3cut/mp3cut.py | 2 +- 9 files changed, 1008 insertions(+), 2 deletions(-) create mode 100644 Personalpronomen.csv create mode 100644 mp3/Uebersicht_der_Wörter_20250419.ods create mode 100644 mp3/Uebersicht_der_Wörter_20250419.txt create mode 100755 mp3/Uebersichtwandeln.sh create mode 100644 mp3/Vergleich.py create mode 100644 mp3/rename_mp3.py create mode 100755 mp3cut/convert.sh diff --git a/Personalpronomen.csv b/Personalpronomen.csv new file mode 100644 index 0000000..c352d14 --- /dev/null +++ b/Personalpronomen.csv @@ -0,0 +1,9 @@ +jag;mig +du;dig +han;honom +hon;henne +hen;hen +det;det +vi;oss +ni;er +de;dem diff --git a/mp3/Uebersicht_der_Wörter_20250419.ods b/mp3/Uebersicht_der_Wörter_20250419.ods new file mode 100644 index 0000000000000000000000000000000000000000..628af81beb4a4f06a438c63febd72278ec6d7be9 GIT binary patch literal 36131 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�~FQGT7K4U*gT*A}!3Nc(;ps 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 $2 + +# Leerzeichen am Ende der Zeile löschen +#sed -E 's/[[:space:]]+$//' $2 > $1 + +# Tabs am Ende der Zeile löschen +sed 's/\t\+$//' $2 > $1 + +# Alles am Ende der zweiten Spalte löschen was kein Buchstabe ist +awk -F'\t' -v OFS='\t' '{sub(/[^a-zA-Z]+$/, "", $2); print}' $1 > $2 + +# Ersetzen von Leezeichen durch underlines in der zweiten Spalte + +awk -F'\t' -v OFS='\t' '{gsub(/ /, "_", $2); print}' $2 > $1 + +# Tab zwischen 1. und 2. Spalte + +awk -F'\t' -v OFS='\t' '{print $1 "-" $2}' $1 > $2 + +# Alle Leerezeiche löschen +sed 's/ //g' $2 > $1 + +input=$1 + +while IFS= read -r line + do + prefix="${line%%-*}" + name=${line#*-} + echo $name + done diff --git a/mp3/Vergleich.py b/mp3/Vergleich.py new file mode 100644 index 0000000..7181e49 --- /dev/null +++ b/mp3/Vergleich.py @@ -0,0 +1,28 @@ +import os + +tmp = [] +filenames = [] + +with open('Uebersicht_der_Wörter_20250419.txt', 'r', encoding='utf-8') as input_file: + for line in input_file: + #Erzeuge ein Array mit den Wörtern + tmp.append(int(line.split('\t')[0])) + + +#Einlesen eines Ordners +for root, dirs, files in os.walk("."): + for file in files: + if file.endswith(".mp3"): + filenames.append(int(file.split('-')[0])) + +def vergleichen(a, b): # Vergleichsfunktion + if a not in b: + return a + + +# Vergleichen von tmp und filenames, was nicht enthalten ist wird ausgegeben +for i in tmp: + #print("i: ",i) + #print(vergleichen(str(i), filenames)) + if i not in filenames: + print (i) \ No newline at end of file diff --git a/mp3/rename_mp3.py b/mp3/rename_mp3.py new file mode 100644 index 0000000..4ff519d --- /dev/null +++ b/mp3/rename_mp3.py @@ -0,0 +1,43 @@ +import re, os +import unicodedata + +from xml.dom.minidom import Element + +from pydub.effects import normalize + +#Lese eine Datei +with open('Uebersicht_der_Wörter_20250419.txt', 'r', encoding='utf-8') as input_file: + for line in input_file: + tmp = line.split('\t')[2] + nr = line.split('\t')[0] + + + # Löschen aller Zeichen die nicht Buchstaben oder Unterstrich sind + tmp = re.sub(r'[^a-zA-ZäöüÜÄÖåÅé -]', '', tmp) + # Löschen der Leezeichen am Ende + tmp = tmp.strip() + nr = nr.strip() + + # Umwandeln von Leerzeichen in Unterstrich + tmp = tmp.replace(" ", "_") + #print(tmp) + + # Suche im Ordner im Pfad der Python-Datei eine Datei die den Namen tmp hat + + for root, dirs, files in os.walk("."): + for file in files: + if file.endswith(".mp3"): + + #Suche den Dateinamen ohne die Erweiterung + file = unicodedata.normalize('NFC', os.path.splitext(file)[0]) + + #print ("File: "+ file.lower()) + if file.lower() == tmp.lower(): + #der Vergleich funktioniert nicht 'ägaren' und 'ägaren' sind nicht gleich + #Kann man String noch anders vergleichen? + + #print("Gefunden: "+nr +"-" +tmp.lower()+".mp3") + #print("Neu: "+nr +"-" +tmp.lower()+".mp3") + + os.rename(file+".mp3", nr+ "-" +tmp.lower()+".mp3") # Umbenenne die Datei + diff --git a/mp3cut/convert.py b/mp3cut/convert.py index b97b3eb..191829f 100755 --- a/mp3cut/convert.py +++ b/mp3cut/convert.py @@ -1,5 +1,5 @@ #!/usr/bin/python3 - +# coding=utf-8 from pydub import AudioSegment import sys,os diff --git a/mp3cut/convert.sh b/mp3cut/convert.sh new file mode 100755 index 0000000..b453ff9 --- /dev/null +++ b/mp3cut/convert.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +for i in $(ls *.wav) +do +python3 convert.py $i +echo $i +rm -f $i +done + diff --git a/mp3cut/mp3cut.py b/mp3cut/mp3cut.py index 1a2be36..154a7dd 100644 --- a/mp3cut/mp3cut.py +++ b/mp3cut/mp3cut.py @@ -3,7 +3,7 @@ import speech_recognition as sr import os # Lade die MP3-Datei und konvertiere sie zu WAV -audio = AudioSegment.from_mp3("bisEnde.mp3") +audio = AudioSegment.from_mp3("Neu.mp3") audio = audio.set_channels(2).set_frame_rate(48000) # Mono & 16kHz für bessere Erkennung BUFFER_BEFORE = 300