Hallo, ich möchte mit dem Tiny1614 und einem SPI-Flash mir einen Soundmodul bauen für die Modellbahn. Ich habe einige technische Fragen dazu: 1. Lautstärkeregelung, wie mache ich das in Software live? 2. Multichannelwiedergabe, wie mache ich das? @1. Ich gebe über ein Poti einen Wert zwischen 0-255 vor, die Daten (PCM) vom Flash die ich abspiele, rechne ich die dann einfach Value * Poti / 0xFF? Reduziere ich so die Lautstärke? @2. Multichannel, also mehrere Sounds gleichzeitig wiedergeben, rechne ich dort (Sound1Wert + Sound2Wert) / 2?
Nokka236 schrieb: > Poti einen Wert zwischen 0-255 Ginge für Gesamtlautstärke im Analogpfad einfacher. Nokka236 schrieb: > Value * Poti / 0xFF Statt durch 255 zu teilen, täte es auch durch 256 zu teilen. Also um 8 nach rechts schieben, oder bei einem int16_t das Highbyte nehmen. Nokka236 schrieb: > @2. Multichannel Die Highbytes der int16_t aus (1.) in einem int16_t aufsummieren und auch hier kannst du um 1 nach rechts schieben, wenn es zwei Ausgangssignale werden sollen.
minifloat schrieb: > Nokka236 schrieb: >> Poti einen Wert zwischen 0-255 > > Ginge für Gesamtlautstärke im Analogpfad einfacher. > > Nokka236 schrieb: >> Value * Poti / 0xFF > > Statt durch 255 zu teilen, täte es auch durch 256 zu teilen. Also um 8 > nach rechts schieben, oder bei einem int16_t das Highbyte nehmen. > > Nokka236 schrieb: >> @2. Multichannel > > Die Highbytes der int16_t aus (1.) in einem int16_t aufsummieren und > auch hier kannst du um 1 nach rechts schieben, wenn es zwei > Ausgangssignale werden sollen. Okay, also meine Theorie stimmt also schon, richtig? Ist 8 Bit Audio. Also nehme ich die 2 8 Bit daten, addiere und teile dann durch 2. Dann habe ich 2 Kanäle.
Nokka236 schrieb: > Also nehme ich die 2 8 Bit daten, addiere und teile dann durch 2. Dann > habe ich ...unter Umständen einen Ganzzahlüberlauf.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.