Access Virus & Virus TI community since 2002 Virus TI Infekted

Go Back   The Unofficial Access Virus & Virus TI Forum - since 2002 > Discussion concerning Access products > General discussion about Access Virus

General discussion about Access Virus Discussion about Virus A, B, C and TI.

Reply
 
Thread Tools Search this Thread Display Modes
  #11  
Old 17.06.2004, 01:34 PM
anykeystudio's Avatar
anykeystudio anykeystudio is offline
New here
New here
 
Join Date: 04.05.2004
Location: Gbg, Sweden.
Posts: 12
Send a message via MSN to anykeystudio
Default

Well if you don?t got the basic in DSP programming start here.

http://www.amazon.com/exec/obidos/tg...glance&s=books

I think I have the same book in my bookshelf somewhere ? But I haven?t read it yet, but some day I will.
I think it?s cooler and harder to make a real physical synth. The difficulty in making an analog synth would be the design. When you do an DSP synt you can do what you whan, just make some new algorithms(sort of ).
But with a analog you have to make it discreet so it sound faaaat like the mini. Every component you add has to be powered or else all other components will perform less well.

If I live when I get retired I will make one.
Reply With Quote
  #12  
Old 17.06.2004, 06:42 PM
Tomer=Trance's Avatar
Tomer=Trance Tomer=Trance is offline
This forum member lives here
This forum member lives here
 
Join Date: 25.07.2002
Location: Israel
Posts: 2,029
Send a message via ICQ to Tomer=Trance Send a message via MSN to Tomer=Trance
Default

you also got to know about alot in electronic enginiering and even pysics.
"today's headline: a man in his mid 30s was fried today after trying to build his own true analog home made synthisizer"
that can be funny
Reply With Quote
  #13  
Old 18.06.2004, 07:04 AM
dries dries is offline
Newbie
Newbie
 
Join Date: 20.10.2002
Location: austria
Posts: 78
Default

programming a dsp is about the most difficult of progamming anyway - that's not just writing a bit of c++. what they did at access was emulating original hardware sturkture by software modules. tough work in the beginning, but it helps later on creating a kind of sound and new features and functions. you have to know a lot of electronics and dsp and must be a absolut programming genious to create the corresponding lines of asm for the dsp. this kind of stuff: exerpt from:

Digital Plate-Class Reverberation Audio Effect - Griesinger's Model *
* Described by Jon Dattorro in "Effect Design Part 1: Reverberator and *
* Other Filters, " Journal of the Audio Engineering Society," Vol. 45, *
* No. 9, pp. 660-684


change_reverb_settings:
bit set mode1 SRRFH; /* enable background register file */
NOP; /* 1 CYCLE LATENCY FOR WRITING TO MODE1 REGISER!! */

/* if flag2_in jump change_parameter; */

r13 = 6; /* number of presets */
r15 = DM(IRQ1_counter); /* get preset count */
r15 = r15 + 1; /* increment preset */
comp (r15, r13);
if ge r15 = r15 - r15; /* reset to zero */
DM(IRQ1_counter) = r15; /* save preset count */

r10 = pass r15; /* get preset mode */
if eq jump reverb_settings_2; /* check for count == 0 */
r10 = r10 - 1;
if eq jump reverb_settings_3; /* check for count == 1 */
r10 = r10 - 1;
if eq jump reverb_settings_4; /* check for count == 3 */
r10 = r10 - 1;
if eq jump reverb_settings_5; /* check for count == 4 */
r10 = r10 - 1;
if eq jump reverb_settings_6; /* check for count == 5 */

reverb_settings_1: /* count therefore, is == 6 if you are here */
r14 = 0x40000000; DM(decay) = r14;
r14 = 0x7f5c28f6; DM(bandwidth) = r14;
r14 = 0x0010624d; DM(damping) = r14;
r14 = 0x5999999a; DM(decay_diffusion_1) = r14; /* = 0.50, Decorrelates tank signals */
r14 = 0x40000000; DM(decay_diffusion_2) = r14; /* decay diffusion 2 = decay +0.15, floor = 0.25, ceiling - 0.50 */
r14 = 0x60000000; DM(input_diffusion_1) = r14; /* = 0.75, Decorrelates incoming signal */
r14 = 0x50000000; DM(input_diffusion_2) = r14; /* = 0.625, Decorrelates incoming signal */
bit set ustat1 0x3E; /* turn on Flag4 LED */
bit clr ustat1 0x01;
dm(IOSTAT)=ustat1;
jump done;

reverb_settings_2:
r14 = 0x007fffff; DM(decay) = r14;
r14 = 0x60124321; DM(bandwidth) = r14;
r14 = 0x000007ff; DM(damping) = r14;
r14 = 0x00100000; DM(decay_diffusion_1) = r14;
r14 = 0x00100000; DM(decay_diffusion_2) = r14;
r14 = 0x50000000; DM(input_diffusion_1) = r14;
r14 = 0x60000000; DM(input_diffusion_2) = r14;
bit set ustat1 0x3D; /* turn on Flag5 LED */
bit clr ustat1 0x02;
dm(IOSTAT)=ustat1;
jump done;

reverb_settings_3:
r14 = 0x10000000; DM(decay) = r14;
r14 = 0x6f5c28f6; DM(bandwidth) = r14;
r14 = 0x000fffff; DM(damping) = r14;
r14 = 0x01000000; DM(decay_diffusion_1) = r14;
r14 = 0x02000000; DM(decay_diffusion_2) = r14;
r14 = 0x60000000; DM(input_diffusion_1) = r14;
r14 = 0x50000000; DM(input_diffusion_2) = r14;
bit set ustat1 0x3B; /* turn on Flag6 LED */
bit clr ustat1 0x04;
dm(IOSTAT)=ustat1;
jump done;

reverb_settings_4:
r14 = 0x40000000; DM(decay) = r14;
r14 = 0x7f5c28f6; DM(bandwidth) = r14;
r14 = 0x0050624d; DM(damping) = r14;
r14 = 0x70000000; DM(decay_diffusion_1) = r14;
r14 = 0x40000000; DM(decay_diffusion_2) = r14;
r14 = 0x60000000; DM(input_diffusion_1) = r14;
r14 = 0x50000000; DM(input_diffusion_2) = r14;
bit set ustat1 0x37; /* turn on Flag7 LED */
bit clr ustat1 0x08;
dm(IOSTAT)=ustat1;
jump done;

reverb_settings_5:
r14 = 0x57000000; DM(decay) = r14;
r14 = 0x3f5c28f6; DM(bandwidth) = r14;
r14 = 0x0001004d; DM(damping) = r14;
r14 = 0x72222222; DM(decay_diffusion_1) = r14;
r14 = 0x60000000; DM(decay_diffusion_2) = r14;
r14 = 0x60000000; DM(input_diffusion_1) = r14;
r14 = 0x50000000; DM(input_diffusion_2) = r14;
bit set ustat1 0x2F; /* turn on Flag8 LED */
bit clr ustat1 0x10;
dm(IOSTAT)=ustat1;
jump done;

reverb_settings_6:
r14 = 0x50000000; DM(decay) = r14;
r14 = 0x5f5c28f6; DM(bandwidth) = r14;
r14 = 0x0000004d; DM(damping) = r14;
r14 = 0x72222222; DM(decay_diffusion_1) = r14;
r14 = 0x60000000; DM(decay_diffusion_2) = r14;
r14 = 0x60000000; DM(input_diffusion_1) = r14;
r14 = 0x50000000; DM(input_diffusion_2) = r14;
bit set ustat1 0x1F; /* turn on Flag9 LED */
bit clr ustat1 0x20;
dm(IOSTAT)=ustat1;

done:
rti(db);
bit clr mode1 SRRFH; /* switch back to primary register set */
nop; /* 1 cycle latency for switching to occur */


/* ------------------------------------------------------------------------------------ */
/* */
/* IRQ2 Pushbutton Interrupt Service Routine */
/* */
/* This routine allows the user to modify reverb presets on-the-fly to allow for */
/* control of the predelay and left right panning of the reverb response */
/* */
/* Also note, early reflections and later reverberations are panned differently */
/* between left and right channels for all reverb presets. For example, early */
/* reflections may come from the left speaker, while the later reverberations */
/* come from the right speaker. */
/* */
/* yL(n)=0.33*(Gain)*x(n) +0.33*(Gain)*x(rev_result) + 0.33*(Gain)*x(predelay) */
/* yR(n)=0.33*(Gain)*x(n) +0.33*(Gain)*x(rev_result) + 0.33*(Gain)*x(predelay) */
/* ------------------------------------------------------------------------------------ */

modify_reverb_mix:
bit set mode1 SRRFH; /* enable background register file */
NOP; /* 1 CYCLE LATENCY FOR WRITING TO MODE1 REGISER!! */

r13 = 6; /* number of presets */
r15 = DM(IRQ2_counter); /* get preset count */
r15 = r15 + 1; /* increment preset */
comp (r15, r13);
if ge r15 = r15 - r15; /* reset to zero */
DM(IRQ2_counter) = r15; /* save preset count */

r10 = pass r15; /* get preset mode */
if eq jump reverb_mix_2; /* check for count == 0 */
r10 = r10 - 1;
if eq jump reverb_mix_3; /* check for count == 1 */
r10 = r10 - 1;
if eq jump reverb_mix_4; /* check for count == 3 */
r10 = r10 - 1;
if eq jump reverb_mix_5; /* check for count == 4 */
r10 = r10 - 1;
if eq jump reverb_mix_6; /* check for count == 5 */

reverb_mix_1: /* count therefore, is == 6 if you are here */
r14 = 0x7FFFFFFF; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x1FFFFFFF; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x0FFFFFFF; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x57FFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_RIGHT) = r14;
r14 = 200; DM(predelay_time) = r14;
bit clr ustat1 0x3E; /* turn on Flag4 LED */
bit set ustat1 0x01;
dm(IOSTAT)=ustat1;
jump exit;

reverb_mix_2:
r14 = 0x00000000; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(WET_GAIN_RIGHT) = r14;
r14 = 1000; DM(predelay_time) = r14;
bit clr ustat1 0x3D; /* turn on Flag5 LED */
bit set ustat1 0x02;
dm(IOSTAT)=ustat1;
jump exit;

reverb_mix_3:
r14 = 0x00000000; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x2FFFFFFF; DM(WET_GAIN_RIGHT) = r14;
r14 = 2500; DM(predelay_time) = r14;
bit clr ustat1 0x3B; /* turn on Flag6 LED */
bit set ustat1 0x04;
dm(IOSTAT)=ustat1;
jump exit;

reverb_mix_4:
r14 = 0x7FFFFFFF; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(WET_GAIN_RIGHT) = r14;
r14 = 4000; DM(predelay_time) = r14;
bit clr ustat1 0x37; /* turn on Flag7 LED */
bit set ustat1 0x08;
dm(IOSTAT)=ustat1;
jump exit;

reverb_mix_5:
r14 = 0x00000000; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_RIGHT) = r14;
r14 = 1200; DM(predelay_time) = r14;
bit clr ustat1 0x2F; /* turn on Flag8 LED */
bit set ustat1 0x10;
dm(IOSTAT)=ustat1;
jump exit;

reverb_mix_6:
r14 = 0x7FFFFFFF; DM(DRY_GAIN_LEFT) = r14;
r14 = 0x3FFFFFFF; DM(DRY_GAIN_RIGHT) = r14;
r14 = 0x00000000; DM(PREDEL_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(PREDEL_GAIN_RIGHT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_LEFT) = r14;
r14 = 0x7FFFFFFF; DM(WET_GAIN_RIGHT) = r14;
r14 = 1200; DM(predelay_time) = r14;
bit clr ustat1 0x1F; /* turn on Flag9 LED */
bit set ustat1 0x20;
dm(IOSTAT)=ustat1;

exit:
rti(db);
bit clr mode1 SRRFH; /* switch back to primary register set */
nop; /* 1 cycle latency for switching to occur */

still want to program a dsp?

good luck.
Reply With Quote
  #14  
Old 18.06.2004, 07:28 AM
Juho L's Avatar
Juho L Juho L is offline
Administrator
This forum member lives here
 
Join Date: 14.05.2002
Location: Helsinki, Finland
Posts: 2,318
Default

Quote:
programming a dsp is about the most difficult of progamming anyway
You probably mean ASM? Well, ASM is quite cryptic if you're used to programming languages. ASM is not harder, it's just more time consuming way of programming (and debugging is insane in big projects). The good thing in ASM is that the machine does exactly what you want it to do.
Reply With Quote
  #15  
Old 18.06.2004, 08:14 AM
saba saba is offline
Semi Pro
Semi-Pro
 
Join Date: 14.11.2002
Location: Melbourne
Posts: 277
Default

NOP.
________
Lovely Wendie

Last edited by saba : 26.04.2011 at 03:41 AM.
Reply With Quote
  #16  
Old 18.06.2004, 08:36 AM
dries dries is offline
Newbie
Newbie
 
Join Date: 20.10.2002
Location: austria
Posts: 78
Default

Quote:
Originally Posted by Juho L
Quote:
programming a dsp is about the most difficult of progamming anyway
You probably mean ASM? Well, ASM is quite cryptic if you're used to programming languages. ASM is not harder, it's just more time consuming way of programming (and debugging is insane in big projects). The good thing in ASM is that the machine does exactly what you want it to do.
wow, thanks a lot for the info, you realy cleared me up here.

*gg*

;-)
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
hip hop / r&b with the virus...new to access brickbeatz Introduce yourself 3 18.05.2007 03:12 AM
ACCESS VIRUS CLASSIC bs VIRUS C DESKTOP blueice General discussion about Access Virus 3 20.03.2006 06:36 PM
Access Virus TI on Mtv. Tomer=Trance General discussion about Access Virus 5 20.12.2005 10:01 PM
new access virus kc rp2k2 General discussion about Access Virus 2 03.11.2005 09:41 PM
Access Virus DVD r3dnaX General discussion about Access Virus 7 17.01.2004 06:24 AM


All times are GMT. The time now is 11:09 AM.
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Skin Designed by: Talk vBulletin
Copyright ©2002-2022, Infekted.org