Eingebundene Musik "verkleinern"?
Übersicht

mawBetreff: Eingebundene Musik "verkleinern"? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
gibt es die Möglichkeit, eingebundene Musik-Dateien (benutze .ogg) zu verkleinern? Dank manuellem Bibliothek-Import ist mein Programm erst schön klein geworden, durch die Musik dann leider wieder sehr groß... Danke, MAW |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
OGG ist schon komprimiert, da würdest du höchstens noch ein paar Bytes gewinnen. Aber OGG hat ja verschiedene QUALI Stufen, eventuell reicht eine kleinere Stufe ja schon aus.
cu |
||
maw |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich frag mich halt, wie diese Demoscene-Checker die Musik in ihren Files so klein kriegen... alles mit selbst gebastelten Tools?
MAW |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, die "erzeugen" die Samples auf die alte Weise. http://en.wikipedia.org/wiki/Waveform . Dabei wird jeder Ton auf sein Ausgangsmaterial zurückgerechnet und erst beim starten des Programms aus den normalen Formen erzeugt. (Hier jetzt circa 300 Seiten Grundkurs denken). Ein einfaches Beispiel ist das hier aus BlitzBassStudio. Du kannst dir das ja umbauen und auf die Weise einfache Snares, Töne und Bässe erzeugen. Diese Funktion ist allerdings für BBS ausgelegt.
Code: [AUSKLAPPEN] Function BASS_CreateBeep%(art% = 1 ,hz% = 900,time% = 100 ,freq# = 44100 , chans% = 1, max% = 1, flags% = 0, onlynew% = 0)
Local q%, y%, yy% , stemp%, length%, tbank%, hfinal%, hchannel% length = (((freq*chans)*time) / 1000)*2 stemp = BASS_SampleCreate(length,freq,chans,max,flags) tbank = CreateBank (length*2) For q = 0 To (length-1) ;this 4 are for 44100/mono/16bit (default values) If art=1 y=Sin(q/freq*360*hz)*32767 If art=2 yy=yy+Rand(hz/8,hz*3):y=Sin(yy/freq*360)*16384 If art=3 yy=yy+Rand(1000.0*hz/(q+1),1000.0*hz/(q+1)*10):y=Sin(yy/freq*360)*16384 If art=4 y=y+hz*1.45:If y>32767 y=-32767 ;feel free to add your own stuff. :) PokeShort tbank, q*2, y Next BASS_RtlMoveMemory2(stemp, tbank, length) FreeBank tbank hfinal = BASS_SampleCreateDone() hchannel = BASS_SampleGetChannel (hfinal, onlynew) Return hchannel End Function Wie du dir sicher denken kannst sind aber für ganze Tracks inkl Strings und Orchestra ein paar derbe Formeln mehr nötig. ![]() Willkommen in der Welt der DSP Freaks. Ausserdem verwenden viele MODULE die intern OGG Samples haben, so kann man zb ein AMIGA oder FastrackerII Modul von 350kb locker auf 65 runterhauen. Um das dann abzuspielen muss man FMOD (OXM) oder Bass (MO3) verwenden. |
||
maw |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OK, vielen Dank, leider kenne ich mich mit solchen Dingen gar nicht aus... Später vielleicht.
Kleine OT-Frage: ist es richtig, dass das kleinste mögliche BMax-Programm 268 KB groß ist (hab einen Mac)? MAW Edit: Framework hab ich benutzt - mit kleinst-mögliches Programm meinte ich, dass nur eben nur "Framework brl.basic" im Programm steht. |
||
- Zuletzt bearbeitet von maw am Do, Dez 06, 2007 21:15, insgesamt einmal bearbeitet
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm...zumindest unter Windows sollte mit Framework und UPX das noch kleiner gehen. Aber ich weis nicht ob es sowas wie UPX (EXE-Paker) auch für den Mac gibt.
cu |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group