Forum: Mikrocontroller und Digitale Elektronik EQ mit Arduino


von Monte (Gast)


Lesenswert?

Hallo,

ich habe vor mit ein halb digitales Mischpult zu bauen.

Ich hatte vor für den EQ und die Effekte einen DSP-Chip einzubauen der 
von einem Arduino oder Raspberry Pi mit den Daten beschrieben wird.

Meine Idee war es einen ADAU1761 oder ähnlich zu verwenden.

Hat jemand von euch Ahnung, ob und wie dass am besten gehen würde?

MfG Monte

: Verschoben durch User
von Oliver S. (oliverso)


Lesenswert?

Ob? Bestimmt.

Wie? Na, am besten die Verbindungen mit irgendetwas leitfähigem, und mit 
Software, die das macht, was du möchtest.

Oder ist das eine Frage der Art: Ich möchte einen Flugzeugträger bauen. 
Einen Flug und einen Träger hab ich schon, wer kann mir sagen, wo ich 
passendes Zeug herbekomme, und wie ich das zusammenbauen muß?

Oliver

von Monte (Gast)


Lesenswert?

Na, ich meine natörlich von der Softwareseite her, denn ich kenne mich 
mit diesem ganzem "Zeug" nicht ganz so gut aus.

von DraconiX (Gast)


Lesenswert?

Dann tue dir selber einen gefallen und fang erstmal klein an, bring 
erstmal ein paar LEDs zum leuchten.

Ich mache sowas auch nun schon viele Jahre, aber ein DSP ist schon hohe 
Schule - und mit einem Ardunio wirst du da sicherlich auch nicht sehr 
weit kommen. Zumal das Programmieren ja dann das kleinere Übel ist, 
vielmehr sehe ich im Layout der Platine da so meine Zweifel.

von 1N 4. (1n4148)


Lesenswert?

Welchen Teil vom Datenblatt verstehst du nicht?

von Meier (Gast)


Lesenswert?

Monte schrieb:
> Na, ich meine natörlich von der Softwareseite her, denn ich kenne mich
> mit diesem ganzem "Zeug" nicht ganz so gut aus.

Na, dann fang mal ganz vorne an...

Erst mal kleine Schritte machen, bevor man sowas komplexes bauen möchte 
:)

von Monte (Gast)


Lesenswert?

Mit Arduino alleine kenne ich mich einigermaßen gut aus.

Dazu muss man verstehen, dass ich ein 13-Jährigger Schüler bin.

von Carl D. (jcw2)


Lesenswert?

Auf S.47 des Datenblatts ist ein Screenshot der IDE für diesen DSP zu 
sehen.
DB lesen, IDE (versuchen zu) installieren und Trockenübungen machen.
Nur, glaub nicht daß man alle Ideen, die man irgendwann mal hatte, auch 
realisiert.
Sagt dir jemand, der deine Situation kennt, aber 40Jahre Vorsprung hat 
;-)

von Michael B. (laberkopp)


Lesenswert?

Monte schrieb:
> Meine Idee war es einen ADAU1761 oder ähnlich zu verwenden.

Die Idee ist gut,
die Überschrift irreführend.

Ein Arduino hat keine ausreichende Rechenleistung, um einen Audio-EQ zu 
simulieren.

Der ADAU1761 kann das. Allerdings ist der Chip so klein und nicht 
einzulöten, daß du sicherlich ein Eval-Baord verwenden wirst. Damit sind 
die Analoganschlüsse und das Platinenlayout schon mal vorhanden.

Du musst also bloss deinen Arduino per SPI/I2C (I2C ist default) 
anschliessen, und das im SigmaStudio erstellte ROM-Image übertragen.
Hier wäre wohl der Code in C, aber für den ARM:
https://www.beyond-circuits.com/wordpress/tutorial/tutorial17/

Der DSP wir dann bei jedem eingelesenen Sample das Programm ein mal 
ablaufen lassen, um den Klang zu bearbeiten.

Ich bin nicht 100% sicher, daß man einfach durch klicken im SigmaStudio 
einen EQ hinbekommt, der dann auch von der Speichergrösse in den 
ADAU1761 passt, das musst du ausprobieren, und notfalls Programmteile 
selber kompakter schreiben.

von Monte (Gast)


Lesenswert?

Kurze Zwischenfrage:
Meint ihr dass der ADAU1761 ein bisschen "overpowered" für einen 
"einfachen" EQ ist?
Kennt ihr eine andere Möglichkeit für einen EQ, der vom Arduino oder 
Raspberry Pi ansteuerbar ist?


LG Monte

von Christian M. (chrigi001)


Lesenswert?

Ich habe selbst schon mit diesen DSPs gearbeitet und das erstellen der 
DSP-Software ist wirklich ganz einfach. Auch ohne DPS 
Programmierkenntnisse.

Die Integration des Chips in ein Projekt ist dann aber schon etwas 
schwieriger.

SigmaStudio erzeugt dir C und H Dateien die du in dein Projekt einbinden 
musst, welche dann auch den Maschinencode und die API für den DSP 
enthalten. Die Treiber für I2C oder SPI musst du dann jedoch noch selber 
schreiben / anpassen. Vielleicht gibst ja schon eine Library dazu.

Am besten kaufst du dir das Eval-Board mit dem USB-Adapter. Dan kannst 
du mal anfangen das ganze am PC zu testen.

Wenn du ein Mischpult bauen willst, dann gibt es auch Sigma-DSPs mit 24 
Kanälen.

von Monte (Gast)


Lesenswert?

Ich hab mal geschaut.
In dieser Anleitung ( https://ez.analog.com/docs/DOC-1806 ) wird erklärt 
wie man einzelne Register des DSPs mit z.B. einem Arduino ändern kann.

Nun habe ich mal in SigmaStudio geschaut was das denn für Register sind 
und dass sind irgendwelche mit "A1, A2, B0, B1, B2". Kann mir jemand von 
euch erklären was es damit auf sich hat oder eine Anleitung verlinken?

von Trumpeltier (Gast)


Angehängte Dateien:

Lesenswert?

Monte schrieb:
> Nun habe ich mal in SigmaStudio geschaut was das denn für Register sind
> und dass sind irgendwelche mit "A1, A2, B0, B1, B2". Kann mir jemand von
> euch erklären was es damit auf sich hat

Sowas wie ne Anleitung kannst Du in SigmaStudio finden.
Ich kann Dir ein paar Codefetzen anbieten. Läuft auf einem STM32F103.
Ich habe den per SPI gefüttert, ein 640x480 Pixel LCD hängt da auch noch 
dran.

Viel Erfolg

von Trumpeltier (Gast)


Angehängte Dateien:

Lesenswert?

habe da was vergessen

von Monte (Gast)


Lesenswert?

Kurze zwischenfrage beim rumspielen mit SigmaStudio. Was bedeutet das 
"Gain" beim parametrischen EQ? Dass was man normalerweise als "Gain" 
bezeichnet bei einem EQ, nimmt hier ja offensichtlich "Boost" ein.

von Trumpeltier (Gast)


Lesenswert?

Besorge Dir die Pdf-Datei wie hier beschrieben
Beitrag "Re: Atmega Berechnung in C für ADAU1701"

von Monte (Gast)


Lesenswert?

@Trumpeltier: Wenn du die Register für das EQ änderst, wird diese 
änderung sofort hörbar?

von Trumpeltier (Gast)


Lesenswert?

Die Änderungen werden beim Ausführen der Funktion "InitSafeloadParam()" 
übernommen. Ist aber alles soweit ich mich erinnern kann (ist 5 Jahre 
her) in der Hilfe von SigmaStudio beschrieben.

von Monte (Gast)


Lesenswert?

Nach ein bisschen Recherche habe ich folgendes herausgefunden:
1
The safeload is guaranteed to occur
2
3
within one LRCLK period (21 μs for a fS of 48 kHz) of the initiate
4
5
safeload transfer bit being set.

von Hans (Gast)


Lesenswert?

ähm... wenn du schon eine RPi hast, dann nimm doch einfach einen 
x-beliebigen EQ der unter linux rennt...

Im prinzip gehst du dann per audio-in auf den RPi, machst dort dein 
VooDoo und gehst wieder zurück per audio-out.

73

von Monte (Gast)


Lesenswert?

Hans schrieb:
> ähm... wenn du schon eine RPi hast, dann nimm doch einfach einen
> x-beliebigen EQ der unter linux rennt...

Dann schau dir mal das hier an: 
http://www.crazy-audio.com/2013/11/using-the-raspberry-pi-as-a-dsp/

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.