- 3D-Druck Einstieg und Tipps         
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
    HaWe
    Gast
    nein, da muss ich passen, ich verstehe von diesem low level Kram nichts

    was wir brauchen ist eine Serie von Sounddaten für nur 1 Micro-Kanal, ohne Header und ohne Trennzeichen.

    das muss in einen
    int32_t wavbuffer[SHRT_MAX]
    rein

    Da alles bei 8bit nur 1 Datenbyte ist, passt alles ins lowbyte des wavbuffers, also (angenommen Mono==links)
    ( alle 4 Bytes einer jeden int32 Arrayzelle einzeln betrachtet) :

    0 0 0 128, 0 0 0 129, 0 0 0 129, 0 0 0 128, 0 0 0 127, 0 0 0 132, 0 0 0 134, .... (Phantasiewerte)
    (betrachtet in Big Endian Schreibweise)

    usw. bis alle echten einzelnen Microwerte in diesem Array drin sind, ohne Steuerdaten.

    Kriegst du das hin?

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich muss also jede Zahl, die vom Mikro kommt, in ein Bit vom int32_t array schreiben?

  3. #3
    HaWe
    Gast
    nein.
    nicht "jede Zahl", sondern nur den spezifischen Micro-Sound-Byte-Wert für nur 1 Ton-Spur.

    der Micro-Wert muss ein Byte sein (0...255),
    und gespeichert wird genau dieses Byte als int32_t Wert in einem Array.

    Also nochmal:
    wo in deiner input-array-Zelle ist dieser spezifische Micro-Sound-Byte-Wert zu finden?

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich bin gerade komplett durcheinander. Eigentlich müsste jedes input[i] ein solcher Byte-Wert sein, da ja jedes Frame das ankommt in ein neues Feld vom Array geschrieben wird.

    Oder bin ich gerade zu dämlich um dich zu verstehen

  5. #5
    HaWe
    Gast
    ich weiß nicht mehr, wie ich es erklären soll,
    und ich wiederum verstehe nicht, wie was wo gespeichert wird, weil ich ja nichts vom wav file Format verstehe.

    Erklär doch einfach mal, welche Werte in jedem einzelnen der rund 32000 int32-Zellen (alle 4 bytes einzeln) deines input Arrays genau stehen.

    linke Spur
    rechte Spur
    was noch
    was noch

    und welche Spur ist die wesentliche Micro-Spur oder wie kann man sie als Bytes extrahieren?

  6. #6
    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.

  7. #7
    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?

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

12V Akku bauen