Ton/Sound unter C++ auf MacOS abpsielen



  • Servus,
    Ich hab folgende Frage und zwar wie kann ich eine einfache Ton (z.b SystemSounds) bzw. Sprachausgabe über C++ realisieren?
    Das ganze soll auf MacOS passieren.
    Bei Applescript gibt es dazu die Möglichkeit mit dem Befehl "say° , gibt es in C++ dafür auch so eine einfache Lösung?

    Ich bin noch ein ziemlicher Anfänger in Sachen C++

    Im Voraus schon mal danke für jegliche Art von Hilfe 🙂

    Mfg
    Niko 🙂





  • Danke für die schnelle Antwort @Helmut-Jakoby
    Das bring mich der Lösung auf jeden Fall schon mal einen Schritt näher 🙂
    Versteh ich das denn richtig das es von Haus aus (Standard Bibliothek) keine „simple“ Möglichkeit gibt einen einfachen Ton abzuspielen ? Ich muss also externe Bibliotheken benutzen ?

    Mit freundlichen Grüßen
    Niko 🙂



  • @Excite: die Standard Bibliothek soll plattform-unabhängig sein. Die Ton-Ausgabe handelt jedes System auf seine eigene Weise. Auch gibt es mehrere verschiedene Audio-Server, die jeweils unterschiedlich angesprochen werden.

    Applescript hat da sicherlich für seine Nutzer vorgesorgt und bringt da eine schön bequeme Schnittstelle mit. Die kennen halt ihre Sound-Engine.
    Als C++ Entwickler kannst Du Deinem Programm die Wahl lassen, wo der Sound hin soll.
    Je nach Bibliothek ist aber der Aufruf einer Funktion zum Abspielen eines Tones oder gar einer Sound-Datei recht simpel.



  • @daMicha : Gibt es da eine Bibliothek die empfehlens Wert ist bzw. wo es simple ist ? 🙂
    In dem Topic welches Helmut-Jakoby mir verlinkt hat, wird "espeak" als Möglichkeit genannt, aber so wie ich das verstehe ist das ja ein komplett eigenständiges Programm.



  • @Excite sagte in Ton/Sound unter C++ auf MacOS abpsielen:

    @daMicha : Gibt es da eine Bibliothek die empfehlens Wert ist bzw. wo es simple ist ? 🙂
    In dem Topic welches Helmut-Jakoby mir verlinkt hat, wird "espeak" als Möglichkeit genannt, aber so wie ich das verstehe ist das ja ein komplett eigenständiges Programm.

    eSpeak ist ein Sprachsynthesizer, also um Text in Sprachausgabe umzuwandeln. Das ist zur "Ton-Ausgabe" nicht direkt geeignet.

    Die native Audio-API von Mac OS nennt sich Core Audio. Diese direkt zu programmieren sieht mir aber auf en ersten Blick ziemlich fummelig aus und ich weiss auch nicht, ob es da überhaupt eine C- oder C++-Schnittstelle für gibt (habe beim Überfliegen nur Swift und Objective-C gesehen). Das würde ich für einen Anfänger nicht empfehlen.

    So aus dem Bauch heraus würde ich dir raten, es mal mit SFML zu versuchen. Ich habe zwar selbst noch keine Audioprogrammierung für Macs gemacht, aber soweit ich weiss unterstützt SFML das und die Bibliothek scheint auch für Anfänger einigermassen zugänglich zu sein.

    Alternative Bibliotheken/APIs wären vielleicht noch PortAudio und OpenAL (ich glaube SFML nutzt das unter der Haube). Mit diesen denke ich aber, dass es da für Einsteiger schnell etwas zu kompliziert wird.

    Auch sei noch das kommerzielle FMOD erwähnt. Das ist eine Multiplattform-Audiobibliothek, die gerne in Spielen verwendet wird und für Privatgebrauch oder sehr kleine Indie-Projekte kostenlos ist. Das ist aber wahrscheinlich ziemlicher Overkill für deine Anforderungen.



  • @Finnegan : Danke für die ausführliche Antwort 🙂
    Ich werde mich dieTage mal in SFML einlesen und anschließend schauen ob ich es damit hinbekomme