Author |
Topic: My Latest Hit ..... (Read 2984 times) |
|
hitsware
Junior Member
member is offline


Gender: 
Posts: 70
|
 |
Re: My Latest Hit .....
« Reply #11 on: Jun 17th, 2015, 6:47pm » |
|
If I rename the 2 versions, put them both in LIB, call 1 from a routine, run the routine, then call 2 and run the routine .......... Will the second version over-write the first ? ......In order to test the effectiveness.........
|
|
Logged
|
|
|
|
hitsware
Junior Member
member is offline


Gender: 
Posts: 70
|
 |
Re: My Latest Hit .....
« Reply #12 on: Jun 17th, 2015, 10:47pm » |
|
1) No matter the order entered I get an error on second iteration
2) Must listen some more. At first I was hearing clearly the noise I speak of, but when I simplified the routine as much as possible it seemed to go away (both HQ versions) Seems perhaps other things can aggravate the problem.
Code:
*TEMPO 133
ENVELOPE 1,0,0,0,0,0,0,0,127,0,0,-1,127,0
CALL @lib$+"HQS_1"
FOR x=0 TO 7
READ n
SOUND 0,1,n,1: SOUND 4096,1,0,10
NEXT x
RESTORE
CALL @lib$+"HQS_2"
FOR x=0 TO 7
READ n
SOUND 0,1,n,1: SOUND 4096,1,0,10
NEXT x
END
DATA 52,60,68,72,80,88,96,100
|
|
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: My Latest Hit .....
« Reply #13 on: Jun 18th, 2015, 05:40am » |
|
on Jun 17th, 2015, 6:47pm, hitsware wrote:| In order to test the effectiveness |
|
So long as you run them in separate sessions of BB4W (i.e. separate processes) they will of course be entirely independent. That's how I have been comparing different versions; commonly I have three or more copies of BB4W running simultaneously.
The alternative is to compile your programs and run the EXEs, which of course also ensures that they are independent.
Here's a good test of the difference (also worth trying without the HQSOUND library at all); it is very important that you listen with headphones:
Code: ENVELOPE 1,5,0,0,0,0,0,0,1,-1,-1,-1,126,0
SOUND 1,1,148,252 Richard.
|
| « Last Edit: Jun 18th, 2015, 05:52am by rtr2 » |
Logged
|
|
|
|
hitsware
Junior Member
member is offline


Gender: 
Posts: 70
|
 |
Re: My Latest Hit .....
« Reply #14 on: Aug 8th, 2016, 12:58am » |
|
REM:m = 12*log2(fm/440 Hz) + 69 REM: key(),D(144), C(160), A(96), E(128), G(108) key=144: DIM mn(700)
FOR jn=1 TO 700 mn(jn)=69+INT(12*LOG((jn)/key)/LOG(2)+0.5) NEXT jn: PROC_midistart
FOR ch=0 TO 4:READ pa,le,pn PROC_env(ch,pa,le,pn): NEXT ch
DATA 034,127,064, 107,060,127, 11,100,0 DATA 127,064,000, 127,127,064
DIM cm(29),cn(3),cr(3),da(7),db(7),d1(7),d2(7) FOR x=0 TO 29:READ cm(x):NEXT x FOR x=0 TO 03:READ cn(x):NEXT x FOR x=0 TO 07:READ da(x):NEXT x FOR x=0 TO 07:READ db(x):NEXT x DATA 5,6,9,5, 5,6,9,9, 5,6,9,5, 8,9,5,5 DATA 8,9,5,5, 8,9,5,5, 8,9,5,5, 8,9 DATA 2,4,3,4 DATA 035,000,076,000, 035,035,076,000 DATA 042,000,042,042, 042,000,042,042
REPEAT FOR x=0 TO 29:FOR y=0 TO 3 rr=INT(RND(3)-1): oc=2^rr nn= mn(cm(x)*cn(y)*oc) PROC_playnote(rr,nn) NEXT y: NEXT x: UNTIL FALSE: END
DEF PROC_playnote(rr,nn) SYS"midiOutShortMsg",hMidiOut%,(144+rr)+(nn<<8)+(127<<16) WAIT 22 SYS"midiOutShortMsg",hMidiOut%,(144+rr)+(nn<<8)+(000<<16) ENDPROC
DEF PROC_env(ch,pa,le,pn) SYS"midiOutShortMsg",hMidiOut%,(192+ch)+(pa<<8) SYS"midiOutShortMsg",hMidiOut%,(176+ch)+(07<<8)+(le<<16) SYS"midiOutShortMsg",hMidiOut%,(176+ch)+(10<<8)+(pn<<16) ENDPROC
DEF PROC_midistart ON CLOSE PROC_Cleanup: QUIT ON ERROR PROC_Cleanup: REPORT : END SYS "midiOutOpen",^hMidiOut%,-1,0,0,0 TO ret% IF ret% ERROR 100,"Failed to open MIDI output device" ENDPROC
DEF PROC_Cleanup hMidiOut% +=0 :IF hMidiOut% SYS "midiOutClose", hMidiOut% ENDPROC
|
|
Logged
|
|
|
|
michael
Senior Member
member is offline


Posts: 335
|
 |
Re: My Latest Hit .....
« Reply #15 on: Aug 8th, 2016, 4:16pm » |
|
nice mix.
|
|
Logged
|
I like making program generators and like reinventing the wheel
|
|
|
|