Hans: mehrere Töne mit definierten Frequenzen gleichzeitig ausgeben, vorzugsweise Mainboardtöne

Moin,

ich bin auf der Suche nach einer praktikablen Lösung zur Soundprogrammierung/ fürb Soundexperimente, bzw. einer passenden Programmiersprache. Im Prinzip möchte ich Sinustöne erzeugen, deren Frequenzen vorher festgelegt werden und diese Frequenzen dynamisch verändern, sodass diese eine andere Klangfarbe ergeben (Obertöne). Das wäre am interessantesten mit Mainboardtönen, falls das machbar ist. Auf Anhieb fällt mir dafür das "beep" in C++ ein, welches allerdings nicht mehrere Töne gleichzeitig erzeugt. Hat jemand eine Idee, womit man das praktikabel lösen könnte?

Gruß Hans

  1. Hallo und guten Tag Hans,

    ich bin auf der Suche nach einer praktikablen Lösung zur Soundprogrammierung/ fürb Soundexperimente, bzw. einer passenden Programmiersprache. Im Prinzip möchte ich Sinustöne erzeugen, deren Frequenzen vorher festgelegt werden und diese Frequenzen dynamisch verändern, sodass diese eine andere Klangfarbe ergeben (Obertöne). Das wäre am interessantesten mit Mainboardtönen, falls das machbar ist. Auf Anhieb fällt mir dafür das "beep" in C++ ein, welches allerdings nicht mehrere Töne gleichzeitig erzeugt.

    Das Standard-Beep der guten alten Mainbords (Bell-Signal #007) wurde mit dem programmable Timer Chip des Mainborads produziert und war eigentlich ein durch den kleinen Lautsprecher verschliffenes Rechtecksignal. Der Timerchip konnte auch immer nur eine Frequenz gleichzeitig erzeugen. Dafür war er aber extrem leicht programmierbar. Den Assembler-Code dafür habe ich vielleicht noch irgendwo.

    Sinustöne kannst Du im PC eigenlich nur mit einem dafür vorgesehen Soundchip erzeugen. Der lässt sich ggf. über einfach MIDI-Signale ansprechen und steuern. Da müsstest Du einfach mal recherchieren.

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de
    1. Tach!

      Das Standard-Beep der guten alten Mainbords (Bell-Signal #007) wurde mit dem programmable Timer Chip des Mainborads produziert und war eigentlich ein durch den kleinen Lautsprecher verschliffenes Rechtecksignal. Der Timerchip konnte auch immer nur eine Frequenz gleichzeitig erzeugen.

      Habe nicht ein paar der DOS-Spiele vor der Verbreitung der Soundkarten versucht, Mehrstimmigkeit zu emulieren, indem sie zeitmultiplex auf den Beeper zugegriffen haben? Der kleine Quäker kann aber schon aus Prinzip kaum ordentliche Töne erzeugen.

      Wenn es was richtiges werden soll, wird wohl MIDI im Soundsystem der Weg sein. Andere Arten der Ton-Selbsterzeugung kenne ich nicht. Die meisten werden eh nur Vorproduziertes à la WAV und MP3 abspielen.

      dedlfix.

      1. Hi,

        super, erstmal vielen Dank! Kannst Du mir noch einen Tipp geben, mit welcher Sprache man gut über MIDI ausgeben kann? Meine kurze Recherche hat ein Tutorial mit "Q" ergeben, aber da gibt es bestimmt noch Besseres.

        Danke, Hans

          1. @@Rolf b

            LMGTFY:

            [unverlinkte Weabdressen]

            LMLTFY.

            URI in </> eingeschlossen: <https://example.net> ergibt einen anclickbaren Link.

            Mit [example dot net](https://example.net) erhält man einen Link mit Linktitel. Oder mit dem Button „Link hinzufügen“ über dem Eingabefeld.

            LLAP 🖖

            --
            “The best way to help people learn: answer their coding question an hour later, they’ll have likely figured it out by then.” —Todd Motto
            Selfcode: sh:) fo:} ch:? rl:) br:> n4:& va:| de:> zu:} fl:{ ss:| ls:# js:|
      2. Hallo,

        … Andere Arten der Ton-Selbsterzeugung kenne ich nicht. …

        in einem Computerpraktikum lasse ich meine Studies Sinuswerte in ein Array schreiben. Das Array wird dann über die Soundkarte ausgegeben. Programmiersprache ist LabVIEW, da ist die Sound-Unterstützung schon dabei.

        Eine weitere Möglichkeit wäre die Web Audio API.

        Gruß
        Jürgen