Jump to content
IGNORED

Voice without intellivoice


artrag

Recommended Posts

Cool. They sound the same to me, maybe I'm crazy. I think I basically did the same thing with the player as you did.

I think I did an error, let me fix it

I've changed the files in attach to the 5 channel version

 

Basically 5 channels and 6 channels sound very close

I would say that after having added 4/5 channels, the distortion is more due to the square wave and to the phase errors than to the missing tones

Edited by artrag
Link to comment
Share on other sites

I know it is not intellivision but I'm too proud of it to keep it for myself

This is the first application if my new voice encoder:

 

 

The voice patch to the original rom is only 8KB and works on a dedicated scc audio chip (5 channels).

Needless to say, the original msx version of Salamander has no voice, the speech we added is borrowed from the arcade version.

Edited by artrag
  • Like 3
Link to comment
Share on other sites

I was thinking about saving 1/2 of the room taken by the data by packing the volumes in the top 4 bits of the periods.

Is there a good way to extract the 4 top bits and shift them in the lowest 4 bits in intybasic?

I would suggest:

output = input / 16
IntyBASIC optimizes most power of 2 division operators.
Link to comment
Share on other sites

Is there a way to allow a rom array of varptr x(0) where x is a rom array as well?

If I do:

Data varptr x(0)

I get an error even if x() is an array of constant values in rom

 

This could simplify the huge

on (nsfx) goto ...

I use now in the player

I would do

#frames = fsxpntr(nsfx)

with

fsxpntr:

Data varptr voice0(0), varptr voice1(0)... etc

Edited by artrag
Link to comment
Share on other sites

Is there a way to allow a rom array of varptr x(0) where x is a rom array as well?

If I do:

Data varptr x(0)

I get an error even if x() is an array of constant values in rom

 

This could simplify the huge

on (nsfx) goto ...

I use now in the player

I would do

#frames = fsxpntr(nsfx)

with

fsxpntr:

Data varptr voice0(0), varptr voice1(0)... etc

This is a very much requested feature, I'll try to put it into next version of IntyBASIC :)

Link to comment
Share on other sites

In this version the data are packed volume+period, so now a channel takes a single word!

 

In intybasic terms we have:

 

DATA &VVVVPPPPPPPPPPPP,&VVVVPPPPPPPPPPPP,&VVVVPPPPPPPPPPPP, etc etc

 

In attach the results for the ECS demo, where we use 6 words per frame, i.e. 360 bytes per second

The ROM size passed from 31KB to about 18KB

Not bad considered the context.

 

;-)

 

 

PS

Oscar this is the result of the compiler for the /256/16 thing

	;[131] 			Sound 5,peek(#frames+0),(peek(#frames+0)/256)/16
	SRCFILE "C:\Users\Ragozzini\Documents\IntyBASIC SDK\Projects\intyLoFi\ecsLoFi_compact.bas",131
	MVI@ R1,R0
	MVO R0,240
	SWAP R0
	MVO R0,244
	MVI@ R1,R0
	SWAP R0
	ANDI #255,R0
	SLR R0,2
	SLR R0,2
	NOP
	MVO R0,251

Is that the optimization you was referring to ?

intyLoFi_compact.rar

Edited by artrag
  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...

In this version the data are packed volume+period, so now a channel takes a single word!

 

In intybasic terms we have:

 

DATA &VVVVPPPPPPPPPPPP,&VVVVPPPPPPPPPPPP,&VVVVPPPPPPPPPPPP, etc etc

 

In attach the results for the ECS demo, where we use 6 words per frame, i.e. 360 bytes per second

The ROM size passed from 31KB to about 18KB

Not bad considered the context.

 

;-)

 

 

PS

Oscar this is the result of the compiler for the /256/16 thing

	;[131] 			Sound 5,peek(#frames+0),(peek(#frames+0)/256)/16
	SRCFILE "C:\Users\Ragozzini\Documents\IntyBASIC SDK\Projects\intyLoFi\ecsLoFi_compact.bas",131
	MVI@ R1,R0
	MVO R0,240
	SWAP R0
	MVO R0,244
	MVI@ R1,R0
	SWAP R0
	ANDI #255,R0
	SLR R0,2
	SLR R0,2
	NOP
	MVO R0,251
Is that the optimization you was referring to ?

 

That's right my friend :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...