Forum: Mikrocontroller und Digitale Elektronik 6x audio delay bis 100ms billig und einstellbar


von dotm (Gast)


Lesenswert?

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.

von foo (Gast)


Lesenswert?

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.

von Frank (Gast)


Lesenswert?

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?

von dotm (Gast)


Lesenswert?

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?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von dotm (Gast)


Lesenswert?

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!

von Eric B. (beric)


Lesenswert?

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...

von dotm (Gast)


Lesenswert?

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.

von dotm (Gast)


Lesenswert?

dotm schrieb:
> 197Bpm auf fast 175

ich meinte 179 bpm auf 175

von voltwide (Gast)


Lesenswert?

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.

von dotm (Gast)


Lesenswert?

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?

von dotm (Gast)


Lesenswert?

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?

von dotm (Gast)


Lesenswert?

So ok ich glaub ich habs:
Stereo ada: http://www.ti.com/lit/ds/symlink/tlc320ad77.pdf
lip sync ic mit hw control: http://www.ti.com/lit/ds/symlink/tpa5052.pdf
damit wär ich eigentlich MCU frei.
Ich hoffe ich hab da keinen Denkfehler.

von voltwide (Gast)


Lesenswert?

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.

von Philip S. (psiefke)


Lesenswert?

Vielleicht einfach analog? Kann zwar nur bis 51ms aber es hindert dich 
ja keiner am hintereinanderschalten...

http://www.musikding.de/BL3207
http://pdf1.alldatasheet.com/datasheet-pdf/view/164432/BELLING/BL3207.html

von Schreiber (Gast)


Lesenswert?

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...

von dotm (Gast)


Lesenswert?

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?

von Rudolph (Gast)


Lesenswert?

dotm schrieb:
> Die Disketten bin ich vor kurzem losgeworden durch SD2IEC. gottseidank.

Soso, das lebt auch noch. :-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von dotm (Gast)


Lesenswert?

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?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von jonas biensack (Gast)


Lesenswert?

PC/Ableton + (8 Channel-USB AudioInterface) + Ableton. In Ableton dann 
die Delays einstellen...

Gruß Jonas

von Eric B. (beric)


Lesenswert?

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"...

von Seppi (Gast)


Lesenswert?

Analog hat da solche "Sigma" DSP, welche grafisch programmiert werden 
können.

von Seppi (Gast)


Lesenswert?

ADAU1451 kann 340mS delay.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Seppi schrieb:
> 340mS

Ganz schön hochohmig ;-)...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.