Mixer für mehrere DSP-Channel...



  • Hallo!

    Ich brauche einen ganz einfachen Mixer, am besten nur eine Funktion, die mir eine bestimmte anzahl von DSP-Channels in einen DSP-Channel/Wave-Buffer mixt, ohne dass das ganze verzerrt wird oder so... ich brauch das für ein Programm unter Linux, dass ansonsten auch die SDL verwendet, die standard-mixer sachen von SDL können aber nur 2 channels mixen... SDL_mixer hab ich noch nicht ausprobiert, scheint aber eine beschissene schnittstelle zu haben... oder hat da jemand zufällig ein gutes tutorial dafür?? ansonsten bräuchrte ich halt wie schon gesagt eine einfache mixer-funktion... auf dspmusic.com usw. hab ich auch nichts gefunden...



  • Ich brauche einen ganz einfachen Mixer

    Bis hierhin hört es sich ganz unkompliziert an.

    am besten nur eine Funktion

    wunderbar 🙂

    die mir eine bestimmte anzahl von DSP-Channels in einen DSP-Channel/Wave-Buffer mixt

    Was ist ein DSP-Channel? DSP = Digital Signal Processing (Digitale Signal-Verarbeitung) (manchmal auch eine Bezeichnung für die Chips, die darauf spezialisiert sind (Digitale Signal-Prozessoren)).
    😕

    Wave-Buffer? Ich nehme mal einen Puffer an, der das Signal temporär halten soll.

    ohne dass das ganze verzerrt wird oder so...

    Wieso sollte es das, wenn du es nicht expliziet tust?

    ------------------------

    Alles was du machen musst, ist die kanäle mit einem Lautstärkefaktor zu multiplizieren (signal *pow(10,gain_in_dB/20.f)) und anschließend zu addieren.

    ------------------------

    Erklär das bitte nochmal so, dass auch ich das verstehe.



  • ganz einfach, ich habe mehrere audio-channels, die ja 16-Bit-Wave-Daten (44100 Hz, Stereo) enthalten und die ich in einen channel zusammenmixen will... mit SDL_MixAudio kann man nur zwei sachen zusammenmixen, wenn man mehr mixt, wird das leise, verzerrt usw... steht auch so in der doku... deshalb brauch ich da was anderes, wie schon gesagt wollte ich evtl. SDL_mixer verwenden, aber da ist die API nicht so toll... hat davielleiucht jemand ein tutorial oder sowas??

    tschüss, tobias



  • waso, wegen dem addieren... das geht insofern schlecht, weil da ja werte größer als das, was in 16Bit reinpasst, entstehen könnten... ich könnte das einfach durch zwei teilen, da wird das signal aber wieder abgeschwächt...



  • Ja um etwa 6dB. Wie sollen denn zwei (oder mehr) Kanäle gemischt werden, ohne dass geclipt wird, wenn die Lautstärke nicht reduziert wird?



  • habs hinbekommen, ging dann doch mit SDL... war bloß ein Fehler im eigenen Audio-Management-System.. jetzt klappts, glasklarer sound...


Anmelden zum Antworten