Zum Inhalt springen

Vrtonr - eine Idee


Friedemann Wachsmuth

Empfohlene Beiträge

Man kann an den Decoder des MP3 files quasi eine Frequenz anlegen (genauer: Einen Teilungsfaktor für eine sehr viel höhere Quarzfrequenz), wodurch die Abspielgeschwindigkeit festlegt wird.

Leider geht das nicht beliebig variabel zur Laufzeit, da der Decoder Prinzipbedingt immer ein Häuflein Daten auf einmal verarbeiten muss. Ändere ich nun diesen Teilungsfaktor, wirft der Decoder das derzeitig verarbeitete Datenhäuflein weg ("Plopp") und macht dann mit dem nächsten weiter. Eine Änderung während der Wiedergabe war mit dem Decoer den ich verwende eben nicht vorgesehen, eher "zwischen den Titeln".

 

Ich habe nun einen anderen Decoderchip gefunden, der einen programmierbaren DSP beinhaltet. Damit könnte ich die Wiedergabegeschwindigkeit fliessend und wohl auch zur Laufzeit ändern, ohne, dass der Ton dabei höher oder tiefer wird. Dieser Decoder ist aber erheblich komplizierter, weshalb ich seinen Einsatz erstmal hintenan stelle.

 

Das hässliche "Plopp" der jetzigen Lösung dauert etwa 20ms, ich regle während dessen jetzt für 20ms die Lautstärke um 20 dB runter --damit wird der Plopp zum kleinen Knackser, der sich ähnlich wie ein kleines Loch in der Tonspur anhört. Nicht schön, aber auch nicht so schlimm, vor allem egal für einen Prototyp.

 

 

Ich hoffe, das war verständlicher. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Friedemann,

 

Mein Soundprogramm, welches Knackser eliminieren kann, macht vermutlich folgendes: Es ersetzt den Knackser durch ein ebenso langes Stück sauberen Ton, welcher sich zeitlich sehr dicht neben dem Knackser befindet. Bei 20 Millisekunden "Versatz - Ersatz" ist danach vom knacks absolut nichts mehr zu hören...

 

Man müsste also einen zweiten Ton um diese paar Millisekunden versetzt im Hintergrund mitlaufen lassen und jedesmal, wenn ein Knackser entdeckt wird, ganz kurz auf diesen minimal zeitversetzten Ton umschalten und danach wieder zurück.

 

Irgendwie so ähnlich wie ein A -B Rollenschnitt...

 

Rudolf

 

P.S. Diese Zeitversatztechnik wurde damals zu analogen Zeiten so eingesetzt... (zumindest wurde es mir damals so erklärt...) digital, müsste es also auch gehen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Rudolf, der DSP macht im Grunde nichts anderes bei Time-Stretching -- nur wesentlich feiner (also nicht ab und zu mal eine 20ms Lücke, sondern viele 1000x pro Sekunde. Klingt super.

Ich sitze jetzt aber eh erstmal an dem Teil, der die Projektorgeschwindigkeit ohne Umbau zuverlässig ermitteln soll...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich sitze jetzt aber eh erstmal an dem Teil, der die Projektorgeschwindigkeit ohne Umbau zuverlässig ermitteln soll...

Mit einem PLL, Mittenfrequenz 3*18 bzw. 3*24 Hz für Dreiflügelblenden und Lichtsensor als Eingang?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das soll der Fallback für die Geräte ohne rausgeführte Motorwelle werden, ja. :)

 

Wobei ich wohl keinen PLL im klassischen Sinne verwenden will, sondern das Nachregeln einem ATmega µC machen will - quasi immer wissend, an welchem Einzelbild ich jetzt bin und welche Stelle des Soundfiles angefahren werden muss.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

90 Grad versetzte Gabellichtschranke. Ein Kanal auf einen Interrupt, flankengetriggert.

Im Handler den zweiten Kanal pollen und schauen ob er H oder L ist. Dann hast du die Richtung.

Mit der Ermitteln der Geschwindigkeit ist es nicht getan. Wenn es richtig sein soll brauchst

du einen Zähler, 16 Bit reichen für ca. 45 Minuten. Das sieht dann so aus:

 

mctr: jb MLOCK,blabla

push PSW

mov C,T0

push ACC

xch A,MCL ;R6 zur Bearbeitung in Accu und Accu sichern

jc vor ;Wenn gesetzt vorw„rts

setb BACK ; Master läuft rückwärts

dec A ;Sonst rückwärts

cjne A,#0FFh,ende ;Falls A <> 255 berspringe Dec R7

dec MCH

sjmp ende

vor: clr BACK ;Master läuft vorw„rts

inc A ;Vorwärts;

jnz ende ;Falls A Null geworden (Carry) incrementiere R7

inc MCH

ende: xch A,MCL ;Accu wieder in R6, Accu wiederherstellen

mov MSP,CTR1

mov CTR1,#0FFh ; Zähler für Masterspeed zurücksetzen

mov CTR1V,#150 ; Vorhaltewert laden

acall diff

pop ACC

pop PSW

blabla: setb EX0 ;Interrupt wieder freigeben

reti

 

Auf AVR ist das etwas einfacher. Da kannst du den Hardwarezähler hernehmen und auch regelmäßig

ins EEPROM laden, damit beim Abschalten nix verloren geht.

Der Regelalgo ist nicht ganz trivial. Der Projektor jittert ständig und du willst nicht jede

Änderung weitergeben. Also erstmal warten bis die Differenz groß genug ist. Dann langsam nachregeln.

Vermutlich ist das beim nem digitalen Audioplayer recht einfach, weil es keine mechanischen

Einflüsse auf Slave Seite gibt. Trotzdem, das ist anspruchsvoll. Aber was wäre das Leben ohne

Herausvorderungen.

 

Michael

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke Michael, so etwa hatte ich das auch vor. Einen Graycode-Decoder auf ISR-Basis hatte ich schon mal für einen billigen Alps-Drehgeber geschrieben, der verlor auch nix. :)

Für welchen uC ist dein assemblercode dort oben? Wenn ich das sehe, bin ich ja ganz froh, auf AVR zu setzen. Assembler habe ich zuletzt auf dem 68000 gemacht...

 

Über den "digitalen PLL" mache ich mir auch schon Gedanken. Mal sehen, bis dahin ist es noch etwas hin... Wie gut, dass ich keinen Zeitdruck habe. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

8051. Im Vergleich zum ATmel eine Ente. Ich hab ein paar Bilder hochgeladen.

Der Atmel kann mehr, aber die Hardware Zähler können auf externen Trigger leider auch nur aufwärts.

Du kommst also um den Software Zähler nicht herum. Macht aber auch nix. Schnell genug ist

er allemal.

Die Billigen Drehgeber von Alps sind mechanisch und können, je nachdem wie billig, zwischen

10000 und 100000 Umdrehungen. Dann sindse durch. Das reicht nicht weit.

 

Der Rohm Lichtsensor in meinem Handy integriert jeden Messwert über 50ms zusammen. Damit gehts

also tatsächlich nicht. Grmpf...

 

68000 war ne geile Maschine :-)

 

Michael

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Super, Danke für die Bilder. Spannend! Und Nostalgisch...

 

Den Apls-Drehgeber hab ich nur an meinem (unfertigen) Intervalometer, fürs Menü (DOGM-Dreizeilen-LCD).

Schön, hier mal so eine verwandte Bastlerseele zu treffen. Oder ist es Dir Beruf? Oder gar beides?

 

Anhand Deiner Bilder und der Denke rate ich jetzt mal, dass Du auch eher ein Atari ST Freund warst als ein Jnger von Paula und Denise, oder? :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

So, langsam gehts ein bisschen voran. Ich bin jetzt soweit, dass ich im Sekundentakt die tatsächliche fps-Geschwindigkeit meines Projektors gesagt bekomme, Start, Stop und Rückwärtslauf erkenne und immer weiss, am wievielten Filmbild er gerade steht -- was mir den Timecode sagt, an dem ich im Audiofile sein muss.

Die Geschwindigkeitsänderungen macht der VS1011 immer noch nicht ganz knackserfrei, ich habe aber noch eine Idee, wie ich Frame-Grenzen im Buffer erkennen können müsste, vielleicht hilft das, aber die VLSI DSPs sind haarig zu programmieren. Ich hab mir eine Dokumentation (Buch) bestellt, die ist aber noch nicht angekommen.

Erstmal muss ich jetzt aber dringend ein bisschen Code aufräumen... aber ich bin ganz zuversichtlich, dass das insgesamt irgendwann was werden könnte.

 

 

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Friedemann!

 

VS 1011, Vlsi DSP´s das sind für mich alles bömische Dörfer.

Ich bin da ein wenig antiquirt, da ich immer noch mit Perfotonband und Revox B77 arbeite. Ein umgebauter

Goko MM1 Betrachter läuft synchron zum Perfoband ähnlich wie bei einem Schneidetisch.

 

Das fertig geschnittene Perfotonband wird digitalisiert und auf eine 2,5Zoll Festplatte überspielt.

Diese Festplatte ist an einen Philips BluRay Player angeschlossen und über das Video FBas Signal an der gelben Chinchbuchse hinten am Player kann ich über eine elektronische Schaltung einen ELMO GS 1200 synchron steuern. Am Anfang im Startvorlauf ist auf dem Band ein Piepser aufgespielt, der im Bezug zur Startmarke auf dem Film steht. Der Piepser löst akustisch eine Relaisschaltung aus, welche dei Impulse frei gibt und den Elmo ander richtigen Stelle mitnimmt.

 

Der Nachteil dabei ist, das das nur mit 25B/s läuft. Da ich aber ausschließlich Spielfilme sammle ist mir das egal. Selbstgedrehte Filme mit 18B/s gehen mit dem System leider nicht.

 

Thomas

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auch 'schön': Mein alter Noris sprotzt beim Starten und Stoppen so dermaßen im Stromnetz rum, dass es nicht nur in den Computerlautsprechern zu hören ist, sondern der µC auch mal eben 100-1000 zusätzliche Interrupts zählt. Also erst mal Elektronikteile dagegen bestellen und warten...

 

Thomas: Meine Lösung (noch frühes Bastelstadium) soll ein MP3 File pro Film bildsynchron abspielen können, inkl. Vor- und Zurücklauf. Dabei regelt der Projektor die Wiedergabegeschwindigkeit des Tons (geplant: Ohne Tonhöhenänderungen), nicht andersherum. Wobei eine mögliche Motornachregelung quasi als Abfallprodukt auch möglich wäre... mal gucken.

 

Welche Steuerung nennt man noch gleich Vorwärts- und welche Rückswärtssteuerung? Ich kann mir das nie merken.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Friedemann,

 

@: (geplant: Ohne Tonhöhenänderungen)

 

Ich denke mal, dass du dir das sparen kannst, da ein Projektor sicher nicht dermassen gewaltig in der Geschwindigkeit schwankt, dass es nötig wäre, dermassen tief ins Tonsignal einzugreifen...

 

Zumindest bei mir hat es noch keine Software hinbekommen, die Tonhöhe unhörbar sauber zu halten, wenn die Geschwindigkeit verändert wurde. Ich habe da so einiges probiert, um von den üblichen 24 Bildern eines Films eine nicht tonhöhenverschobene Ausgabe für 25 Bilder zu bekommen (DVDs sind eben 25 Bilder und zumeist ist da der Ton dann 4% zu hoch...) Alle Versuche, diese 4% Tonhöhe wieder zu korrigieren, ohne die Laufzeit zu beinflussen, sind mir misslungen: Was da an Tonfehlern in ein ansonsten sauberes Tonsignal reingerechnet wird, ist deutlich hörbar...

 

Lieber eine Aufnahmemöglichkeit für anständiges AIFF, MP3 ist ja auch irgendwie bereits eine kleinere Katastrophe... für gesunde Ohren...

 

Im Zweifelsfalle sollte so eine "Tonhöhenkorrigierungseleketronik" abschaltbar sein... eine Umgehungsleitung, damit das Tonsignal nicht zwangsweise verschlimmbessert werden muss...

 

Grundsätzlich: Zuerst das eigentliche Problem der Synchronität lösen, Gimmicks laufen ja nicht weg, die können später eingebracht werden... dies meine Ansicht...

 

Rudolf

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klar ist das optional. Je nach Anwendunsfall kann es aber auch deutlich besser klingen als einfaches pitchen -- zum Beispiel bei Klaviermusik reagiert das Ohr sehr empfindlich auf Tonhöhenschwankungen.

 

Und klar, AIFF wird auch gehen... Aber für Schmalfilmton? Da reichen mir persönlich 320 kbps MP3 dicke. Der andere DSP um den ich noch herumschleiche kann übrigens auch AAC und Ogg... Jeder wie er mag. Besser als jedweder Pistenton wird's allemal. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Oh Gott da bleib ich lieber bei meinem Perfotonband und spiele mit 25B/s.

Das war zu 35mm Zeiten (sind ja ab diesem Jahr vorbei) in vielen Kinos so und da hats auch niemanden gestört.

 

Das merken sowieso nur Leute, die vielleicht selber Klavier oder ein anderes Instrument spielen.

 

Otto Normalverbraucher hat es bei mir im Heimkino noch nie gemerkt.

 

Thomas

  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 9 Monate später...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Filmvorführer.de mit Werbung, externen Inhalten und Cookies nutzen

  I accept

Filmvorfuehrer.de, die Forenmitglieder und Partner nutzen eingebettete Skripte und Cookies, um die Seite optimal zu gestalten und fortlaufend zu verbessern, sowie zur Ausspielung von externen Inhalten (z.B. youtube, Vimeo, Twitter,..) und Anzeigen.

Die Verarbeitungszwecke im Einzelnen sind:

  • Informationen auf einem Gerät speichern und/oder abrufen
  • Datenübermittlung an Partner, auch n Länder ausserhalb der EU (Drittstaatentransfer)
  • Personalisierte Anzeigen und Inhalte, Anzeigen- und Inhaltsmessungen, Erkenntnisse über Zielgruppen und Produktentwicklungen
Durch das Klicken des „Zustimmen“-Buttons stimmen Sie der Verarbeitung der auf Ihrem Gerät bzw. Ihrer Endeinrichtung gespeicherten Daten wie z.B. persönlichen Identifikatoren oder IP-Adressen für diese Verarbeitungszwecke gem. § 25 Abs. 1 TTDSG sowie Art. 6 Abs. 1 lit. a DSGVO zu. Darüber hinaus willigen Sie gem. Art. 49 Abs. 1 DSGVO ein, dass auch Anbieter in den USA Ihre Daten verarbeiten. In diesem Fall ist es möglich, dass die übermittelten Daten durch lokale Behörden verarbeitet werden. Weiterführende Details finden Sie in unserer  Datenschutzerklärung, die am Ende jeder Seite verlinkt sind. Die Zustimmung kann jederzeit durch Löschen des entsprechenden Cookies widerrufen werden.