- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 23

Thema: tone library auch für Raspi

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
    Mit ein Problem, welches zum Fehlen von Libs führt, ist die Faulheit der Entwickler. Ich habe auch schon für viele Dinge eigene Parser geschrieben, die schlummern aber auf meiner Platte, da ich keine Lust habe das ganze Zeug allgemeinverständlich zu formatieren und zu dokumentieren. Zumal ja auch viele Entwickler sowieso gerne ihr eigenes Süppchen kochen. Es ist also durchaus denkbar, dass irgendjemand einen Parser für solche Sounds geschrieben hat und benutzt, diese aber aus Faulheit nicht weiter gibt.

    Da bliebe für dich nun die Frage, kannst du Funktionen schreiben, welche das gewünschte Ergebnis liefern? Wenn ja, würdest du den Aufwand betreiben es allgemeinverständlich zu formatieren, zu dokumentieren und zu veröffentlichen? In dem Fall wäre der Missstand einer fehlenden Lib in diesem Fall beseitigt.

  2. #2
    HaWe
    Gast
    ich selber habe es immer gemacht, weil ich OpenSource und Public Domain für eine gute und unterstützenswerte Sache halte - sowohl für Lego NXC als auch Arduino als auch ein ganz wenig für den Pi, der selber noch Neuland für mich ist.
    beep() habe ich heute Nachmittag ausprobiert, funktioniert aber nicht (kein "PC Lautsprecher" am Pi, der normale Audio-Jack wird wohl nicht erkannt),
    Speaker test ebenfalls probiert, das funktioniert immerhin, es gibt aber dafür keine kurzen Töne soweit ich es selber ausprobiert als auch im Web gelesen habe (2-4 sek. Minimum).
    Ich selber kann aber keine Soundlibs schreiben, zuwenig Kenntnis über alsa und die ganzen Soundtreiber und die viel zu komplizierten Soundfunktionen. Könnte ich es, würde ich es selbstverständlich veröffentlichen, aber zur Zeit bin ich (wohl auf Jahre hinaus) noch auf fertige Libs angewiesen, die genau die Art von Wrappern für C/C++ zur Verfügung stellen, wie ich sie im TOP beschrieben habe.
    Das gilt auch sicher für eine ganze Menge weiterer Libs, wie sie z.B. zu Hunderten aber z.B. bereits für den Arduino schon existieren. Diesen ganzen Ideen- und Code-Pool muss man jetzt auch für den Pi sammeln und zusammenstellen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Das wusste ich nicht das der beep nur mit dem alten PC-Speaker geht. Ich dachte auf neuerer Hardware würde das über den Treiber der Soundkarte realisiert. Sorry.

    Eine neue LIB für die Soundkarte zu schreiben ist vermutlich nicht Sinnvoll. Die wird nicht wirklich kleiner werden als die anderen die es gibt. Da eine Soundkarte selbst keine Töne erzeugen kann. Wie es zum Beispiel der PC-Speaker macht. Du musst die Töne per Software berechnen und dann an die Soundkarte übergeben.

    Was ich noch gefunden habe ist der aplay der kann verschiedene Audio Formate Spielen wie z.B. WAV. Das funktioniert auch habe ich dieses mal vorher ausprobiert. Der aplay musste bei mir nicht extra installiert werden. Dann müsstest Du unter den Formaten die der abspielen kann nur ein einfaches suchen und per Software den Ton oder die Töne generieren und an aplay übergeben. Das sollte funktionieren.

    Die Software des PI und der Arduinos kann man nicht wirklich vergleichen die Hardware des PI ist um größen Ordnungen höher als die der Arduinos ebenso das Betriebsystem das es bei Arduinos überhaupt nicht gibt. Daher sind Lösungen nicht immer mit einigen KB größen Libs zu bekommen Leisten aber auch sehr viel mehr. Dafür hat der PI ja auch mehr an Speicher und Rechenleistung zu bieten. Wenn Dir die Soundkarte zu komplex ist kannst Du aber mit einem kleine Verstärker einen Lautsprecher an einen PWM Pin des PI anschließen und dann mit diesem Töne erzeugen. Das macht der PC-Speaker so ähnlich.
    Geändert von alexander_ro (10.10.2016 um 22:16 Uhr)

  4. #4
    HaWe
    Gast
    Alexander, was eine "Soundkarte" angeht, hast du meinen Post missverstanden.
    Der Raspi hat keinen PC Speaker, daher funktioniert beep() auch nicht (sondern anscheinend nur auf Linux-PCs, die einen eingebauten Systemlautsprecher besitzen).
    Wenn du aber zeigen kannst, wie man beep auf einem Standard-Raspi zur Tonausgabe über Audiojack bzw. HDMI bringen kann, dann zeige es einfach - bisher konnte ich kenen entsprechenden Hinweis im web finden.
    Also nochmal:
    Die Ausgabe soll auf Kopfhörer bzw standard-Ausgabe-Device (d.h. je nach Einstellung eben auch HDMI) erfolgen, genau wie die Ausgabe von z.B. omxplayer oder aller anderen Sounds, die der Raspi standardmäßig wiedergibt (vom wav file bis zum youtube Video).
    Die Ton- Ausgabe soll durch Aufruf der Funktion innerhalb eines C/C++ Programms erfolgen können, am besten durch eine dar eingebundene C/C++ lib oder c+p des kompletten dafür nötigen Sourcecodes oder notfalls auch einen system call.
    Die Syntax soll in etwa sein, wie ich es oben im TOP beschrieben habe, also ähnlich wie

    tone(frequency, duration)
    tone(frequency, duration, loudness)

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Es gibt auch PC ohne den klassischen PC-Lautsprecher und der beep geht aber trotzdem. Mir war nicht bekannt das das nicht bei allen ohne den PC-Lautsprecher so ist weil es zufällig bei meinen so geht.

    Die von Dir angegebene Funktion wird so nie eine MP3 Datei oder ähnliches spielen können. Die Sounddateien sind Digitalisierte Spannungsverläufe und keine Noten. Ein kleiner aber wichtiger Unterschied.

    Da der Raspi mit dem aplay oder dem von Dir genannten omx Sounddateien spielen kann muss die Lib die Du suchst bereits auf dem System vorhanden sein. Ich verstehe jetzt nicht warum Du nicht einfach mal den Sourcecode der Programme anschaust wie die das machen. Es gibt für Linux hunderte an offenen Programmen die Töne nach allen Arten machen man muss halt bereit sein auch mal irgendwo rein zu schauen. Wenn einem das zu viel Arbeit ist besteht halt noch die Möglichkeit mit dem exec einen externen Player zu bemühen damit der das Spielen übernimmt. Dabei muss man halt per Software die gewünschten Töne errechnen im einfachsten Fall mit der Sinusfunktion. Das ist auch nicht die schlechteste Lösung weil Du in Deinem Programm dann auch diese Funktion nicht pflegen musst. Nebenbei ein recht gängiger Weg in der gesamten UNIX/Linux Welt.

  6. #6
    HaWe
    Gast
    wenn du weißt wie es mit beep() geht, dann zeig es, und es geht nicht um mp3 Daten oder wav files sondern um ad-hoc-Erzeugung von Tönen.
    Theoretische Erklärungen helfen hier aber nicht zur Beantwortung der TOP-Frage, sondern nur eine Funktion oder Lib, die das definitiv leistet.
    Wenn du also so etwas entsprechendes als Sourcecode kennst, gut, dann zeige sie auch und poste sie hier,
    wenn nicht, hilft es nicht weiter.

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    10.04.2005
    Ort
    Bad Aibling
    Beiträge
    212
    Nein ich weiß nicht warum das auf manchen geht und anderen nicht. Ich habe das heute bei einem Kunden probiert da ging es auch nicht. Vermutlich haben einige Treiberentwickler den Syscall auf die Soundkarte um gebogen und andere ignorieren den einfach.

    Suchmaschine spukte noch das aus: http://raspberrypi.stackexchange.com...beep-on-wheezy
    Ich habe es nicht probiert soll aber gehen laut den Texten.

    Ich wundere mich nur wenn Du C/C++ Programme schreibst warum Du nicht mal bei Programmen die tun was Du möchtest in den Sourcecode schaust was die verwenden. Sehr hilfreich und auch lehrreich was ander tun. Töne kannst Du auch adhoc auch über einen Player adhoc erzeugen.

Ähnliche Themen

  1. DMA Kanäle als PWM auf dem Raspi
    Von Hellmut im Forum Raspberry Pi
    Antworten: 5
    Letzter Beitrag: 08.05.2016, 23:15
  2. ARM TrustZone und Raspi 3B
    Von Hellmut im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 12.04.2016, 15:06
  3. Antworten: 63
    Letzter Beitrag: 18.02.2016, 07:43
  4. [ERLEDIGT] Raspi Club?
    Von pofoklempner im Forum Raspberry Pi
    Antworten: 16
    Letzter Beitrag: 09.07.2015, 06:20
  5. Antworten: 0
    Letzter Beitrag: 10.01.2008, 01:52

Berechtigungen

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

Labornetzteil AliExpress