Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Soundprogrammierung: Bruder Jakob als Kanon?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Mr_Pink



Anmeldungsdatum: 13.03.2005
Beiträge: 2

BeitragVerfasst am: 13.03.2005, 23:34    Titel: Soundprogrammierung: Bruder Jakob als Kanon? Antworten mit Zitat

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 zwinkern ):
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
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 14.03.2005, 13:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2005, 14:46    Titel: Antworten mit Zitat

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. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 14.03.2005, 15:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 14.03.2005, 16:20    Titel: Antworten mit Zitat

hm, doch, denke schon.

hör dir doch mal
Code:
DO
  SOUND 1000, 0.25
  SOUND 1500, 0.25
LOOP WHILE INKEY$=""
an. Allerdings kann man glaub ich nicht SOUND x, .01 oder so als Dauer schreiben - irgendwann ist Schluss.

Hab aber schon lang nicht mehr mit SOUND gearbeitet.
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 14.03.2005, 20:10    Titel: Antworten mit Zitat

Mann man auf maximal
Code:

SOUND x, .03

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.... durchgeknallt durchgeknallt

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 14.03.2005, 20:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr_Pink



Anmeldungsdatum: 13.03.2005
Beiträge: 2

BeitragVerfasst am: 16.03.2005, 14:40    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 16.03.2005, 14:42    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 16.03.2005, 15:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 16.03.2005, 21:58    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ZaPPa



Anmeldungsdatum: 29.09.2004
Beiträge: 98
Wohnort: Wuppertal

BeitragVerfasst am: 17.03.2005, 00:06    Titel: Antworten mit Zitat

har har har das ist wieder ein thema für mich grinsen

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz