Forum: Digitale Signalverarbeitung / DSP / Machine Learning Simples Delay erzeugen


von Stefan K. (ndr)


Lesenswert?

Hallo zusammen,

zuerst einmal der übliche Disclaimer: Ich bin üblicherweise eher auf 
Arduino-Niveau unterwegs, also niemand vom Fach. Ich gebe mir aber Mühe 
besser zu werden.

Ich würde gerne eine kleine Schaltung bauen, die ich zwischen einen 
Kopfhörerverstärker und Kopfhörer stecken kann und die mir das 
ankommende Signal etwa 0,5s verzögert wieder ausgibt. Optimalerweise 
natürlich über ein Poti von 0-1s regelbar.

Laut meinen Google-Künsten brauche ich womöglich einen DSP oder einen uC 
und einen RAM-Baustein zum Zwischenspeichern der Audiosignale, richtig?

Folgende Bastelei habe ich bereits gefunden:
http://elm-chan.org/works/vp/report.html
Leider konnte ich zu dem TC514256AZ weder Datenblatt noch Onlineshop 
finden.

Habt ihr Tipps für mich? Eventuell Links, die ich noch nicht gefunden 
habe? Oder ist das alles gar total einfach?
Würde mich über Eure Anregungen freuen und hoffe, nicht direkt in der 
Luft zerrissen zu werden :D

BG Stefan

von Mark B. (markbrandis)


Lesenswert?

Stefan K. schrieb:
> Laut meinen Google-Künsten brauche ich womöglich einen DSP oder einen uC
> und einen RAM-Baustein zum Zwischenspeichern der Audiosignale, richtig?

Im Prinzip ja.

> Folgende Bastelei habe ich bereits gefunden:
> http://elm-chan.org/works/vp/report.html
> Leider konnte ich zu dem TC514256AZ weder Datenblatt noch Onlineshop
> finden.

Dieses Projekt ist schon über zehn Jahre alt. Da ist es normal, dass 
nicht mehr jeder Chip so einfach verfügbar ist.

Um 1 Sekunde Audio in CD-Qualität zur Laufzeit zu speichern, braucht man 
etwa 172 KB an Speicherplatz. Dafür könntest Du zum Beispiel einen 
Mikrocontroller mit 256 KB RAM und A/D-Wandlern nehmen. Oder einen DSP. 
Für ein einfaches Delay wird schon ein gewöhnlicher Mikrocontroller 
ausreichend sein.

von Tontechniker (Gast)


Lesenswert?

Teensy (ist sowas wie Arduino, nur mit DSP) plus Audio Board von PJRC

von Hp M. (nachtmix)


Lesenswert?

Stefan K. schrieb:
> Leider konnte ich zu dem TC514256AZ weder Datenblatt noch Onlineshop
> finden.

Das ist ein damals (um 1990) recht gebräuchlicher  256k*4 DRAM, den es 
unter geringfügig anderer Bezeichnung auch von anderen Herstellern gab.
Wahrscheinlich haben etliche Mitglieder dieses Forums noch entsprechende 
Chips in der Grabbelkiste liegen.
Die Tonqualität, die du mit dieser Schaltung erreichst, wird aber sehr 
mäßig sein, was zum einen an der geringen Auflösung des ADC und zum 
Anderen an der niedrigen Abtastrate bzw. der geringen Speichertiefe 
liegt.

P.S.:
Stefan K. schrieb:
> Laut meinen Google-Künsten brauche ich womöglich einen DSP oder einen uC
> und einen RAM-Baustein zum Zwischenspeichern der Audiosignale, richtig?

Vor allem brauchst du einen ADC zum Digitalisieren der Analogsignale und 
einen DAC um aus den zwischgespeicherten Digitaldaten wieder ein 
Analogsignal zu machen. Diese beiden Komponenten sind, neben  der 
Abtastrate (44kHz bei CDs), maßgeblich für die Tonqualität 
verantwortlich.
Das ganze mal Zwei, denn du wirst ja vermutlich ein Stereosignal 
verarbeiten wollen.

Es sollte mich übrigens nicht wundern, wenn  im Netz eine Freeware für 
den PC zu finden wäre, die das von dir Gewünschte leistet.
Die erforderliche Hardware ist ja in jedem PC in Form der Soundkarte 
bzw. Soundchip vorhanden, und mehr als genug Speicher ja auch.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Mark B. schrieb:
> Um 1 Sekunde Audio in CD-Qualität zur Laufzeit zu speichern, braucht man
> etwa 172 KB an Speicherplatz.

Wie wurde DAS gerechnet?

44kHz x 16Bit x 2 sind analog 176,2 kB als Rohfile.

von Mark B. (markbrandis)


Lesenswert?

Jürgen S. schrieb:
> Mark B. schrieb:
>> Um 1 Sekunde Audio in CD-Qualität zur Laufzeit zu speichern, braucht man
>> etwa 172 KB an Speicherplatz.
>
> Wie wurde DAS gerechnet?
>
> 44kHz x 16Bit x 2 sind analog 176,2 kB als Rohfile.

44100 Samples pro Sekunde mal 16 Bit pro Sample mal 2 (Stereo) mal 1 
Sekunde ergibt 1411200 Bit, sind 176400 Bytes, sind (176400 / 1024) = 
172,265625 Kilobyte.

Ja ich weiß dass manche Leute sich an dem "Kilo" in Kilobyte stören, 
weil es hier 2^10 bedeutet und nicht 10^3. Dann halt meinetwegen 
172,265625 "Kibibyte" oder wie das heißt. Konnte mich an den Quatsch nie 
gewöhnen.

von The D. (thedaz)


Lesenswert?

Bei musikding.de gibt es fuer 1,50 Euro den PT2399. Datenblatt gibts 
hier : http://sound.westhost.com/pt2399.pdf

Damit lässt sich mit sehr wenig Aufwand schonmal 340 msec delay erzeugen 
und könnte als Basis für weitere Entwicklung dienen.

von Hp M. (nachtmix)


Lesenswert?

The D. schrieb:
> Bei musikding.de gibt es fuer 1,50 Euro den PT2399

Bei ebay aus CN noch viel  billiger.
Ich habe aber noch nicht ausprobiert, was mit Verzerrungen und Rauschen, 
evtl. auch Interferenzen der Sampling Frequenzen, passiert, wenn man 
mehrere kaskadiert.

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Mark B. schrieb:
> 172,265625 Kilobyte.

ach so, ja logisch - in kB angegeben stimmt's.

>PT2399
Ist halt sehr einfaches Audio ...

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.