- 3D-Druck Einstieg und Tipps         
Seite 19 von 25 ErsteErste ... 91718192021 ... LetzteLetzte
Ergebnis 181 bis 190 von 241

Thema: wav Dateien: Programieren von Wiedergabe und Aufnahme

  1. #181
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Ich schau mir das mal an. Werde aber so oder so bis Mittwoch, im ungünstigen Fall sogar erst Donnerstag nicht wirklich was am Programm arbeiten können. Wundere dich also nicht wenn es im Moment nicht wirklich voran geht.

  2. #182
    HaWe
    Gast
    kein Problem, das mit der Spracherkennung ist ja eh dein Projekt, ich will hier ja nur mit der FFT samt cross-correlation helfen (und weil mich das mit der FFT im Vergleich zu meiner alten NXC-Methode ntl auch selber interessiert) ...

    In jedem Fall wären diese File- und Steuer-Menüs aber sowieso erst der 3. Schritt, nach dem alles erstmal mit
    Ja.wav, NEIN.wav, STOPP.wav
    grob vorgetestet wurde.

    Eventuell klappen die File- und Steuer-Menüs aber auch schon z.B. mit Zenity und popen ich bin da dran.
    Geändert von HaWe (18.06.2016 um 10:31 Uhr)

  3. #183
    HaWe
    Gast
    jawohl, File Open-Menüs klappen wunderbar!
    Können einfach ins Programm mit eingebunden werden, siehe hier:
    (Dank an peterfido + sisor !)
    https://www.roboternetz.de/community...l=1#post628328

  4. #184
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    So. Hat länger gedauert wie ich dachte .

    Bin jetzt aber wieder am Start, spätestens morgen gehts weiter!

    Die Idee mit Zenity hatte ich auch schon ^^

  5. #185
    HaWe
    Gast
    alles klar!
    zum hiesigen Thema *.wav files spielen/lesen/speichern fehlt ja dann nur noch, wie man einen Array als kompletten *.wav lädt und speichert (beides mit Zenity),
    im Gegensatz zu Menüpunkt
    als *.csv speichern
    müsste dann dafür ja nur zusätzlich noch der wav Header davor.


    Und dann kommt so langsam der Teil mit der FFT - hier ist ein Link zur Einführung, samt FFT Code:

    http://paulbourke.net/miscellaneous/dft/

    (für unsere Anwendung: int64_t statt long! )



    - - - Aktualisiert - - -

    noch eine Bitte:

    könntest du bitte nochmal die aktuelle Version deiner alsa-lib
    "diaSound.hpp"
    posten, ohne Verwendung von "string" in den Funktionen, stattdessen ausschließlich mit " char * " falls möglich ?

  6. #186
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich schau mal wie ich das umgebaut kriege. String ist doch schon ne deutlich einfachere Sache wie char *. Keine Speicherreservierung usw. Aber ich schaue.

    Ich würde sagen, anstelle von zenity verwenden wir ncurse. Sobald ich am Raspi bin (jetzt wieder mit ssh ^^) mach ich mich dran.

  7. #187
    HaWe
    Gast
    ok -
    nur wenn du string nimmst, müssen wir ihn sowieso erst in einen Array mit fester Dimension [SHRT_MAX] umkopieren, bevor wir ihn verarbeiten können.
    Deine Funktionen bleiben dann aber evtl sogar flexibler.

    Nachdem die ersten wav-Tests ja erfolgreich abgeschlossen sind, brauchen wir in Zukunft nur noch mit array input[SHRT_MAX] zu arbeiten, und der zusätzliche array wavebuffer[SHRT_MAX] wird nur noch für wenige Zwischenschritte hilfsweise benötigt.

    Die wichtigsten nächsten Regie-Funktionen wären also also:



    Menü (1) wav file lesen
    *.wav-file ---> (über OpenFileDialog) --> string variabel --> fester array input[SHRT_MAX] mit wav-Header
    edit: --> wav-Header herausschneiden (--> array wavebuffer[SHRT_MAX] als Puffer),
    --> array input[SHRT_MAX]==reine sound-data zur Weiterverarbeitung


    Menü (2) wav file abspielen
    *.wav-file ---> (über OpenFileDialog) --> ohne Veränderung direkt über SoundCard abspielen


    Menü (3) per Micro aufnehmen
    Micro --> direkt --> fester array input[SHRT_MAX]==reine sound-data zur Weiterverarbeitung



    Menü (4) akt. Sound (Array im RAM) abspielen + Plot
    array input[SHRT_MAX]==reine sound-data direkt über Soundcard abspielen



    Menü (5) optimieren
    array input[SHRT_MAX] --> noise glätten --> def.Wortgrenzen --> Wort rausschneiden und ganz an den Anfang setzen
    (--> array wavebuffer[SHRT_MAX] als Puffer), dann wieder zurückkopieren in
    --> array input[SHRT_MAX]==reine sound-data zur Weiterverarbeitung


    Menü (6) Sound als *.wav File speichern unter:
    array wavebuffer[SHRT_MAX]: an den Anfang den wav-Header, dann direkt anschließend input[SHRT_MAX]
    --> wavebuffer[SHRT_MAX] an SaveFileDialog ---> neuen Speichernamen eingeben
    --> als *.wav file speichern


    Damit wäre es sofort auch am einfachsten für dich, Wortmuster für den FFT-Vergleich aufzunehmen (Micro), zu bearbeiten, und neu zu speichern. Oder bereits vorhandene *.wav Dateien zu öffnen, nachzubearbeiten oder zu überschreiben.



    0 Soundfile *.csv in Programm öffnen / laden (FileOpenDialog)
    1 Soundfile *.wav in Programm öffnen / laden (FileOpenDialog)
    2 Soundfile *.wav öffnen / abspielen + Plot (FileOpenDialog)
    3 Sound aufnehmen per Micro / SoundCard
    4 akt. Sound (Array im RAM) abspielen + Plot
    5 akt. Sound optimieren (noise/cut)
    6 akt. Sound (im RAM) als *.wav File speichern unter... (FileSaveDialog)
    7 akt. Sound an FFT + Plot
    8 akt. Sound cross correlation mit 1 wav File (FileOpenDialog)
    9 akt. Sound cross correlation mit allen *.wav Files (auto)
    Geändert von HaWe (18.06.2016 um 20:54 Uhr)

  8. #188
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Was machst du nur mit mir? Ich wollte doch nur eine Spracherkennung und bastele jetzt wie ein kleines Kind zu Weihnachten ein altes DOS Menü nach ^^. Es geht voran! Ich habs auch bald. Ein Bild häng ich mal dran.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken DOS.jpg  

  9. #189
    HaWe
    Gast
    für die Spracherkennung brauchst du doch jede Menge Vergleichsdaten, und die müssen nunmal möglichst optimal sein.
    Die FFT kann ja auch nur vergleichen, was in etwa vergleichbar ist.
    Schlechte Basisdaten => falsche Ergebnisse.

    Da du ja deine Vergleichsdatenbank erstmal selber per Micro aufnehmen und dann analysieren und optimieren musst, und das Wort für Wort mit wiederkehrenden Algorithmen, alle nach dem selben Muster erstellt, bietet sich doch ein Menü mit diesen festen Regiefunktionen geradezu an, oder nicht?

  10. #190
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    19.01.2016
    Ort
    Saarbrücken
    Beiträge
    397
    Ich sage es mal so. Als jemand der gerne im Terminal arbeitet wäre meine Antwort eigentlich

    Code:
    da sich das Menü sehr einfach durch Startparameter umgehen lässt. Wie der Zufall aber nun mal so spielt musste ich, um mein System auf dem neuen Motherboard wieder ins laufen zu bringen, eine RescueCD verwenden. Da ich keine hatte und CDs ja echt out sind, habe ich das Ganze natürlich auf einen USB-Stick gemacht. Das mache ich normalerweise mit dd, wo ich dann einfach das iso auf den Stick schiebe. Aber bei der war ein install dabei. Okay versuche ich mal. Schau an, da war ein Menü im Terminal und sofort musste ich an dich denken. Mal kurz nach geforscht wie das erstellt wurde und so auf Ncurses gestolpert.

    Und das hat mich so gereizt das ich da jetzt am bauen bin. So kommt die Jungfrau zum Kind, nichwahr?

    Ah um das zu compilieren brauchst du libncurses-dev (glaube ich). Kannst ja mal im Packetmanager schauen. In geany muss noch

    Code:
    -lncurses
    dazu.

Seite 19 von 25 ErsteErste ... 91718192021 ... LetzteLetzte

Ä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