Autor Beitrag
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 03.12.08 21:47 
Moin Leute!

Ich hab vor yet another Guitar Hero clone zu schreiben - Ich glaube nicht, dass es großartig was besonderes wird, bis jetzt ist's mehr zum Spaß und eigenen Vergnügen.

Nun, es geht darum, dass ich zum erstellen einer Datei in der die "noten" des ganzen abgelegt werden soll das Musikstück möglichst verlangsamt abspielen möchte, um mehr präzesion beim einspielen der Noten zu erreichen. Das ganze soll in einem externen Programm ablaufen welches ich noch nicht geschrieben habe, also keine Limitierung - mit Ausnahme der bass.dll, die würde ich nach Möglichkeit nicht benutzen.

Falls jetzt gleich einer einen Geistesblitz hat, immer her damit, falls nicht, hier die Begründung, warum ich bass.dll mit bass_fx.dll nicht einsetzen will/kann:
Ich nutze Fear2D. Die nutzt eine veraltete bass, die mit der mir verfügbaren bass_fx scheinbar nicht kompatibel ist. Nun möchte ich nicht updaten, da ich dann die ganze F2D_Sound.pas umschreiben muss, oder zumindest zum Teil. Auch will ich eigentlich nicht 2 verschiedene bass.dlls mit meinem programm mitliefern. Da entsteht nur verwirrung.

Also nochmal zusammengefasst. Mein Programm soll:
-Musik verlangsamt abspielen (50% z.B.)
-dabei Tastendrücke registrieren und in einen Array schreiben
-diesen am Ende als Datei speichern

Ich hoffe, ihr könnt mir helfen!

Gruß, Jan

Edit: Nein, niemand soll mir ein Programm fertig coden ;)

Edit2: Es sollte sich um mp3-Dateien handeln. Am Besten wäre es, wenn mein Programm alle Formate wie auch die bass.dll beherrschen könnte (also auch ogg etc), aber mp3 wäre genug. Eine Idee wäre eine alternative Sound-Dll... Da gibt es doch welche, oder?

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.


Zuletzt bearbeitet von JayEff am Fr 05.12.08 01:22, insgesamt 2-mal bearbeitet
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.08 21:55 
Mir fällt spontan die Verwendung von MIDI ein, da könnte man Tonhöhe und Tondauer prima selbst vorgeben.
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 03.12.08 22:09 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Mir fällt spontan die Verwendung von MIDI ein, da könnte man Tonhöhe und Tondauer prima selbst vorgeben.

Titel des Threads:
Musik (mp3) langsam abspielen

Wenn ich dem User gestatten will, seine MP3s ins Spiel zu integrieren, kann ich es ihm nicht antun, dass er erstmal einen freeware-mp3-to-midi-converter googlen und runterladen muss und die mp3 umwandelt... Grundsätzlich wär's toll, wenn alle Dateiformate von der bass.dll möglich wären, aber mp3 würde mir auch reichen.

Möglich wäre natürlich, zu hoffen, dass ich einee OpenSource-Umwandel-Unit finde und das dann im Programm tue, dann eben nur in meinem externen Noten-Schreib-Programm diese einsetze, im eigentlichen Spiel dann wieder die mp3... Aber das ist doch alles so unsauber!
Ausserdem, wie spiele ich diese midi-datei dann ab, wenn nicht mit der bass.dll?

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 03.12.08 22:19 
Sry, hatte nur den Beitrag gelesen und nicht auf den Titel geachtet.
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mi 03.12.08 22:21 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Sry, hatte nur den Beitrag gelesen und nicht auf den Titel geachtet.

Ist ok. Ich werd das mal im Beitrag erwähnen, das muss da sowieso drin stehen.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
JayEff Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Fr 05.12.08 01:16 
Nun, meine Lösung für das Problem war nun die, dass ich einfach 2 bass.pas hatte, eine für die alte und eine für die neue version. augenblicklich stecken 2 bass.dlls in meinem programm, ich werde dann bald im hauptprogramm ebenfalls die neueste bass.dll einsetzen.
Die Lösung für das Langsam Abspielen sieht so aus:

ausblenden Delphi-Quelltext
1:
  BASS_ChannelSetAttribute(chan, BASS_ATTRIB_TEMPO, tbTempo.position);					

tbTempo ist dabei eine Trackbar, die Zahl ist ein Integer und steht für "um wieviel % die geschwindigkeit ändern". Dabei ist ein positiver Wert schneller, ein negativer langsamer abspielen. -50 sollte also die Hälfte der Geschwindigkeit sein.
Ich denke, dass diese Funktion die bass_fx.dll voraussetzt.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.