- Akku Tests und Balkonkraftwerk Speicher         
Seite 20 von 25 ErsteErste ... 101819202122 ... LetzteLetzte
Ergebnis 191 bis 200 von 241

Thema: wav Dateien: Programieren von Wiedergabe und Aufnahme

  1. #191
    HaWe
    Gast
    Anzeige

    E-Bike
    ogott - bitte nicht ncurses! O.o

    Zenity ist doch perfekt!

    und das Menü sind doch nur 10 zeilen, zur Abfrage einfach auf Tasteneingabe mit Enter warten!

    Und ich will doch nicht jedesmal das Programm neu starten mit verschiedenen Parametern, für einfache wiederkehrende Funktionen - viel zu viel Aufwand und viel zu unflexibel !
    wav sound bearbeiten muss interaktiv im Programm selber möglich sein!

  2. #192
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich bin ja schon am Bauen also ganz ruhig! Und ja ncurses. Find ich grade voll lustig. Macht mir Spass.

    Es gibt aber grundlegende Unterschiede in der Auffassung. Was du Aufwand nennst finde ich einfach schneller und praktischer.

  3. #193
    HaWe
    Gast
    ich habe einfach Berührungsängste was Monsterlibs angeht und möchte so was nur in äußersten, unumgänglichen Notfällen installieren - die sehe ich hier allerdings nicht wirklich: was soll ncurses können, was normale printf/sprintf-Befehle nicht können?

    - - - Aktualisiert - - -

    Die Menüabfrage ist ja auch total simpel:
    Code:
    // Terminal: move cursor
    #define cursup    "\033[A"
    #define curshome  "\033[0;0H"
    #define cls_cons  "\033[2J"
    
    FILE  * fp;
    int32_t input[];
    
    void printMenu() {
       printf( cls_cons );
       printf( curshome );
    
       printf(" \n   
       0  Soundfile *.csv in Programm öffnen / laden  \n
       1  Soundfile *.wav in Programm öffnen / laden \n
       2  Soundfile *.wav öffnen / abspielen + Plot   \n
       3  Sound aufnehmen per Micro / SoundCard \n
       4  akt. Sound (Array im RAM) abspielen + Plot \n
       5  akt. Sound optimieren (noise/cut) \n
       6  akt. Sound (im RAM) als *.wav File speichern unter...  \n
       7  akt. Sound an FFT + Plot  \n
       8  akt. Sound cross correlation mit 1 wav File  \n
       9  akt. Sound cross correlation mit allen *.wav Files (auto) \n\n
       
       q  Quit \n\n"
    }
    
    int main() {
       //...init dies
       //...init das
       int ch='\0';
    
       while (ch!='q') {
          ch='\0';
          printMenu();
    
          ch=getchar();
    
          if ch=='q' exit(0);
    
          else
          if ch=='0' {fp=FileOpenDialog("*.csv");   // wrapper um popen mit Zenity
                      getArrayfromFile(input, SHRT_MAX, fp); }
    
          else
          if ch=='1' { fp=FileOpenDialog("*.wav");   // wrapper um popen mit Zenity
                      getArrayfromFile(input, SHRT_MAX, fp); 
                      eraseWavHeader(input, SHRT_MAX); }  
    
          else
          if ch=='2' { fp=FileOpenDialog("*.wav");
                      playWaveFile( fp );   // wrapper um popen mit Zenity
                      plotArray(input, SHRT_MAX ); }  
          else
          if ch=='3' {recordArray(input, SHRT_MAX );  } // von Micro
    
          else
          if ch=='4' {playArray(input, SHRT_MAX ); 
                      plotArray(input, SHRT_MAX ); }
          else
          if ch=='5' {optimizeArray(input, SHRT_MAX);  // (Nachfolger von analyseArray)
                      plotArray(input, SHRT_MAX ); }   
    
          else
          if ch=='6' {buildWavFileArray(input, waveBuffer, SHRT_MAX );  // wav Header vor das Wort setzen
                      FileSaveDialog(fp, "*.wav"); }   // wrapper um popen mit Zenity, als wav file speichern
    
          else
          if ch=='7' {;} // FFT, folgt
    
          else
          if ch=='8' {;} // FFT, folgt
    
          else
          if ch=='9' {;} // FFT, folgt
    
       }
    }
    Geändert von HaWe (21.06.2016 um 16:12 Uhr)

  4. #194
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ncurses kann menüs mit tastaturnavigation bereitstellen, schonmal versuch tastatureingaben sauber abzufangen und dann in nagivation umzusetzen !? glaub mir, da bricht man sich deutlich mehr einen dran ab als mit tinyalsa :P

    und menüs im stil "eingabe 1-10" die dann den ganzen bildschirm dauernd scrollen lassen sind schon ein augenschmerz, da lob ich mir ein halbwegs festehendes Fenster

    ABER .. das ist mal wieder eine Geschmacksfrage und über Geschmack streitet man sich nicht, ich kann zumindest die Argumentation von Hirnfrei insoweit verstehen.

    PS: Berührungsängste sind die Ängste die man unbedingt überwinden muss!
    Ohne Berühung keine Chance für Erfolg oder Misserfolg,
    ohne Erfolg oder Misserfolg keine Erfahrung,
    ohne Erfahrung kein Fortschritt

    PPS: Auf ewig alten Schienen fahren lohnt sich nicht, man muss auch mal ein wenig anderen Menschen (oder deren Code) vertrauen entgegen bringen, vor allem wenn es zum Standard geworden ist ... auch ich zähle mich mittlerweilen was den Programmierstil angeht zu den ewig alten und muss zusehen dass ich bei den ganzen Biliotheken für Dinge die ich mal Bare Metal programmiert habe anpasse und das Rad nicht jedes mal neu erfinde.
    Geändert von Ceos (21.06.2016 um 10:15 Uhr)
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #195
    HaWe
    Gast
    ja, wenn wir jetzt Super-Menüs bräuchten: verstehe ich ja.
    Brauchen wir aber gar nicht.
    ch=getchar() reicht, es müssen ja nur wenige Standardfunktionen wiederholt aufgerufen werden können,
    um eine kleine wav-Datenbank zu erstellen und deren sounds zu optimieren,
    und um dann, wenn man sie hat,
    aktuelle wav-arrays mit dieser Datenbank cross-correlieren zu können.

    Die wrapper um popen mit Zenity sind dann allerdings wirklich Gold wert.


    ps,
    #define cursup "\033[A"
    #define curshome "\033[0;0H"
    #define cls_cons "\033[2J"


    stellt übrigens das Menü auf dem Screen zur Verfügung, ohne zu scrollen (s. Code oben)

    und da handle ich nach dem Motto "KISS"

  6. #196
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Monstelibs? Ncurses müsste dir eigentlich gefallen weil es echt super einfach ist!

    Du musst da aber keine Berührungsängste haben, ich mach das ja. Du benutzt es dann einfach nur, mehr nicht.

    ...möchte so was nur in äußersten, unumgänglichen Notfällen installieren - die sehe ich hier allerdings nicht wirklich
    Ich sehe gar keine Notwendigkeit für ein Menü, da es auch problemlos über eine Terminaleingabe geht .

  7. #197
    HaWe
    Gast
    Ich sehe gar keine Notwendigkeit für ein Menü, da es auch problemlos über eine Terminaleingabe geht
    ich brauche leider für weitere Versuche auf jeden Fall die integrierte Regiefunktion mit Menü, da ich nie per Kommandozeile arbeite.
    Außerdem müssen mehrere Schritte mit demselben Array im Speicher durchgeführt werden, plus zusätzliche Dateioperationen, und die Arrays im RAM sind ja weg beim Neustart - das wirst du auch merken, wenn wir soweit sind.

    Das Menü habe ich dir oben aber ja bereits gepostet, es muss nur einfach in dein Programm mit rein.

    Ich fürchte nur fast nach deinem Post:
    dir ist noch nicht gar nicht klar, was als nächstes alles gemacht werden muss...


    Aber zurück zur Roadmap:

    hast du denn inzwischen die ersten 3 Musterwörter erstellt (aufgenommen, "bereinigt", Rausch-Grenzen weggeschnitten, und dann gespeichert) ?
    Und existiert inzwischen eine Funktion saveArray, die einen Array im RAM als *.wav file samt header speichert?

  8. #198
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Doch ist mir klar nur glaube ich dir ist noch nicht ganz klar wie mächtig die Eingabeaufforderung ist.

    Du bekommst ja auch dein Menü, lass mich einfach nur machen.

    Nein. Baue noch am Menü. Leider verschlingt die Familie doch ziemlich viel Zeit. Wenn ich ans Programmieren komme ist es oft schon nach 22 Uhr.

  9. #199
    HaWe
    Gast
    es ist nicht "mein Menü", mit dem müssen wir beide arbeiten, ggf. synchron oder per "handshake".

  10. #200
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Deshalb mache ich das ja. Wie gesagt, ich selbst könnte ohne, aber da sich das ja mittlerweile zu einem Gemeinschaftsprojekt entwickelt hat bastel ich eben da das Menü. Das mich ncurses da jetzt so heiss gemacht hat konnte ich ja nicht wissen. Finde die Möglichkeiten und die Schlichtheit aber super und kommt so bisschen DOS Feeling auf.

Seite 20 von 25 ErsteErste ... 101819202122 ... LetzteLetzte

Ähnliche Themen

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

Berechtigungen

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

LiFePO4 Speicher Test