Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Composing > ways of implementing vibrato
2006-08-12 16:57
stunt
Account closed

Registered: Jul 2006
Posts: 48
ways of implementing vibrato

Cadaver hinted me about a classic 'lean' way of implementing vibrato that i want to ask some more details about.

Basicly at each new note to take also the value of the note that is one semitone higher and take the absolute value of the difference between them, divide that by an 'vibrato dept' value by right-shifting, and then use this value to update pitch each frame.

So this describes the value by which pitch is (in/de)cremented each frame...

So how is this implemented.... does it start with the 'sign' set to "adding" and is the vibratodepth established by like keeping track of how many times (frames) the value is *added* and when adding maximum (vibratodept) reached the direction (adding or subtracting) changes and the sutracting starts till the subtracting minimum (vibratodept) is reached?

Till now i can only guess how this is usually done. Please help me out. Thx.

Stunt
2006-08-12 18:19
cadaver

Registered: Feb 2002
Posts: 1163
You can start up or down, your preference.

The usual thing to determine depth is to init a counter with half of the depthvalue, let it count to zero and add (or subtract) that many times, then reset the counter with the full depthvalue and change direction, repeat over & over.
2006-08-13 12:05
Laxity
Account closed

Registered: Aug 2005
Posts: 459
Here's a mean and lean version of vibrator direction determination. It doesn't give much resolution in terms of different frequencies as one could desire, but it works and is simple to implement.



upOrDown .byte 0
freqCnt .byte 0
frequency .byte 2 ;Set any desired frequency value. 2 is an example

initVib

lda #1
sta upOrDown
lda frequency
sta freqCnt

rts

updateVibDirection

dec freqCnt
bpl .done
lda frequency
sta freqCnt
inc upOrDown

.done

rts

determineVibDirection

lda upOrDown
and #2
bne .up

; Vibrate down

rts

.up

; Vibrate up

rts



Makes any sense?

This vibrato direction determination method only gives the possibility of having 2 up/down, 4 up/down, 6 up/down.. etc.. I usually implement one that has 1 up/down, 3 up/down etc., as well. Doing so is a little more cumbersome, but obviously possible.
2006-08-13 12:11
Dane

Registered: May 2002
Posts: 423
Vibrato...the death of rtime usage!
2006-08-13 12:23
Bamu®
Account closed

Registered: May 2005
Posts: 1332
Quote: Vibrato...the death of rtime usage!

... as long it sounds good. :D
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Ax!s/Onslaught - TND
YPS
MWR/Visdom
iAN CooG/HVSC
Honesty/Covenant/Ons..
Elder0010/G★P
Krill/Plush
Guests online: 350
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Codeboys & Endians  (9.7)
4 Mojo  (9.6)
5 Coma Light 13  (9.6)
6 Edge of Disgrace  (9.6)
7 Signal Carnival  (9.6)
8 Wonderland XIV  (9.5)
9 Uncensored  (9.5)
10 Comaland 100%  (9.5)
Top onefile Demos
1 Nine  (9.7)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.5)
6 Scan and Spin  (9.5)
7 Onscreen 5k  (9.5)
8 Grey  (9.5)
9 Dawnfall V1.1  (9.5)
10 Rainbow Connection  (9.5)
Top Groups
1 Artline Designs  (9.3)
2 Booze Design  (9.3)
3 Performers  (9.3)
4 Oxyron  (9.3)
5 Censor Design  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Jeroen Tel  (9.7)
3 Stinsen  (9.7)
4 LMan  (9.7)
5 Linus  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.074 sec.