Ich glaub ich habe ein Programm gefunden was alle meine Probleme löst und dich von mir erlöst.
Es heißt MediaCoder
http://www.hydrogenaudio.org/forums/index.php?showtopic=36870
Ich glaub ich habe ein Programm gefunden was alle meine Probleme löst und dich von mir erlöst.
Es heißt MediaCoder
http://www.hydrogenaudio.org/forums/index.php?showtopic=36870
Ich weiß aber nach wie vor nicht wie ich dann das verwenden soll.
Wenn es bessere Encoder (Freeware) gibt und die sich auch noch in das Skript integrieren lassen, lasse ich mich gern eines besseren belehren.
Danke
Pacemaker
Das Programm gibt´s bei Rarewares und sonst braucht man nix.
Zitat
mal sehn wenn Zeit..... gelle.
Na klar
Das habe ich auch schon versucht. Das Skript erstellt auch alles schön brav. Allerdings gibt´s Probleme der Faac.exe beizubringen, dass die Zieldatei "zieldatei.aac" heißen soll. Auch klappt es dann nicht, dass die Zieldatei in den jeweiligen Ordner kopiert wird.
Hi.
Was muss man alles am Skript abändern damit man andere Encoder bspw. "Faac.exe" oder "oggenc2.exe" nutzen kann ?
Wie Sieht´s außerdem mit der Möglichkeit des "Abbrechens" des Programmes/Skriptes aus ?
Vielen Dank :daumen:
Funzt prächtig
Nun erzähl doch mal von ein paar sinnvollen Settings...
Was wäre am sinnvollsten zur Archivierung... Gute Qualität respektive Platzsparend.
Was wären für Settings sinnvoll für einen MP3 Player... "Gute Qualität respektive Platzsparend"
Am liebsten nehme ich eine variable Bitrate...
Grüße
Pacemaker
Ich will die Dateien mit SSRC normalisieren. Da ich mit madplay dekodiere und die Ausgabe in 24 bit ist. (Ich verlass mich da auf die Aussage von LigH )
Ich habe leider noch nicht genug Kenntnisse um das Skript so anzupassen wie ich es brauche. Einige Variable habe ich auch richtig gesetzt. Also so unwissend bin ich dann ja auch nicht
Fakt ist: Ich möchte mp3 Dateien zu mp3 Dateien wandeln zwecks Bitrate anpassen und Normalisierung durchführen...
Daher brauche ich das so und würde mich freuen, wenn du das für mich umsetzen könntest.
Für Verbesserungsvorschläge deinerseits bin ich auch offen
(Für eine kleine/grobe Erklärung des Skriptes wäre ich auch dankbar )
Hi.
Ich habe nun ein wenig in der Datei drin rumgebastelt und folgendes hinzugefügt:
Ein Temp-Verzeichnis
Madplay zum dekodieren von mpeg
SSRC zum normalisieren
Allerdings schaffe ich es nicht das Skript zum laufen zu bekommen.
Hängt wohl mit der vorgeschriebenen Ausgabe von Madplay zusammen.
Kannst du dir das mal anschauen und mir bei der Problemlösung helfen ?
' SCRIPT VERSION # 006 RELATIV
' (c) by Katjarella
' info http://forum.gleitz.info/showthread.php?t=26284
Option Explicit
Dim FSO, WshShell, Tabulator, NeueZeile, Hochkomma, RootPfad, ZielPfad, QuelPfad, LOGFILE, TagEXE, LameEXE, TempPfad, MadEXE, SSRCEXE
Tabulator = Chr(9)
Hochkomma = Chr(34)
NeueZeile = vbNewLine
Const ForWriting = 2, ForAppending = 8
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
RootPfad = Replace(WScript.ScriptFullName & vbNullChar,WScript.ScriptName & vbNullChar, "")
' HIER DIE PFADE aendern, BITTE am ENDE KEINEN \
ZielPfad = RootPfad & "Ziel"
QuelPfad = RootPfad & "Quelle"
TempPfad = RootPfad & "Temp"
LOGFILE = RootPfad & "audionew.log"
TagEXE = RootPfad & "Programme\Tag\tag.exe"
LameEXE = RootPfad & "Programme\Lame\lame.exe"
MadEXE = RootPfad & "Programme\Madplay\madplay.exe"
SSRCEXE = RootPfad & "Programme\SSRC\SSRC_hp.exe"
' HIER DIE Parameter fuer Lame, Madplay, SSRC aendern, BITTE LEHRZEICHEN BEACHTEN
Const LamePAR = " --preset medium -h -m s -p "
Const MadPAR = " Was muss hier rein ? "
Const SSRCPAR = " --rate 44100 --bits 16 --twopass --normalize "
Call writeLOG("START: " & Date & " " & Time)
Call writeLOG("QUEL: " & QuelPfad)
Call writeLOG("ZIEL: " & ZielPfad & NeueZeile)
If Not (FSO.FileExists(LameEXE)) Then
Call writeLOG("FEHLER: Die Datei " & LameEXE & " fehlt! Bitte Parameter prüfen")
WScript.Quit -1
End If
If Not (FSO.FileExists(TagEXE)) Then
Call writeLOG("FEHLER: Die Datei " & TagEXE & " fehlt! Bitte Parameter prüfen")
WScript.Quit -1
End If
If Not FSO.FolderExists(QuelPfad) Then
Call writeLOG("FEHLER: Der Quell Pfad " & QuelPfad & " fehlt! Bitte Parameter prüfen")
WScript.Quit -1
End If
If Not (FSO.FileExists(MadEXE)) Then
Call writeLOG("FEHLER: Die Datei " & MadEXE & " fehlt! Bitte Parameter prüfen")
WScript.Quit -1
End If
If Not (FSO.FileExists(SSRCEXE)) Then
Call writeLOG("FEHLER: Die Datei " & SSRCEXE & " fehlt! Bitte Parameter prüfen")
WScript.Quit -1
End If
MsgBox "Folgende Dateien wurden gewandelt:" & NeueZeile & ErzeugeAlleOrdnerInformationen(FSO.GetFolder(QuelPfad)),0,"MP3 WANDLER: ACHTUNG!"
Call writeLOG(NeueZeile & "ENDE: " & Date & " " & Time & NeueZeile)
WScript.Quit 0
Function wandle(quellDatei,zielDatei)
Dim r
FSO.CopyFile quellDatei, RootPfad & "source.mp3", true
r = MadEXE & MadPAR & Hochkomma & RootPfad & "source.mp3" & Hochkomma & " " & Hochkomma & RootPfad & "tmp.wav" & Hochkomma
r = SSRCEXE & SSRCPAR & Hochkomma & RootPfad & "tmp.wav" & Hochkomma & " " & Hochkomma & RootPfad & "zwi.wav" & Hochkomma
r = LameEXE & LamePAR & Hochkomma & RootPfad & "zwi.wav" & Hochkomma & " " & Hochkomma & RootPfad & "ziel.mp3" & Hochkomma
r = WshShell.Run(r,1,True)
If r = 0 Then
r = TagEXE & " " & Hochkomma & RootPfad & "ziel.mp3" & Hochkomma & " --fromfile " & Hochkomma & RootPfad & "source.mp3" & Hochkomma
r = WshShell.Run(r,1,True)
If r = 0 Then
FSO.CopyFile RootPfad & "ziel.mp3" , zielDatei, true
Else
Call WshShell.Popup("Tag meldet folgenden Fehler: " & r & NeueZeile & NeueZeile,20,"MP3 WANDLER: ACHTUNG!",48)
Call writeLOG("FEHLER TAG: " & r & " bei " & quellDatei )
r = True
End If
Else
Call WshShell.Popup("Lame meldet folgenden Fehler: " & r & NeueZeile & NeueZeile,20,"MP3 WANDLER: ACHTUNG!",48)
Call writeLOG("FEHLER LAME: " & r & " bei " & quellDatei )
r = True
End If
Call loescheDatei(RootPfad & "source.mp3")
Call loescheDatei(RootPfad & "ziel.mp3")
If r = 0 Then
Call writeLOG("ORI MP3: " & quellDatei)
Call writeLOG("NEU MP3: " & zielDatei)
End If
wandle = r
End Function
Sub writeLOG(nachricht)
Dim ts
Set ts = fso.OpenTextFile(LOGFILE, ForAppending, True, -1)
ts.Write nachricht & NeueZeile
ts.Close
End Sub
Function loescheDatei(Datei)
If (FSO.FileExists(Datei)) Then
FSO.DeleteFile Datei, True
End If
loescheDatei = FSO.FileExists(Datei)
End Function
Function BackupTest(Datei)
Dim neueDatei, neuerOrdner, f, r
neuerOrdner =ZielPfad & Replace(FSO.GetParentFolderName(Datei),QuelPfad,"")
neueDatei =neuerOrdner & "\" & FSO.GetBaseName(Datei) & ".mp3"
If (FSO.FileExists(neueDatei)) Then
r=WshShell.Popup("Die Datei: " & neueDatei & NeueZeile & "gibt es schon." & NeueZeile & NeueZeile & "Wollen Sie ueberspringen?",20,"MP3 WANDLER: ACHTUNG!",36)
If r <> 7 Then
Call writeLOG("UEBERSPRUNGEN: " & Datei & NeueZeile & "WEIL SCHON DA: " & neueDatei)
BackupTest = True
Exit Function
End If
End If
If NOT (FSO.FolderExists(neuerOrdner)) Then
Call ErzeugeAlleOrdner(neuerOrdner)
End If
BackupTest=wandle(Datei,neueDatei)
End Function
Function ErzeugeAlleOrdnerInformationen(Ordner)
Dim S, UnterOrdnerAuflistung, UnterOrdner, Dateien, Datei
Set Dateien = Ordner.Files
If Dateien.Count <> 0 Then
For Each Datei In Dateien
If InStr( LCase(Datei) & vbNullChar,".mp3" & vbNullChar) > 3 Then
If BackupTest(Datei) = 0 Then
S = S & Datei & NeueZeile
End If
End If
Next
End If
Set UnterOrdnerAuflistung = Ordner.SubFolders
If UnterOrdnerAuflistung.Count <> 0 Then
For Each UnterOrdner In UnterOrdnerAuflistung
S = S & ErzeugeAlleOrdnerInformationen(UnterOrdner)
Next
End If
ErzeugeAlleOrdnerInformationen = S
End Function
Function ErzeugeAlleOrdner(Ordner)
Dim newFolders, i, newFolder
Call writeLOG("NEUER ORDNER: " & Ordner)
newFolders = Split(Ordner,"\")
newFolder = newFolders(0)
For i=1 to UBound(newFolders)
newFolder = newFolder + "\" + newFolders(i)
If NOT (FSO.FolderExists(newFolder)) Then
Call FSO.CreateFolder(newFolder)
End If
Next
End Function
Alles anzeigen
Schau dir mal die an http://froogle.google.de/froogle_cluste…scoring=p&hl=de
Die benutze ich. Die Basswiedergabe ist traumhaft. Die Klangqualität lässt keine Wunsche offen (zumindest nicht für mich )
Sind auch relativ günstig zu bekommen.
Die verwende ich schon seit zwei Jahren und haben bisher noch keinen Schaden. Dabei habe ich sie schon oft richtig gestresst....
Diese verschließen den Gehörgang.
Dabei sind 3 verschieden große Gummilippen, damit sie in jedes Ohr passen.
Also gute Ohrhörer zu einem guten Preis
Hi.
Danke dir :daumen:
Es funzt wunderbar...
Wie schwer oder wie einfach ist es, da noch Programme zu integrieren ?
(z.B. SSRC, Madplay, azid, flac) <--- Anwendung wird etwas breit gefächerter...
Hab zwar erst mit VB-Script angefangen, aber ich werde dann alle meine Batchdateien (z.B. mp3toac3) in VB-Script umwandeln.
Ziel dabei ist es eine Art GUI per HTML (bzw. HTA) zu schaffen. Damit kann man dann einiges einfacher gestalten...
Bisher Vielen Dank an dich
Dann schreib es mit Doppel-s
Bisher Grandios.
Freu mich schon auf die "relative" Sache...
Ich bekomme folgende Fehlermeldung
Skript: E:\Audio\mp3.vbs
Zeile: 67
Zeichen: 9
Fehler: Der Pfad wurde nicht gefunden
Code: 800A004C
Quelle: Laufzeitfehler in Microsoft VBScript
Die Verzeichnisstruktur ist bei dem Fehler folgende:
Quelle\Eagles\Hell Freezes Over\datei1.mp3
Wenn ich den ersten Ordner wegglasse...
also so---> Quelle\Hell Freezes Over\datei1.mp3
...dann funktioniert das Script.
Ich habe das auch mit anderen probiert und es kommt derselbe Fehler...
LOL Muss mich erstmal vom Boden abkratzen. Lustige Verzeichnisse ;D
Aber du hast mich jetzt richtig verstanden.
Bisher habe ich in der Batchdatei den Ordner <b>"Audio"</b> über die Variable <b>SET WORK=%~dp0</b>
als Arbeitsverzeichnis gesetzt. Da alle Programme und Verzeichnisse darin liegen, kann man
das Arbeitsverzeichnis überall hin kopieren ohne darauf zu achten auf welchem Laufwerk es liegt.
Denn die Umgebungsvariable wird immer wieder neu gesetzt, sobald die Batchdatei neu gestartet wird.
<b>SET QUELLPFAD="Quelle"</b> ----> Setzt den Quellpfad
<b>SET ZIELPFAD="Ziel"</b> ----> Setzt den Zielpfad
Nun kann ich den Ordner <b>Audio</b> auf meinen 2. Computer irgendwohin kopieren.
Dann kopiere ich alle zu bearbeitenden Audiodateien nach Audio\Quelle
Nach Konvertierung befinden sich alle Audiodateien in Audio\Ziel
Ich weiß bald nicht mehr wie ich dir meinen Wunsch noch erklären muss, damit du mich verstehst.
Mein Kumpel hat auf seinem Computer mehrere Ordner mit MP3 Dateien.
Diese sind geordnet nach Interpret/Album/evt. CD 1 CD2 etc.
Nun möchte er diese Dateien für seinen MP3-Player konvertieren.
Er bekommt von mir Den Ordner "Audio" in dem die Verzeichnisse "Programme", "Quelle" und "Ziel" sich befinden. (Natürlich auch die Batch/Skript-Datei) (siehe Kasten)
Audio
----Programme
----Quelle
--------Interpret
------------Album
----------------CD 1
----------------CD 2
----Ziel
Nun wäre es umständlich das Skript nach seinen Gegebenheiten anzupassen. Daher habe ich meine Batch so angepasst:
Verstehst du mich ?
<b>EDIT:</b>
Habe das letzte deines Skriptes getestet...
Läuft ziemlich gut.
Allerdings scheint das Skript nur in die Verzeichnistiefe 1. Ordnung zu gehen.
D.h.
e:\Audio\Quelle\Eagles\datei.mp3
Sollte nun aber folgender Fall vorkommen...
e:\Audio\Quelle\Eagles\Hell Freezes Over\datei.mp3
...dann findet das Skript keinen MP3-Dateien und gibt einen Fehler aus.
Kann man das anpassen? Vor allen Dingen sollte das variabel funktionieren, falls noch mehrere Unterordner existieren...
Wenn sollte es komplett unabhängig von einer Ordnerstruktur funktionieren.
Denn Programme, Skript, Quellordner und Zielordner befinden sich im Ordner Audio...
Sorry bin noch auf Arbeit.
Kann erst heut Abend es auprobieren...
Aber hab da noch ne Frage:
Wie´s ausschaut müssen absolute Pfade angegeben werden.
Gibt´s da nicht auch wieder die Möglichkeit relative Pfade zu nutzen.
So braucht man die Datei nicht immer abzuändern wenn sie sich auf einem anderen Laufwerk oder Ordner befindet.
Meinst du das wäre machbar ?
Aber schon mal Großen Dank für die bisherige Mühe
Also wäre es nach wie vor sinnvoller madplay zu verwenden ?!
Danke das du ihm schreibst.