- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 241

Thema: wav Dateien: Programieren von Wiedergabe und Aufnahme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Na genau das was vom Mikro kommt.

    Code:
    snd_pcm_readi(soundKarte, puffer, 1);
    Die funktion nutze ich um die Daten vom Mikrofon zu bekommen.

    Code:
    	int32_t *puffer;
    	 
    	puffer = (int32_t *) malloc(1);
    Das ist der Puffer in den die ankommenden Werte geschrieben werden. Diese werden dann in das aktuelle Feld des Arrays gespeichert.

    Code:
    		while(i < max)
    		{
    			err = snd_pcm_readi(soundKarte, puffer, 1);
    			
    			input[i] = puffer[0];
    
    			i++;
    		}
    max ist in dem Fall natürlich SHRT_MAX und input ein int32_t array.

    Mehr mache ich da nicht.

  2. #2
    HaWe
    Gast
    kapier ich nicht, ich verstehe den Code nicht.

    also nochmal:
    wenn es einzelne byte-(8bit-)Werte sind, die vom Micro kommen, wo ist die linke Spur, wo ist die rechte Spur, und was steht sonst noch wo im input Puffer?

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Das kann ich dir nicht sagen. Ich sehe im Puffer genau so viel wie du, denn das csv ist exakt das was ich vom puffer aus kopiere.

    Ich stelle es mal aus Spas auf zwei Kanäle um und schaue was sich da ändert.

    - - - Aktualisiert - - -

    Okay das sieht dann völlig komisch aus

    http://www.kipperei.de/test.csv
    Geändert von hirnfrei (04.06.2016 um 20:01 Uhr)

  4. #4
    HaWe
    Gast
    nein, mach mal folgendes:

    for(int i=0; i<SHRT_MAX, ++i) input[i]=input[i] & 0x00ff;

    und dann guck, ob du es immer noch abspielen kannst!

    (ps, dein letzter Link ist kaputt)

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Habe ich gemacht, ja kann ich noch problemlos abspielen!

    und der Link geht jetzt auch. Hatte mich vertippt.

    - - - Aktualisiert - - -

    Nachdem was ich bis jetzt so gelesen habe kommen bei Stereo die Daten immer abwechselnd. Erst Links dann Rechts.

    - - - Aktualisiert - - -

    Hast du das schon gesehen? http://www.fftw.org/

  6. #6
    HaWe
    Gast
    ja, das mit Stereo weiß ich, die Frage ist: alle in derselben int32 Zelle oder in 2 aufeinanderfolgenden?

    aber das ist jetzt nicht mehr wichtig.

    Wir wissen jetzt:
    die Sound-Daten im Input-Array entsprechen ganz exakt den Micro-sound(wav)-Schwingungsdaten, die wir weiterverarbeiten können.

    also speichern wir jetzt am besten input in einem wavbuffer (um input zu schonen):

    int32_t wavbuffer[SHRT_MAX];
    memcpy(wavbuffer, input, sizeof(input) );
    for(int i=0; i<SHRT_MAX, ++i) wavbuffer[i] &= 0x00ff;


    wav buffer müssen wir jetzt analysieren:

    Bandbreite der Werte/Dynamik:
    min-Wert=?
    max-Wert=?

    Code:
    
    
    bis wo geht der Vorspann,
    d.h. wo fängt das eigentliche Wort an,
    und wo beginnt der Nachspann, d.h. wo hört das Wort auf.

    dann:
    wie groß ist die Schwingungsbreite (Dynamik) im Vor/Nachspann?
    126-130? oder größer?
    Geändert von HaWe (04.06.2016 um 20:23 Uhr)

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Warum ein neues Array anlegen? Können wir nicht das nutzen was wir schon haben?

    min-Wert ist 0
    max-Wert ist 255

    Ja die Schwinungsbreite von vor und nach müsste so zwischen 120 und 132 liegen.

    Wo nun vor und nachspann anfangen, wie ich das kläre weiss ich nicht.

Ä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
  •  

fchao-Sinus-Wechselrichter AliExpress