Hallo!
Seit Jahren (siehe: Beitrag "Suche mini DSP board")
qäult mich das Problem dass ich 6 bis 8 Audioanäle um paarweise
einstellbare 48 bis 56 ms verzögern muss.
Das ganze hat den Grund dass im eh schon ungeraden Midisetup ein Gerät
einfach immer 50ms zu spät ausspielt und das is ein Slave.
Deswegen müssen alle anderen (inkl Master) verzögert werden.
Bisweilen hab ich halt den unglaublich klobigen yamaha 03D genommen,
jetzt will ich den nicht mehr, die neuen Digitalmischer haben aber keine
Kanaldelays mehr.
Eine unglaubliche Frustration. Miditechnisch ist das nicht
hinzubekommen. Es müssen eben mindestens 6 Audiokanäle verzögert werden.
Jetzt halt wieder ans basteln?
Kennt wer diese Lipsync ics: http://www.ti.com/product/tpa5050
Können die mit einem Codec wie
http://www.ti.com/product/TLV320AIC3204/technicaldocuments und einem mcu
der die dinger einmal einstellt betrieben werden? Wäre eventuell eine
halbwegs machbare lösung.
Über alle anderen Ideen bin ich auch dankbar. Die blöden Lipsyncboxen
die man kaufen kann kann man halt nur in 50 ms schritten einstellen..
Aja: klein soll es sein.
Danke!
M.
dotm schrieb:> Kennt wer diese Lipsync ics: http://www.ti.com/product/tpa5050> Können die mit einem Codec wie> http://www.ti.com/product/TLV320AIC3204/technicaldocuments und einem mcu> der die dinger einmal einstellt betrieben werden? Wäre eventuell eine> halbwegs machbare lösung.
Viele Wege führen nach Rom, aber ohne einen Prozessor dazwischen werden
sich diese Chips nicht zur Zusammenarbeit überreden lassen.
Und wenn man schon einen Prozessor verwendet, dann wird es einfacher
sein und vor allem ohne Qualitätsverlust, wenn man die Signale auf der
digitalen (MIDI-) Ebene verzögert.
Dort werden ja wesentlich weniger Daten transportiert, so dass auch ein
single Chip Microcontroller diese Aufgabe übernehmen könnte.
Es sollte nur ein Typ mit "reichlich" RAM sein.
Wäre nicht auch ein FPGA Board alla DE0nano plus externe Codecs was?
http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=593
Mit den 32MB SDRAM sollte ja noch deutlich mehr drin sein als nur ein
delay.
Waren dann ja nur die Logik für die Codecs und das delay über nen
einstellbare Offset im jeweiligen Buffer.
Kommunikation und setzen der Einstellungen dann z.b. über einen NIOS und
dem UART/Schalter/Poti/Drehgeber?
foo schrieb:> Und wenn man schon einen Prozessor verwendet, dann wird es einfacher> sein und vor allem ohne Qualitätsverlust, wenn man die Signale auf der> digitalen (MIDI-) Ebene verzögert.
das geht nicht.
der master spielt die clock aus und die kommt beim slave an.
der master spielt ton aus der ist tight. der slave reagiert mit ton um
50 ms zu spät. beim master kann ich midimässig nichts einstellen.
Frank schrieb:> Wäre nicht auch ein FPGA Board alla DE0nano plus externe Codecs was?> http://www.terasic.com.tw/cgi-bin/page/archive.pl?No=593
Ich hab halt noch nie mit FPGAs gearbeitet. Ich will halt vorallem dass
das bald funktioniert und VHDL lernen dafür kommt mir ein bisschen arg
vor.
foo schrieb:> Viele Wege führen nach Rom, aber ohne einen Prozessor dazwischen werden> sich diese Chips nicht zur Zusammenarbeit überreden lassen.
Tun sie nicht? Also der Prozessor muss die Daten ständig aus dem Codec
abholen und in den Lipsync-IC reinstopfen?
dotm schrieb:> Also der Prozessor muss die Daten ständig aus dem Codec> abholen und in den Lipsync-IC reinstopfen?
Nö, der CODEC wird direkt an den LipSync-IC drangepappt. Dazu muss der
CODEC sämtliche I2S-Clocks liefern können.
Signal -> ADC(CODEC) -> LipSync-IC -> DAC(CODEC) -> Signal
Der Controller muss nur die Register des LipSync-ICs und ggf. des CODECs
per I2C beschreiben und das User-Interface (Display, Taster...)
bedienen.
Knut Ballhause schrieb:> Nö, der CODEC wird direkt an den LipSync-IC drangepappt. Dazu muss der> CODEC sämtliche I2S-Clocks liefern können.>> Signal -> ADC(CODEC) -> LipSync-IC -> DAC(CODEC) -> Signal>> Der Controller muss nur die Register des LipSync-ICs und ggf. des CODECs> per I2C beschreiben und das User-Interface (Display, Taster...)> bedienen.
Das klingt doch durchaus realisierbar. Danke!
dotm schrieb:> Das ganze hat den Grund dass im eh schon ungeraden Midisetup ein Gerät> einfach immer 50ms zu spät ausspielt und das is ein Slave.> Deswegen müssen alle anderen (inkl Master) verzögert werden.
Und was wäre mit einem externen MIDI-Clock-Generator, der 2 oder 3
Clocks ausgeben kann mit einstellbaren Verzögerung? Der Generator würde
die Rolle des MIDI Master übernehmen.
Der späte Slave kommt an dem nicht-verzögerten Ausgang, alle andere
Geräte, inklusive dein jetztiger Master, an dem verzögerten Ausgang.
So was lässt sich, denke ich, relativ einfach realisieren...
Eric B. schrieb:> Und was wäre mit einem externen MIDI-Clock-Generator, der 2 oder 3> Clocks ausgeben kann mit einstellbaren Verzögerung? Der Generator würde> die Rolle des MIDI Master übernehmen.
Das würde gehen wenn der Master nicht derjenige ist der bei starker
CPU-Last eingeht und dann folgt er nimmer der clock sondern lässt
einzelne ticks aus.
Das is nämlich ein Commodore 64.
Beispiel: bei 70% CPU last bricht das Tempo von 197Bpm auf fast 175
zusammen.
Deswegen muss der Master sein.
Hab ich alles schon überlegt.
Die anderen Geräte sind auch nicht tight, aber der Atari schaffts nicht,
das is ein Bug im Programm und das wird nicht behoben vom Autor damit
muss ich leben.
wenns richtig billig sein soll, gibt es noch die LoFi-Alternative mit
PT2399 ("Echo/Karaoke" IC). Bekommt man in der Bucht für <1Euro/Stück.
Bei 100ms delay ist die Tonqualität vielleicht noch akzeptabel, je nach
Anspruch.
voltwide schrieb:> wenns richtig billig sein soll, gibt es noch die LoFi-Alternative mit> PT2399 ("Echo/Karaoke" IC).
muha geil.
Das Datenblatt ist ja ein Hit.
Aber eigentlich kein schlechter Tipp. Gibts das nicht in einer Stufe
besser?
ich hab übrigens noch den hier gefunden:
http://www.ti.com/lit/ds/symlink/tpa5052.pdf
ein lipsync ic mit dem man die samplezahl mit einem 4bit eingang
einstellen kann ganz ohne mcu.
Jetzt brauch ich nur einen Codec der standalone funktioniert. Ist das
bei allen möglich?
dotm schrieb:> Aber eigentlich kein schlechter Tipp. Gibts das nicht in einer Stufe> besser?
Ist mir leider nichts drüber bekannt, aber auch nicht wahrscheinlich -
Zielgruppe waren wohl karaoke-süchtige Asiaten. Ich benutze das Teil als
Gitarreneffekt, dafür tut es allemal gut genug.
dotm schrieb:> Das is nämlich ein Commodore 64.> Beispiel: bei 70% CPU last bricht das Tempo von 197Bpm auf fast 175> zusammen.> Deswegen muss der Master sein.> Hab ich alles schon überlegt.> Die anderen Geräte sind auch nicht tight, aber der Atari schaffts nicht,> das is ein Bug im Programm und das wird nicht behoben vom Autor damit> muss ich leben.
wie wärs mit einem neuen Computer? Es gibt neuere Software die nicht
unter diesem Problem leidet und zudem eine bessere Tonqualität bietet.
Das lästige Spulen des Kasettenrekorders um ein Programm zu laden
entfällte damit auch. Selbiges gilt für die Beschaffungsprobleme bei den
sperrigen Disketten im 5 1/4" Format...
Schreiber schrieb:> wie wärs mit einem neuen Computer? Es gibt neuere Software die nicht> unter diesem Problem leidet und zudem eine bessere Tonqualität bietet.
Ja, stimmt eventuell einen 486er...
Aber da muss ich noch sparen
Schreiber schrieb:> Das lästige Spulen des Kasettenrekorders um ein Programm zu laden> entfällte damit auch. Selbiges gilt für die Beschaffungsprobleme bei den> sperrigen Disketten im 5 1/4" Format...
Die Disketten bin ich vor kurzem losgeworden durch SD2IEC. gottseidank.
Philip Siefke schrieb:> Vielleicht einfach analog? Kann zwar nur bis 51ms aber es hindert dich> ja keiner am hintereinanderschalten...
Bitte keinen Eimerkettenspeicher, mit ist schon wichtig dass der Sound
halbwegs sauber durchkommt.
Im C64 sind zwei SIDs verbaut, die machen ausreichend Obertöne.
Wie sieht es denn mit meinem Beitrag
Beitrag "Re: 6x audio delay bis 100ms billig und einstellbar"
aus? Irgendwelche Einwände?
dotm schrieb:> Wie sieht es denn mit meinem Beitrag> Beitrag "Re: 6x audio delay bis 100ms billig und einstellbar"> aus? Irgendwelche Einwände?
Ja. Der LipSync-IC ohne CPU hat ´ne recht grobe Einstellung des Delays
von jeweils 256 Samples pro Stufe, das sind gut 5ms bei 48kHz - wenn das
reicht? Der Codec ist schon ein bisschen in die Jahre gekommen. Ich
würde Dir eher zu einem separaten ADC und DAC raten, das macht das
Routen einfacher und die Teile sind schön klein und gut verfügbar (guck
auch mal bei Cirrus, meist SO8 oder MSOP10-Gehäuse), dazu brauchst Du
dann noch einen Quarzoszillator mit 12.288Mhz.
Knut Ballhause schrieb:> Ja. Der LipSync-IC ohne CPU hat ´ne recht grobe Einstellung des Delays> von jeweils 256 Samples pro Stufe, das sind gut 5ms bei 48kHz
is ein Punkt. Was hält mich eigentlich davon ab irgendeine beliebige
Samplerate , etwa 60kHz zu verwenden?
dotm schrieb:> Was hält mich eigentlich davon ab irgendeine beliebige> Samplerate , etwa 60kHz zu verwenden?
Nüscht und niemand. Aber dann nimm doch gleich 96kHz, dann biste auch
wieder kompatibl zu SPDIF, falls nötig.
Knut Ballhause schrieb:> Aber dann nimm doch gleich 96kHz, dann biste auch> wieder kompatibl zu SPDIF, falls nötig.
Würde auch die AA Filter vereinfachen.
dotm schrieb:> Eric B. schrieb:>> externen MIDI-Clock-Generator>> Das würde gehen wenn der Master nicht derjenige ist der bei starker> CPU-Last eingeht und dann folgt er nimmer der clock sondern lässt> einzelne ticks aus.> Das is nämlich ein Commodore 64.> Beispiel: bei 70% CPU last bricht das Tempo von 197Bpm auf fast 175> zusammen.
Tja, dann eben den C64 mit einer Amiga ersetzen ;-)
Dann biste wieder "ap-tu däät"...