Aktuelle Zeit: 28.02.2020 14:31

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 28.05.2015 10:28 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Hi, kennt jemand einen Konverter von MP3 nach WAV... aber der sollt per Shell aufgerufen werden, quasi COMMAND LINE TOOL ??

_________________
PB 5.62 / Windows 10 64Bit (i5/32GB/240GBSSD+2TBHDD/960GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 28.05.2015 10:33 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kannst du in deiner Signatur dazu schreiben, ob du grundsätzlich Windows, Linux oder MacOS benutzt?
Nicht, dass ich dir eine Windows-Anwendung empfehle, obwohl du ein Linux-User bist.
Danke im Voraus.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 28.05.2015 11:36 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
http://www.chip.de/downloads/FFmpeg_35368574.html oder http://www.ffmpeg.org/

Diese Konsolenanwendung kannst du benutzen, um Dateien automatisiert zu konvertieren. Dokumentation bezüglich der Verwendung der einzelnen Parameter findest du hier: http://www.ffmpeg.org/ffmpeg.html
Beispiel-Aufrufzeile:
Zitat:
C:\...\ffmpeg.exe -y -i "C:\...\sound.mp3" -async 0 -vn -threads 6 -acodec pcm_s16le -ac 2 -ar 44100 -ab 1411k -af volume=630/500 -f wav "C:\...\newsound.wav"

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 08:57 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Funktioniert "eigentlich" ganz gut, aber mit dem Code :

Code:
InitSprite()

window=OpenWindow(#PB_Any,0,0,1024,600,"stream", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

If ReadFile( 0,datei$ )
  riff$=""
  For i=1 To 4
    riff$+Chr(ReadCharacter(0))
  Next
  gr=ReadLong(0)
  wave$=""
  For i=1 To 4
    wave$+Chr(ReadCharacter(0))
  Next
  fmt$=""
  For i=1 To 4
    fmt$+Chr(ReadCharacter(0))
  Next
  fmt_length=ReadLong(0)
  format_tag=ReadWord(0)
  channels=ReadWord(0)
  sample_rate=ReadLong(0)
  bytes_per_second=ReadLong(0)
  block_align=ReadWord(0)
  bits_per_sample=ReadWord(0)
  dat$=""
  For i=1 To 4
    dat$+Chr(ReadCharacter(0))
  Next
  data_length=ReadLong(0)
  *buffer=AllocateMemory(data_length)
  ReadData(0, *buffer, data_length)
  CloseFile(0) 
EndIf

faktor_x=data_length/1024
faktor_y.d=200/32767

If faktor_x % 2 <> 0 ;faktor_x muß durch 2 teilbar sein
  faktor_x+1
EndIf

OpenWindowedScreen(WindowID(window),0,0,1024,500,0,0,0, #PB_Screen_WaitSynchronization)

Repeat
  event=WindowEvent()
  ClearScreen(0)
  StartDrawing(ScreenOutput())
  x=0
  x1=0
  While x<data_length
    y=PeekW(*buffer+x)
    y*faktor_y
    LineXY( x1,250,x1,250+y,RGB(200,87,0) )
    x+faktor_x
    x1+1
  Wend   
  LineXY( 0,250,1024,250,RGB($FF,$00,$00) )
  StopDrawing()
  FlipBuffers()
Until event=#PB_Event_CloseWindow


CloseScreen()
CloseWindow(window)


lässt sich diese Wav nicht anzeigen.... wenn ich mit AnyVideoConverter diese Dateien umwandle (vom MP3 in WAV) dann gehts, dan haben die auch 1536kBit/s bei den FFM leider immer nur 1411kBit/s.... habe schon an den Werten rumgefummelt, aber ohne Wirkung, gibts nicht ein anderes Programm ??

_________________
PB 5.62 / Windows 10 64Bit (i5/32GB/240GBSSD+2TBHDD/960GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 09:18 
Offline
Admin
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Es gibt viele Programme. Ist nur die Frage, ob sie Command Line unterstützen.
Die meisten Konverter sind eh alle gleich, da sie nur eine Benutzeroberfläche besitzen und auf Tools wie ffmpeg zugreifen, weil sie eben nicht das Rad neu erfinden möchten. Google einfach mal nach Konvertierungsprogrammen.

Ansonsten wenn du dir nicht sicher bist oder nicht weißt, ob sie Command Line anbieten, dann kannst du testweise mit einem beliebigen Programm eine Konvertierung durchführen.
Während einer Testkonvertierung benutzt du Process Explorer. Dort kannst du sehr gut sehen, ob dein Programm eine externe Konvertierungsanwendung wie z.B. ffmpeg ausführt mit allen übergebenen Parametern, die du kopieren und wiederverwenden kannst, falls bezüglich dieser Anwendung keine Dokumentation über Command Lines vorliegt.

Außerdem bezweifle ich, dass es an ffmpeg liegt, sondern an deinem Code (oder an den Parametern?). Die Frage "gibts nicht ein anderes Programm ??" ist meiner Meinung die falsche Vorgehensweise.
Mit welchen Parametern hast du deine Datei konvertiert?

PS: Dein Code habe ich nicht angeschaut wegen Zeitmangel.

_________________
BildBildBildBild BildBild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 09:50 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Also ich habe alle möglichen Parameter verändert und getestet... hier mal komplett :

Code:
auswahl$="d:\1.mp3"
datei$ = "D:\1.wav"
a$="-y -i "+auswahl$+" -async 0 -vn -threads 6 -acodec pcm_s16le -ac 2 -ar 44100 -ab 1536k -af volume=630/500 -f wav "+datei$
RunProgram("d:\convert.exe ",a$,"",#PB_Program_Wait|#PB_Program_Hide)

InitSprite()

window=OpenWindow(#PB_Any,0,0,1024,600,"stream", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

If ReadFile( 0,datei$ )
  riff$=""
  For i=1 To 4
    riff$+Chr(ReadCharacter(0))
  Next
  gr=ReadLong(0)
  wave$=""
  For i=1 To 4
    wave$+Chr(ReadCharacter(0))
  Next
  fmt$=""
  For i=1 To 4
    fmt$+Chr(ReadCharacter(0))
  Next
  fmt_length=ReadLong(0)
  format_tag=ReadWord(0)
  channels=ReadWord(0)
  sample_rate=ReadLong(0)
  bytes_per_second=ReadLong(0)
  block_align=ReadWord(0)
  bits_per_sample=ReadWord(0)
  dat$=""
  For i=1 To 4
    dat$+Chr(ReadCharacter(0))
  Next
  data_length=ReadLong(0)
  *buffer=AllocateMemory(data_length)
  ReadData(0, *buffer, data_length)
  CloseFile(0) 
EndIf

faktor_x=data_length/1024
faktor_y.d=200/32767

If faktor_x % 2 <> 0 ;faktor_x muß durch 2 teilbar sein
  faktor_x+1
EndIf
If faktor_x=0
 faktor_x=1
 EndIf

OpenWindowedScreen(WindowID(window),0,0,1024,500,0,0,0, #PB_Screen_WaitSynchronization)

Repeat
  event=WindowEvent()
  ClearScreen(0)
  StartDrawing(ScreenOutput())
  x=0
  x1=0
  While x<data_length
    y=PeekW(*buffer+x)
    y*faktor_y
    LineXY( x1,250,x1,250+y,RGB(200,87,0) )
    x+faktor_x
    x1+1
  Wend   
  LineXY( 0,250,1024,250,RGB($FF,$00,$00) )
  StopDrawing()
  FlipBuffers()
Until event=#PB_Event_CloseWindow


CloseScreen()
CloseWindow(window)


wobei "1.mp3" irgendein MP3 Song sein kan. Problem ist, dass Faktor_x IMMER = NULL ist und dann die Schleife endlos läuft. Das Wav File kann ich problemlos abspielen, jedoch das Programm hängt in dieser While Schleife :o

_________________
PB 5.62 / Windows 10 64Bit (i5/32GB/240GBSSD+2TBHDD/960GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 10:41 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Du musst mal die Werte alle überprüfen, die du da ausliest. Möglicherweise ist fmt_length gar nicht 16, sondern eine höhere Zahl. In dem Fall würde der Datenbereich erst später anfangen und dann liest du eine falsche data_length aus.
Ich hatte irgendwann mal das hier geschrieben, falls dir das hilft. Da wird das LIST-Tag, was nirgendwo dokumentiert ist, auch noch raus genommen.
Code:
Define filename.s = OpenFileRequester("Choose a RIFF WAVE file...", GetEnvironmentVariable("HOME") + "/", "RIFF WAVE (*.wav)|*.wav|All Files|*.*", 0)

If filename = ""
   End
EndIf

Procedure assertFileFormat(a.l, b.l, s.s = "")
   ;Debug a
   ;Debug b
   If (a <> b)
      MessageRequester("Wrong format", "This is not a RIFF WAVE! " + s)
      End
   EndIf
EndProcedure

Define file.i
file = ReadFile(#PB_Any, filename)
If Not file
   MessageRequester("Error opening file", "Could not open file!")
   End
EndIf

; Check if it is a RIFF WAVE file
assertFileFormat(ReadLong(file), 1179011410) ;"RIFF"
Define datasize.i = ReadLong(file)
assertFileFormat(ReadLong(file), 1163280727) ;"WAVE"
assertFileFormat(ReadLong(file), 544501094)    ;"fmt "
Define headerSize.i = ReadLong(file)
Define dataPos.i = Loc(file) + headerSize
assertFileFormat(ReadUnicodeCharacter(file), 1, "Only PCM is supported.")   ;1=PCM
Define channels.i = ReadUnicodeCharacter(file)
Define sampleRate.i = ReadLong(file)
ReadLong(file) ; ignore
Define blockSize.i = ReadUnicodeCharacter(file)
Define bits.i = ReadUnicodeCharacter(file)
assertFileFormat(channels * ((bits + 7) / 8), blockSize, "Blocksize is wrong.")
FileSeek(file, dataPos)
Define blockHeader.i = ReadLong(file)
If (blockHeader = 1414744396) ;LIST
   Define blockSize = ReadLong(file)
   FileSeek(file, blockSize, #PB_Relative)
EndIf
assertFileFormat(ReadLong(file), 1635017060, "Wrong data header.") ;data
Define dataSize.i = ReadLong(file)

_________________
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 12:56 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Also das Programm von Nick läuft ohne Fehlermeldung durch, das WAV File kann ich mit jedem Programm abspielen aber dieser andere Code erkennt die Länge scheinbar nicht.... wenn ich s mit nem anderen Programm umwandle ist das Wav File aber auch 2 MB größer und geht dann einwandfrei.... :cry:

_________________
PB 5.62 / Windows 10 64Bit (i5/32GB/240GBSSD+2TBHDD/960GTX4GB) / 27" Multitouch Monitor

... ich mache dazu keine Aussage, weil ich mich damit selbst belasten könnte !


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 13:11 
Offline
Spassvogel
Benutzeravatar

Registriert: 17.10.2013 14:36
Er heißt Nic, nicht Nick!

_________________
PB 5.41 x64


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 to WAV Converter.... per CMD
BeitragVerfasst: 29.05.2015 13:27 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Tommy hat geschrieben:
Er heißt Nic, nicht Nick!

Jedes mal. :lol:

@Then:
Du musst eigentlich nur noch dein 'AllocateMemory' und das 'ReadData' an meinen Code passend anfügen. Dann geht es. Warum die WAVs sich allerdings in 2MB Länge unterscheiden, kann ich dir auch nicht erklären.

_________________
Ubuntu Gnome 19.04 LTS x64, PureBasic 5.71 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 20 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye