Piep Ton Musik - wie komponieren oder woher nehmen?

Lieber Besucher, Herzlich Willkommen bei: Radio PARALAX - Community Forum. Falls dies ihr erster Besuch auf dieser Seite ist, sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Piep Ton Musik - wie komponieren oder woher nehmen?

    Hallo Zusammen.

    Ich habe für die Buenzli Demoparty (an welcher ich teilnehmen werde) vor, ein kleines Demo auf einer exotischen Platform zu programmieren. Dies aber nur in Basic mit ein paar simplen Linien-Effekten und zu was es in der kurzen Zeit bis zu dieser Party (im August) noch reicht.

    Nun, eine Demo ohne Sound ist wie ein Würstchen ohne Senf... Das Gerät kann mit einem Beep-Befehl 255 verschiedene Tonhöhen beliebiger Dauer generieren.

    Nun die Frage: Ich bin ziemlich unmusikalisch und wüsste auch nicht, wie man auf die schnelle ein Lied komponiert, bei welchem die Tonhöhen in Werte von 0-255 vorliegen bzw. in diese Werte umgerechnet werden können. Bzw. wie man da am besten vorgehen kann.

    Hat jemand von euch eine Idee oder eine Empfehlung?

    Während der Tonausgabe ist der Basic-Interpreter aber leider blockiert, d.H. das Programm läuft erst weiter wenn ein Ton fertig ausgegeben ist. Daher kann ich höchstens ein simples Lied benutzen, aber besser als nichts.

    Auf welchem Gerät ich das Demo programmiere möchte ich noch nicht sagen (wegen Ideen-Klau oder so) aber ich weiss auch nicht ob ich überhaupt genug Zeit habe und genügend Ideen. Aber ich bin ja an der Buenzli bekannt für meine Trash-Beiträge. (Wobei sich da niemand daran erinnern wird...)

    Aber eben, für Ratschläge wie man ein Piep-Ton-Lied mit Tonhöhen von 0-255 generiert oder für Ideen dazu bin ich dankbar ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Chainsaw ()

  • RE: Piep Ton Musik - wie komponieren oder woher nehmen?

    Hi Chainsaw !

    Hört sich ja interessant an ! Zeigst Du uns die fertige Demo dann?

    Zu deinem Problem:
    Das ist ein Gebiet, indem sich Heinz bestimmt auskennt ;)
    Weiß ja nicht, auf welchem Kasten Du das schreibst, aber beim C64 war das so ähnlich...der normale BEEP Befehl hat das Programm angehalten für die Dauer des Tons (wenn ick mich richtig erinnere). Aber es gab auch noch andere Befehle, welche eine Subroutine im Hintergrand laufen lassen konnte. Bist Du sicher, dass es nicht anders geht ?

    Falls es wirklich nicht anders geht, müsste man die Noten sehr kurz halten & immer im gleichen Rhytmus bleiben, damit die Demo flüssig läuft...da kann man bestimmt was "erdenken" :) Aber dazu müsste man erstmal wissen, welcher Wert, welcher Note entspricht :(

    Hab mal bissl gerechnet, aber logisch erscheint mir das nicht mit 255 Tönen...
    Eine Oktave hat 7 ganze & 5 halbe Töne, was uns zur 12 bringt ;) Wenn man nun, was eigentlich totaler Quatsch ist, 21 Oktaven hintereinander legt, kommt man auf 252 Töne...bleiben immernoch 3 übrig !?!
    Und es ist auch nicht gesagt, daß der 0te und 12te Ton wirklich der Note C ist... Hast Du kein Handbuch oder eine genauere Erklärung des entsprechenden Befehls?

    Liebe Grüße


    Edit: Was mir noch einfällt, ist, daß es ja keine "normale" Tonleiter sein muss, sondern eine eher seltenere, die auch Viertel-Töne (bzw. Achtel-Töne) nutzt. Probier mal die Töne 0, 12, 24 usw. hintereinander zu spielen...dann müsste man doch hören können, obs der gleiche Ton in verschiedenen Oktaven ist.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Ic3m4n ()

  • Ich erinnere mich dunkel daran, dass ich mal auf dem C128 in Basic ein Demo mit Musik geschrieben habe. Allerdings war das Basic 7.0 und viel komplexer als das auf dem C64 und meiner Meinung nach sogar besser als auf dem Amiga. Dabei liefen die Musik (natürlich auch in Basic programmiert) und die Demo simultan ab. Das lag aber wohl daran, da ich bei der Demo nur mit Sprites gearbeitet habe. die musste man vorher nur definieren und dann eine Richtung zuweisen in die sie sich bewegen sollten. die bewegten sich dann quasi "von alleine" weiter und das Programm konnte ungestört die Melodie abspielen...
  • Hi Ic3m4n und Amok :)

    Tja schön wäre es auf dem C64 gewesen wenn es nur überhaupt irgendeinen Beep- oder Sound Befehl gegeben hätte. Da hatte man alles noch gepoket, aber wenn der Ton mal "an" war, lief das Programm weiter bis man den Ton stoppte oder änderte. Der C128 hatte da schon bessere Befehle. Beim C128 lief das Programm glaub auch weiter wenn man mit dem dortigen Sound Befehl Töne generierte. Das Basic V7 war überhaupt genial, im Gegensatz zum C64 Basic V2...

    Das genaue Gerät für mein Demo gebe ich noch nicht bekannt, aber es ist eigentlich nicht mehr als ein "besserer Taschenrechner" mit Basic. Klar zeige ich euch die Demo wenn ich es durchziehe, es ist nicht leicht mit diesem Gerät gross was zu machen. (Erwartet bloss nicht zuviel!)

    Ja das Lied müsste wirklich kurz gehalten werden, und wenn ich da noch ein wenig mit Grafik machen will bremst das sowieso alles. Also es müssten eher ein paar Piepstöne sein die irgendwie zusammen passen statt ein komplexes Lied. So wie bei den alten Handy-Melodien oder so ähnlich.

    Tja ich habe sogar ein ausführliches Handbuch mit allen Befehlen, aber zu den Tonhöhen wird gar nichts angegeben, ausser das der Befehl ohne Parameter einen 4khz Ton erzeugt. (Nützt aber nichts diese Angabe). Aber der Prozessor wird da wohl einfach 256 unterschiedliche Töne produzieren ohne dass dies irgendetwas mit Noten und Oktaven zu tun hat. (Ein Tongenerator der sich mit Musik genau so schlecht auskennt wie ich...)

    Ich stöbere auch noch ein wenig im Internet herum, vielleicht finde ich auch noch etwas zum Thema...

    Da ich die Demo sowieso vom Gerät (LCD Monitor) abfilmen müsste, könnte ich schlimmstenfalls auch ein normales Musikstück dazu laufen lassen, aber das hat irgendwie keinen Stil...
  • Original von Chainsaw
    ...Klar zeige ich euch die Demo wenn ich es durchziehe, es ist nicht leicht mit diesem Gerät gross was zu machen. (Erwartet bloss nicht zuviel!)...


    Logisch, daß Du auf dieser "Kiste" nicht die Demo des Jahrhunderts programmierst ;) Aber ick find solche Ideen & Projekte immer sehr interessant.

    Hatte auch an eine Art Klingelton bzw. Arp-Folge gedacht...da ja sicher auch nur eine Stimme zur Verfügung steht ;)

    Original von Chainsaw
    ...ausser das der Befehl ohne Parameter einen 4khz Ton erzeugt. (Nützt aber nichts diese Angabe).


    Das ist doch ein Anfang ;) Ich hab mal im Netz (glaube sogar bei wiki) eine Auflistung gefunden...die einzelnen Noten unserer Tonleiter entsprechen ganz bestimmten kHz-Werten. Also wenn man nun wüsste, welcher der Default-Wert ist & wir die Oktaven als kHz-Angaben finden (bzw. errechnen), kann man darauf was aufbauen...ick werd mal nochmal auf Suche gehen (hab eh nix bessere zu tun ;) )

    Original von Chainsaw
    Da ich die Demo sowieso vom Gerät (LCD Monitor) abfilmen müsste, könnte ich schlimmstenfalls auch ein normales Musikstück dazu laufen lassen, aber das hat irgendwie keinen Stil...


    Wieso nicht? Zur Not, kannst Du ja eine coole "Chip-Tune" nehmen...dann passt es wenigstens thematisch :p

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Ic3m4n ()

  • Das ist nett, aber mach Dir nur nicht zuviel Mühe... Wie gesagt, weiss ich nicht mal, ob ich das ganze schlussendlich durchziehe. Da ist die Idee mit dem Abfilmen und dem Chip Tune nicht mal schlecht. (Hab ich schon mal gemacht, bzw. bin ich nicht mal sicher obs n Chip Tune oder n Remix war. War das Robocop 3 Lied auf jeden Fall)

    Aber vielleicht nehme ich einfach mal einzelne Töne die ungefähr eine Melodie ergeben unds nicht allzu falsch tönt :)

    Du hast "eh nix besseres zu tun" ? Man dafür sollte man Dir einen Preis verleihen! Mal ein Mensch der nicht sagt "Keine Zeit" oder "sonst grad im Stress"...
  • Hier hab ick mal die Frquenzen gefunden: Bild & Seite.

    Allerdings sind Hz-Angaben (und keine kHz)...naja, kannst ja etwas rumprobieren....damit du nicht zuviel experimentieren musst, hier mal eine geläufige (und gut klingende) Akkordfolge ist z.Bsp.:
    A-Dur * F-moll * G-Dur * E-Dur
    Wobei Du nicht auf Dur oder Moll achten brauchst, wenn Du keine Arpeggios einsetzen willst...der Grundton reicht völlig ;)
  • Ganz wichtig ist erstmal, dass du 'rausfindest, was die verschiedenen Argumente bedeuten. Es gibt ungefähr 3 Möglichkeiten, wie die Zahlen in Frequenzen umgerechnet werden:
    (a ist das Argument, C, D, f0 sind irgendwelche Konstanten)
    * linear: f = C*a+f0
    * exponentiell: f = f0 * C^a
    * reziprok: f = f0 / (C-D*a) o.ä.

    So. Die errechneten Frequenzen kannst du aber natürlich nicht abfragen, und musst da dein Gehör benutzen.
    Tipp: Schreib' ein QBasic-Programm unter Windows und benutze den SOUND-Befehl, um zu ermitteln, wie sich die verschiedenen Frequenzfunktionen "im Prinzip" anhören. Schreibe dann ein Programm auf deinem Gerätchen, das die Töne 0-255 ausgibt und vergleiche...

    Da 255 echt wenig ist, ist es unwahrscheinlich, dass du mit linearen oder reziproken Frequenzfunktionen vernünftige Musik machen kannst.
    Ich nehm' daher jetzt einfach mal an, es würde eine exponentielle verwendet werden. In dem Fall wäre es gut, wenn das C eine k-te Wurzel von 2 ist (für ein ganzzahliges k). Halbtöne sind dann k/12 voneinander entfernt.
    Ich hoffe, ich habe damit alle Klarheiten beseitigt :D
  • So... nach einigen Stunden Arbeit ist die Demo vorangeschritten, aber halt immer noch nicht fertig. Einen Super Teil hats aber bereits drin, sogar mit ein wenig schräger Piepton-Musik, welche ich einfach durch ausprobieren der Werte erstellt habe... am Rest arbeite ich immer noch...

    Natürlich werde ich das Video (muss abgefilmt werden, da das Gerät keinen Videoausgang hat) sofort nach der Buenzli via Youtube oder Pouet.net (oder auch auf meiner eigenen Seite) zur Verfügung stellen.

    Aber wie gesagt, erwartet nicht zuviel... (wer mich auslacht wird zersägt :D ) Da die meisten von euch ja auch zur Scene gehören, erlaube ich mir, euch in die "Greetings" der Demo aufzunehmen...
  • Cool !!! Ick bin (vielleicht) in einem Greetings-Part :D

    Aber was mich noch mehr interessiert, ist, wie Du das hinbekommen hast, doch beides gleichzeitig zu realisieren (also Grafik & Sound) !? Jedenfalls schön zu hören, daß es voran geht...bin wirklich gespannt.

    Ick drück jedenfalls alle Daumen, die mir zur Verfügung stehen :)

    LG

    .
  • Ja sicher bist Du im Greetingspart... Die Hälfte besteht aus solchen die schon Demos gecodet haben, die andere Hälfte aus euch Musik-Scenern :)
    Ich hoffe ich vergesse niemanden wichtiges, sonst halt nicht beleidigt sein...
    Aber mit ein paar Greetings denken die Zuschauer, "man der Arme mit diesem Schrottdemo hat wenigstens Freunde" :D

    tja einige Parts haben gar keinen Sound, und der bisher bestgelungene Part hat kaum bewegte Grafik, daher kann dort ein wenig Sound abgespielt werden, obwohl das Programm nach wie vor gestoppt wird solange ein Ton läuft. Und das Lied das ich nachspielen wollte, ist natürlich herrlich falsch geraten, aber besser als gar nichts. Vielleicht gibts ja dann n Remix davon :rofl:

    Aber eben, leicht ist es nicht und das Basic ist halt langsam. Und von diesem Gerät findet man keine einzige Memory Map oder Hinweise auf das System, somit kann man nichts geiles mit Poke oder Call machen, sondern höchstens alles kaputt-Poken und von vorne anfangen...
  • So Leute... ich habs geschafft und wurde mit meiner Demo sogar zweiter (von 4 Beiträgen) bei der Alternativ Demo Compo bei der Buenzli 17.

    Es handelt sich um ein Demo auf dem Sharp Organizer IQ-8300M.

    Weiteres über die Buenzli, Fotos der Party und meine Demo findet ihr direkt auf meiner Seite chainsaw72.ch.vu...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Chainsaw ()