Aktuelle Zeit: 18.12.2018 13:31

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: MP3 rückwärts abspielen
BeitragVerfasst: 23.03.2018 19:38 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Hallo, gibt es eine Möglichkeit ein MP3 File rückwärts abzuspielen ? Ich weiß, es gibt Programme dafür, aber ich suche eine Möglichkeit, das zu programmieren.

Mit MCIsendString_(... oder so ? Hat das schonmal jemand gemacht ??

_________________
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 rückwärts abspielen
BeitragVerfasst: 23.03.2018 20:17 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Hallo "Then"

ich kann nur das hier empfehlen.

http://sox.sourceforge.net/
http://sox.sourceforge.net/sox.html

Bsp: sox xxx.wav new_xx.wav reverse

Vielleicht bastele ich auch noch ein PB-Beispiel dazu.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 rückwärts abspielen
BeitragVerfasst: 23.03.2018 21:00 
Offline
Benutzeravatar

Registriert: 06.09.2004 13:26
Wohnort: Siegen
Danke, leider ist das nur für wav. :(

_________________
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 rückwärts abspielen
BeitragVerfasst: 23.03.2018 21:36 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Nein es funktionieren auch mp3-Dateien, oder ogg, oder flac, ...

Hier ein Windows-Beispiel (new_update):

https://workupload.com/file/PBh6xbK

Viel Spaß beim Testen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 rückwärts abspielen
BeitragVerfasst: 27.03.2018 18:14 
Offline
Benutzeravatar

Registriert: 20.06.2013 23:27
Leider ist das auch wieder mitschleppen von dritt Programmen. Schade das so etwas nicht mit eigenen nativen Code geht.

hier wird PB ja als eine Art Batch missbraucht :D

Runprogram ....


:lurk:

_________________
PureBasic v5.30 + v5.44 LTS + v5.62 | Windows 7 x64 - Gforce GTX 950 - AMD FX6200 Six Core 3.80 | 26GB RAM


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 rückwärts abspielen
BeitragVerfasst: 27.03.2018 18:30 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Man könnte sicherlich auch mit etwas Basteln die libsox direkt mit den internen Funktionen nutzen.

bass_fx.dll wäre z.B. auch noch eine Alternative.

Ansonsten hast du schon recht.

Wenn man sehr viel Zeit und Gehirnschmalz investiert könnte man vielleicht auch Purebasic-Intern eine Lösung programmieren.

Mp3 - Dateien kann man sowieso nicht in Echtzeit reversen.
(Weder mit sox noch anders. Die Mp3-Struktur macht da Probleme.)

Aber wenn man hier vorher "Speichermagic" betreibt könnte man da sicherlich auch eine Lösung finden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 rückwärts abspielen
BeitragVerfasst: 07.07.2018 21:51 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Zitat:
Leider ist das auch wieder mitschleppen von dritt Programmen. Schade das so etwas nicht mit eigenen nativen Code geht.


Das hat einen Grund: Don't reinvent the square wheel! :)

Entweder du bastelst dir einen MP3-Dekoder (die MP3-Patente sind ja zum Glück ausgelaufen), was zeitaufwändig und fehleranfällig ist. Du musst dich intensiv mit dem Aufbau einer MP3-Datei befassen, musst mit fehlerhaften MP3-Daten umgehen können usw.
Oder du verwendest eine bereits vorhandene, gut gepflegte und getestete Lib dafür, die du nur einbinden musst und die Funktionen dann sofort verwenden kannst.

Mögliche Vorgehendweise:
1. MP3 in einen Buffer dekodieren
2. Samplereihenfolge umkehren (das geht wiederrum mit Peek() und Poke())
3. WAV-Header mit passenden Werten vorschnallen und das ganze wiedergeben (geht auch mit PB-eigenen Funktionen)

Oder besser noch, das ganze als Stream: Die letzten paar MP3-Frames dekodieren, umkehren und wiedergeben. Während die Wiedergabe läuft, die nächsten Frames dekodieren usw. Also sozusagen rückwärts durchseeken und dekoden.

Dann muss nicht erst das ganze Stück in RAM geladen werden und die Rechenzeit zwischen "Musikstück soll rückwärts gespielt werden" und Wiedergabe beginnt wird drastisch verkürzt.

Welchen Zweck soll das eigentlich haben, eine MP3 rückwärts abzuspielen? MP3 ist eine psychoakustische Kompression, die sich Unzulänglichkeiten vom Gehör zunutze macht. Darunter auch, dass man einen leisen Ton nach einem lauten Ton nur bedingt wahrnimmt, da er sozusagen "im Schatten" des lauten Tons steht. Da steht zu vermuten, dass der MP3-Encoder den leisen Ton teilweise oder gänzlich ausgefiltert hat, um die vorgegebene Bitrate einhalten zu können. Das funktioniert beim Rückwärtsabspielen dann nicht mehr richtig, weil dieser Effekt hörbar werden würde, wenn der leise Ton durch die Umkehrung zuerst kommt. :wink:

PS: Die PB-Funktionen kommen auch aus Libs. Mit dem einzigen Unterschied, dass sie schon fertig eingebunden sind. Eine zusätzliche Lib vom Dritthersteller erweitert quasi den Funktionsumfang von PB.

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: MP3 rückwärts abspielen
BeitragVerfasst: 05.10.2018 17:16 
Offline
Benutzeravatar

Registriert: 06.07.2017 12:24
DarkSoul hat geschrieben:
Welchen Zweck soll das eigentlich haben, eine MP3 rückwärts abzuspielen?

Vielleicht will er ein älteres Wesen oder einen Dämon beschwören ... /:->

_________________
Now these points of data make a beautiful line,
And we're out of Beta, we're releasing on time.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

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