Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Mr_Pink
Anmeldungsdatum: 13.03.2005 Beiträge: 2
|
Verfasst am: 13.03.2005, 23:34 Titel: Soundprogrammierung: Bruder Jakob als Kanon? |
|
|
Hallo!
Ich möchte das Lied "Bruder Jakob" als Kanon programmieren.
Mir als absoluten Programmier-Laien ist es zwar nach kurzer Einlesezeit gelungen, das Lied einstimmig zu programmieren.
Aber wie kriege ich einen Kanon hin?
Dieser soll folgendermaßen aussehen (bzw. klingen ):
Sobald der 3. Takt erreicht ist, soll das Lied erneut von vorne gespielt werden (so zu sagen als zweite Stimme), während gleichzeitig die erste Stimme weiterlaufen soll. Wenn die zweite Stimme den 3. Takt erreicht kommt die dritte Stimme hinzu, wenn die Dritte den 3. Takt erreicht die Vierte usw...
Prinzipiell sollte das endlos so weitergehen.
Lässt sich so ein Kanon überhaupt mit QBasic verwirklichen? Und wenn ja wie?
Und ist der PC-Speaker überhaupt in der Lage, gleichzeitige Töne wiederzugeben? Wenn nicht, welche Möglichkeiten habe ich, z. B. um die Soundkarte anzusprechen?
lg Mr_Pink |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 14.03.2005, 13:20 Titel: |
|
|
zieh dir mal QMidi oder QBMidi oder so von www.qbasic.de
brauchst halt das entsprechende Midifile dann noch -> www.vanbasco.com
aber mit Play oder Sound gehts nicht. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 14.03.2005, 14:46 Titel: |
|
|
Doch, geht schon, aber sehr sehr umständlich.
Man müsste die Töne nur schnell genug hintereinander spielen. Mit PLAY wäre es dann sowas wie[code]play "o3 l64 cececececececece" für eine Terz auf C.
Mit SOUND gehts dann schon schneller.
Aber um das professionell zu machen, solltest du schon MIDI benutzen, oder gleich nen MP3-Player für QB benutzen. _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 14.03.2005, 15:00 Titel: |
|
|
also so schnell, dass das wie eine Terz klingt und nicht wie so ne art Tremolo mit Phaser vermischt bekommst du das auch mit Sound nicht, oder? _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 14.03.2005, 20:10 Titel: |
|
|
Mann man auf maximal
runterbringen, dann hört man nichts mehr...
EDIT: Habs jetzt 5 Minuten lang immer weiter gesenkt:
Code: |
DO
SOUND 1000, .0227273
SOUND 1500, .0227273
LOOP WHILE INKEY$ = ""
|
Ob das einen Sinn hat, wage ich zu bezweifeln, aber was macht man nicht
alles, wenn man zu viel Zeit hat....
jb |
|
Nach oben |
|
 |
jb

Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 14.03.2005, 20:24 Titel: |
|
|
Wie gesagt, ich hatte zu viel Zeit, und hier ein Code, mit dem man das "komfortabel" austesten kann:
Code: |
SCREEN 7, , 0, 1
DIM s AS DOUBLE, i AS DOUBLE
s = 1
i = .01
DO
LOCATE 5, 5
PRINT " SOUND 500, "; USING "#.###############"; s
LOCATE 7, 5
PRINT " Intervall i: "; USING "#.##########"; i
SOUND 500, s
SOUND 0, s
K$ = INKEY$
SELECT CASE UCASE$(K$)
CASE CHR$(27)
END
CASE "+"
s = s + i
CASE "-"
IF s - i > 0 THEN s = s - i
CASE "A"
i = i + .01
CASE "B"
IF i - .01 > 0 THEN i = i - .01
END SELECT
PCOPY 0, 1
CLS
LOOP
|
jb |
|
Nach oben |
|
 |
Mr_Pink
Anmeldungsdatum: 13.03.2005 Beiträge: 2
|
Verfasst am: 16.03.2005, 14:40 Titel: |
|
|
Vielen Dank erst mal für eure Antworten!
Verstehe ich euch richtig, dass es nicht möglich ist, einen "echten" Kanon mit Basic zu programmieren? Bzw. nur mit unverhältnismäßig hohem Aufwand? |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 16.03.2005, 14:42 Titel: |
|
|
also nur mit Basic-mitteln, sprich Sound und Play bekommst du keinen richtigen Kanon hin. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 16.03.2005, 15:00 Titel: |
|
|
Hallo
Einen richtigen Akkord mit SOUND oder PLAY zu erzeugen ist schon deshalb nicht möglich, weil mit diesen Befehlen nur Rechtecksignale an den Systemlautsprecher geschickt werden, die sich - selbst wenn man es könnte - beim Überlagern ganz anders verhalten würden als Sinusschwingungen.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 16.03.2005, 21:58 Titel: |
|
|
Meine Computer-Karriere startete früher mit den Rechnern der Firma Commodore, also C 64 und später Amiga. In beiden Fällen stand ein 3-stimmiger (Mono) bzw. 4-stimmiger (sogar Stereo) Sound-Chip zur Verfügung.
Schon auf dem Commodore 64 konnte man bereits nur mit BASIC dieses Potential ausschöpfen (Chip über POKE ansteuern) und auf dem Amiga gab es auf dem dortigen AmigaBASIC ebenfalls den SOUND-Befehl, dieser hatte im Vergleich zu QB noch die beiden zusätzlichen Parameter Lautstärke und Tonkanalnummer (0-3).
Unter
http://www.dreael.ch/Deutsch/Download/Musiksammlung.html
habe ich übrigens eine Auswahl davon veröffentlicht. Übrigens könnte Ihr diese mit Hilfe von UAE (Amiga Emulator) noch heute laufen lassen und anhören.
Mit dem PC-Piepser ist dies alles nicht möglich, weshalb ich dort nie gross in die Musikprogrammierung eingestiegen war, weil der C 64 und Amiga alles konnten, was ich brauchte.
Allerdings gibt es Tutorials zur Soundblaster-Programmierung; damit kann man noch am ehesten vernünftige Musik programmieren. Als Hardware ist natürlich ein alter 486er zusammen mit einer "Legacy" ISA Soundblaster-Karte mit Jumper (warum nicht für € 1,- bei EBay ersteigern?) und reinem MS-DOS 6.22 ein absolutes Muss. Evtl. eignet sich auch DOS-Box für so etwas. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
ZaPPa
Anmeldungsdatum: 29.09.2004 Beiträge: 98 Wohnort: Wuppertal
|
Verfasst am: 17.03.2005, 00:06 Titel: |
|
|
har har har das ist wieder ein thema für mich
also bevor ihr hier irgendwie mit midi rumhantiert nehmt doch die MKJamZ Routinen!
sie funktionieren prinzipiell wie der PLAY Befehl von QBasic sind nur um einiges umfangreicher.... beispielsweise hat man neun soundkanäle zur verfügung. ein instrument editor mit dem ihr die klangfarbe einstellen könnt liegt auch dabei, und das ganze wird über den sound blaster ausgegeben!
Ich benutz es selbst auch und bin mehr als zufrieden
http://basiccentral.tripod.com/files/mkjamz.zip
das is der link zum laden.,..
MfG ZaPPa _________________ --- ICH BIN DAGEGEN! ---
Jet_X hat Folgendes geschrieben: | Es währe mir sehr geholfen wenn ihr mir Helfen könnt ! |
And remember: Schwund is immer! |
|
Nach oben |
|
 |
|