- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 241

Thema: wav Dateien: Programieren von Wiedergabe und Aufnahme

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    HaWe
    Gast
    Mist, der blöde Editor hat mich rausgeschmissen...

    nein, ich will das Original behalten, zur Sicherheit, deshalb zusätzlicher wavbuffer.

    max-Wert und Minwert htte ich grade gepostet, wurde aber von dem blöden editor gelöscht weil mich das Forum ausgeloggt hat. Abrer das kannst du selber....

    - - - Aktualisiert - - -

    hierfür eine Funktion mit Rückgabewert anlegen:
    Code:
      maximum = wavbuffer[0];
      int32_t maxpos;
      for (i = 1; i < size; i++)
      {
        if (wavbuffer[i] > maximum)
        {
           maximum  = wavbuffer[i];
           maxpos= i+1;
        }
      }
    Minimum analog

    - - - Aktualisiert - - -

    wir müssten für Vorspann und Nachspann wissen, ob wirklich immer einer existiert, oder ob alles der komplette aufgenommene Sound ist.
    Nur wenn künftig überall Vor-oder Nachspann vorkommen, kann man das also analysieren und verwenden

    - - - Aktualisiert - - -

    wenn wir aufpassen, dass unsere Kommandos immer kürzer sind als die etwa 3 sec., kann man die Dynamik der letzten 100 Zellen verwenden (~10 ms):

    minr = minimum der letzten 100 zellen (optimiert: ebenfalls zu heftige Spikes nach unten rausschneiden)
    maxr = maximum der letzten 100 zellen (optimiert: ebenfalls zu heftige Spikes nach oben rausschneiden)

    baseline = arithmet. Mittel der letzten 100 zellen (baseline)

    bias = min(baseline-minr, maxr-baseline); // <=== Bandbreite um Mittelwert

    - - - Aktualisiert - - -

    wenn wir dann die Ober- und Untergrenzen des Grundrauschens kennen, können wir das bias abschneiden:
    Code:
    for(int i=0; i<SHRT_MAX; ++i) {
      if( (wavbuffer[i]>baseline ) && (wavbuffer[i]< baseline + bias)) wavbuffer[i] = baseline ; // kleine Schwankung => auf Baseline
      else
      if( (wavbuffer[i]<baseline ) && (wavbuffer[i]> baseline - bias)) wavbuffer[i] = baseline ; // kleine Schwankung => auf Baseline
    oh mann, wenn wir doch nur IMMER codetags im Editor hätten....!

    (ich hoffe, ich habe mich jetzt nicht verkalkuliert mit dem "Entrauschen"...)
    Geändert von HaWe (05.06.2016 um 12:11 Uhr)

Ähnliche Themen

  1. Video Aufnahme (+12std.)
    Von highdef im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 8
    Letzter Beitrag: 03.06.2011, 10:08
  2. led ein/aus programieren
    Von anthony im Forum PIC Controller
    Antworten: 6
    Letzter Beitrag: 15.07.2008, 17:44
  3. hex-dateien in bin-dateien umwandeln
    Von roboterheld im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 02.10.2007, 20:25
  4. Richtiges Drehen einer Flasche/Dose zur Aufnahme
    Von ähM_Key im Forum Mechanik
    Antworten: 2
    Letzter Beitrag: 06.10.2006, 15:43
  5. Automatische Audio-Aufnahme
    Von the_Ghost666 im Forum Software, Algorithmen und KI
    Antworten: 6
    Letzter Beitrag: 11.09.2005, 20:27

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test