ஆஸ்டரிக்‌ஸ் Asterix - கேலி சித்திரங்களில் அசகாய சூரன்

Sunday, March 28, 2010

சிறுவயதில் பெட்டிக்கடைகளில் முத்துக் காமிக்ஸ் லயன் காமிக்ஸ் என்று படக்கதைப் புத்தகங்கள் வாடகைக்கு கிடைக்கும். விடுறை காலங்களில் அவற்றைப் படிப்பது முக்கிய பொழுது போக்காக இருந்தது. இரும்புக்கை மாயாவி, வேதாளர், மந்திரவாதி மான்ட்ரேக், லாரன்ஸ்-டேவிட் என்று
நாசகார சக்திகளை அழிக்கும் நாயகர்கள் அப்போது மிகவும் பிரசித்தமானவர்கள். காட்சிகளுக்கு தகுந்த உணர்ச்சி பொங்கும் படங்கள், பலவிதமான கோணங்களில் தத்ரூபமாக இருக்கும். பத்திரிக்கைகளில் தொடர்கதைகள் படிப்பதற்கு இந்தப் புத்தகங்கள் தூண்டுகோலாக இருந்தன.

வேலைக்குப் போய் ஆங்கிலப் புத்தகங்கள் படிக்க கற்றுக் கொண்ட பின்தான் உலகப் பிரசித்தி பெற்ற Asterix படக்கதைகள் எனக்கு அறிமுகமாயிற்று. அதன் கதைக்களம், பழகிப்போன மோசக்காரர்களின் குற்றங்களிலிருந்து முற்றிலும் மாறுபட்டது. கேலி சித்திர வடிவில் கண்ணைக் கவரும் வண்ணங்களில், விசித்திரமான பாத்திரங்கள் கொண்ட முழுநீள நகைச்சுவைக் கதைக்களம். ஒரு புத்தகத்தை படித்ததுமே எல்லாவற்றையும் படிக்கத் தூண்டியது. ஒரே படத்தை சித்திரம்போல மீண்டும் மீண்டும் பார்த்து ரசிக்கக் கூடியதாக இருக்கும்.


பிரஞ்ச் மொழியில் எழுதப்பட்ட இப்புத்தகங்கள் ஆங்கிலத்திலும் இன்ன பிற மொழிகளிலும் மொழி பெயர்க்கப்பட்டு வெளியாகின்றன. ஆனால் மொழிபெயர்க்கப் பட்ட எழுத்து என்று தெரிவதில்லை. உதாரணமாக சில இடங்களில் ஆங்கில மொழியின் உச்சரிப்பை/எழுத்துபிழைகளை பகடி செய்திருப்பார்கள். மூலக்கதையில் பிரஞ்சு மொழியை அதே போல கலாய்த்திருப்பார்கள் என்று நினைக்கிறேன். மேலும் பாத்திரங்களின் பெயர்கள் பலவும் காரணப் பெயர்கள் ஆகும். அவற்றையும் ஆங்கிலத்திற்கென்று மாற்றி இருக்கிறார்கள்.

தளம் இதுதான்:
கடலோர கிராமத்தில் வசிக்கும் குடியானவர்கள் (Gauls), ஜூலியஸ் சீசரின் ரோமன் அரசுக்கு பெரும் சரவலாக இருக்கிறார்கள். உலகத்தையே வென்றவர்களால் அந்த குட்டி கிராமத்தை கைப்பற்ற முடியவில்லை. ஏனென்றால் அந்தக் குடியானவர்களுக்கு அசாத்தியமான வலிமை இருந்தது. எதற்கும் பயப்பட மாட்டார்கள், வானம் இடிந்து விழப் போவதைத் தவிற.

அவர்களின் வலிமைக்குக் காரணம் கிராமத்து வைத்தியருக்கு (Getafix) மட்டுமே தெரிந்த மாய பாசாணம் (magic potion). இரண்டு சொட்டு சாப்பிட்டால் போதும் யானை பலம் கிடைத்துவிடும். அப்போது ரோமானிய வீரர்கள் மாட்டினால் அவ்வளவுதான் தீர்ந்தார்கள். பெரும்பாலும் அவர்களுக்குள்ளேயே அடித்துக் கொள்வார்கள். ஆனால் அவர்களின் நாயகன் ஆஸ்டரிக்ஸ் புத்திசாலி, அவன் வழிகாட்டுதலோடு எதிரிகளை எப்போதும் எட்டவே வைத்திருக்கிறார்கள். அவனுடைய இணை பிரியாத நண்பன் ஓபிலிக்ஸ் (Obelix). அவன் குழந்தையாக இருக்கும்போது மருந்து குண்டாவில் விழுந்துவிட்டதால் எப்போதுமே பலசாலி, மருந்தே வேண்டியதில்லை. அவனுடைய செல்ல நாய் டாக்மெடிக்ஸ் (Dogmatix - dogma-tix என்று பிரித்துப் பொருள் கொள்ளவும்). அவர்களுக்குப் பிடித்த உணவு காட்டுப்பன்றி. அவைகளை வேட்டையாடுவது, கை துறுதுறுத்தால் ரோமானிய வீரர்களைப் பந்தாடுவது என்று தன்நிறைவாக வாழ்கிறார்கள்.

சீசருக்கோ இத்துனூண்டு கிராமத்தை பிடிக்க முடியவில்லையே என்ற தன்மானப் பிரச்சனை. கதைக்குக் கதை சூழ்ச்சியாக, அதிரடியாக என்று பல வகைகளில் கிராமத்தவர்களோடு மோதிப் பார்க்கிறான். அவற்றை ஆஸ்டரிக்ஸ் தலைமையில் குடியானவர்கள் எப்படி சமாளிக்கிறார்கள் என்பதுதான் பெரும்பாலான கதைகள். சில புத்தகங்களில் ஆஸ்டரிக்ஸ்-ம் ஓபிலிக்ஸ்-ம் தூர தேசங்களுக்கு சாகசப் பயணம் போய் வருகிறார்கள். எல்லாக் கதைகளிலும் கடைசியில் கிராமத்தில் குடியும் கும்மாளமுமாக பெரிய விருந்து நடக்கும். கூடவே பாணன் பாடிவிடாமல் இருக்க கட்டி வைக்கப்பட்டிருப்பான். எல்லோரும் மகிழ்ச்சியாக இருக்க சுபம்.

கிராமத்து மாந்தர்கள் சிலர்:


மீன் வியாபாரி: அன்ஹைஜீனிக்ஸ் (Unhygenix), அவன் மனைவி பாக்டீரியா
கொல்லன்: ‘புல்லிஆட்டோமேடிக்ஸ் (Fulliautomatix)

தாத்தா: 'கெரியாட்ரிக்ஸ்(Geriatrix)


பாணன்: Cacofonix


விலை அதிகம்தான். 1990 வாக்கிலேயே ஒரு புத்தகம் 80 ரூபாய் ஆயிற்று. ஆனால் தனியார் நூலகங்களில் கண்டிப்பாக கிடைக்கும். படித்து மகிழுங்கள்.

சில புத்தகங்களின் நிழற்படத் தொகுப்புகள் இங்கே தரவிறக்கிக்கொள்ள கிடைக்கின்றன http://codingfreak.blogspot.com/search/label/Asterix

ஒலி நிரலியில் சுருதிப்பெட்டி

Sunday, March 21, 2010

என் மகளுடைய பள்ளி அறிவியல் முகாமில் ஒலியை அடிப்படையாக வைத்து ஏதாவது செய்யலாம் என்று ஆராய்ந்துகொண்டிருக்கிறேன். அதற்கு சி-சௌன்’ட் (CSound) என்ற ஒலி நிரல் மொழியை பயன்படுத்த முயற்சித்துக் கொண்டிருக்கிறேன். நான் பட்டயப்படிப்பு படித்த காலத்தில் மின்னணுவியல் கொசு விரட்டி செய்துபார்த்து இருக்கிறேன். மிகு அதிர்வு ஒலி உண்டாக்கினால் கொசுக்கள் அண்டாது என்ற நம்பிக்கையில் இந்த விரட்டிகள் வடிவமைக்கப் படுகின்றன. அது சரியா தவறா? எத்தனை மிகு அதிர்வலை வரை நமக்கு கேட்கிறது போன்றவற்றை ஆய்வு செய்ய உத்தேசித்திருக்கிறோம்.

தேவையான விடயங்களை சேகரித்த பொழுது இந்த சுருதிப்பெட்டி கண்ணில் பட்டது. இங்கே உங்கள் பார்வைக்காக.

இந்த சுருதிப்பெட்டியை செயல்படுத்த நீங்கள் சி-சௌன்’ட் சொவ்வறையை (http://www.csounds.com/downloads) தரவிறக்கிக் கொள்ள வேண்டும்.

இந்த நிரலிக்கு கீழ்க்கண்ட கட்டளைகள் (அ. நிரல்) அடங்கிய கோப்பைக் கொடுத்தால் படத்தில் உள்ளதுபோல இடைமுகப்பை உருவாக்கும். முகப்பில் உங்களுக்கு தேவையானபடி எண்களை பொருத்தி பயன்படுத்திக்கொள்ளலாம். மேலதிக விபரங்களுக்கு சுட்டியைக்காண்க: http://mysterybear.net/article/8/drone-instrument-sruti-box. இந்த நிரல் இதே தளத்தில் SrutiDrone.csd.txt என்ற பெயரில் இணைக்கப் பட்டுள்ளது. நிரலின் வடிமைப்பை காண்பிக்க அதை அப்படியே இங்கே கொடுத்துள்ளேன்.

சி-சௌன்’டையும் இந்த நிரலையும் தரவிக்கிக்கொண்ட பின் நிரல் கோப்பின் பெயரை SrutiDrone.csd என்று மாற்றிக்கொள்ளவும். சி-சௌன்’டை நிருவிக் கொண்டபின் முனையத்தில் இருந்து இவ்வாறு இயக்கிக்கொள்ளலாம்:
c:>csound StrutiDrone.csd

இந்த நிரல் மொழி பார்க்க கடினமாகத் தோன்றினாலும் ஒலி/இசையின் தன்மைகளை அறிந்தவர்கள் எளிதில் புரிந்து கொள்ளலாம். பல லட்சம் விலை ஆகும் சிந்த்தசைசரைவிட (synthesizer) அதிக திறம் வாய்ந்தது எனபதையும் அறிந்து கொள்ளலாம். கணினி விளையாட்டுக்கள் திரைப்படங்கள் ஆகியவற்றில் தனித்தன்மையான இசைக் கோர்வைக்கு சி-சௌன்’ட் பாவிக்கப்படுவதாக அறிகிறேன்.

சி-சௌன்’ட் உருவாக்கிய இசைகள் சில:
இசை 1


இசை 2


உதாரணமாக சிந்த்தசைசரில் கருநாடக இசையை உருவாக்குவது கடினம். குறிப்பாக கருநாடக இசையின் கமகம் (microtonal?, intonation?) என்னும் ஒரு சுரத்தில் இருந்து அடுத்த சுரத்திற்கு இழைந்து குழைந்து மாறும் வித்தை அதற்கு கைவராது.

ஆனால் சி-சௌன்’ட்-ஐ வைத்து சில ஆண்டுகளுக்கு முன்பு கணினியில் கருநாடக இசையை உருவாக்க கொஞ்சம் வேலை செய்தேன். (முன்பு அப்படியெல்லாம் விளையாட நேரம் இருந்தது) எனக்கு இசையில் பயிற்சி இல்லை என்றாலும் காயகா (http://carnatic2000.tripod.com/) என்ற கருநாடக இசை சொவ்வறைப் பற்றிய விளக்கங்களிலிருந்து, அவர்கள் உபயோகிக்கும் ச-ரி-க-ம-ப-த-நி குறியீட்டில் எழுதப்பட்ட இசைக் கோர்வையை சி-சௌன்’ட் மூலம் வீணை இசை வருமாறு செய்தேன். அந்த கணினி பழுதடைந்துவிட்டதால் முக்கியமான சில வேலைகள் அதில் முடங்கிப்போய்விட்டன. கொஞ்சம் நேரம் கிடைத்தால் மீண்டும் அந்த வேலையை முதலில் இருந்து ஆரம்பிக்க வேண்டும்.


சி-சௌன்’டில் முதலில் நமக்கு வேண்டிய இசைக்கருவி(களை) உள்ளடக்கிய குழுவை (orchestra) உருவாக்கிக் கொள்ளவேண்டும். பின்னர் அந்த குழுவுக்கு எந்த இசையை வாசிக்க வேண்டுமென்று அலை வரிசை எண்களாகப் பட்டியல் (score) தரவேண்டும். ஆனால் இப்படி எண்களின் பட்டியலாக தருவது சற்று கடினம்தான். அதற்கு பதிலாக, ஆங்கில சுரக் குறியீடுகளைக் கொண்டு இசையை குறித்துக்கொள்ள முடியுமானால் எளிதாக இருக்கும் இல்லையா? "abc" என்ற பெயரில் அத்தகையக் குறியீடு ஏற்கனவே செந்தரப்படுத்த பட்டுள்ளது. இது இசைப் பலகையில் உள்ள கட்டைகளுக்கு வழங்கும் C,D,E,F,G,A,B குறியீடுகளை வைத்தே இசைக் கோர்வையை எழுதிக்கொள்ளும் முறை.

அதன்படி, பைத்தான் நிரல் மொழி உதவியுடன் "abc" குறியீட்டிலிருந்து அலை எண்களாக மாற்றிக் கொண்டால் இசைக்கோர்வையை எழுதுவது எளிதாகும். மேலும் பல பாடல்கள் "abc" குறியீட்டில் முன்பே எழுதப்பட்டுள்ளன. நாம் விரும்பும் பாடலை விரும்பிய இசைக்கருவிகளில் மீட்கச் செய்து கேட்கலாம். அப்படி ஒரு "abc" பாடல் ஒன்றை (John Dowland's "Can She Excuse My Wrongs") சி-சௌன்’டின் கிடாரில் வாசிக்கப்பட்ட இசை இங்கே


;-------------------------------------------------------------------------
;
;   Drone Instrument/Sruti Box
;   by Dave Seidel (dave at mysterybear dot com)
;   http://mysterybear.net
;
;   Copyright 2005, Dave Seidel. Some rights reserved.
;   This work is licensed under a Creative Commons "Attribution" License.
;   http://creativecommons.org/licenses/by/2.0/
;
;-------------------------------------------------------------------------




;-+P ; for CsoundAV realtime
;-o devaudio ; for MyCsound4 & flcsound (csoundgbs) realtime. Adding a -b1000 flag to this line may help performance.
-o dac ; for Csound5




;-------------------------------------------------------------------------
; globals
;-------------------------------------------------------------------------

sr     = 44100
kr     = 441
ksmps  = 100
nchnls = 1

; basic offset value for Risset effect
giofs   init    .01

; zak channels
zakinit 16, 16

;-------------------------------------------------------------------------
; waveform tables
;-------------------------------------------------------------------------

giTblSz init    1048576

; pure sine wave
giFn1 ftgen   1, 0, giTblSz, 10, 1


; sawtooth wave � all partials (through 17) at a strength of 1/harmonic#
giFn2 ftgen   2, 0, giTblSz, 10, 1, .5, .3333, .25, .2, .1667, .1428, .125, .111, .1, .0909, .0833, .077, .0714, .0667, .0625, .0588

; first 13 partials, strength = 1/n + 1/(n-1)
giFn3 ftgen   3, 0, giTblSz, 10, 1, 1.5,  .8333, .58, .45, .367, .31, .268,  .236, .211, .1909, .1742, .1603


; square wave � odd partials (through 19) at a strength of 1/harmonic#
giFn4 ftgen   4, 0, giTblSz, 9,  1,1,0,  3,.3333,0, 5,.2,0,     7,.1428,0, 9,.111,0,  11,.0909,0,  13,.077,0,  15,.0667,0,  17,.0588,0,  19,.0526,0

; odd partials to 19, strength = 1/n, where n is ordinal to the odd set
giFn5 ftgen   5, 0, giTblSz, 9,  1,1,0,  3,.5,0,    5,.3333,0,  7,.25,0,   9,.2,0,    11,.1667,0,  13,.1429,0, 15,.125,0,   17,.1111,0,  19,.1,0


; prime partials to 23, strength = 1/n
giFn6 ftgen   6, 0, giTblSz, 9,  1,1,0,  2,.5,0,  3,.3333,0,  5,.2,0,    7,.143,0,  11,.0909,0,  13,.077,0,   17,.0588,0,  19,.0526,0, 23,.0435,0, 27,.037,0

; primes to 23, strength = 1/n, where n is ordinal to the prime set
giFn7 ftgen   7, 0, giTblSz, 9,  1,1,0,  2,.5,0,  3,.3333,0,  5,.25,0,   7,.20,0,   11,.1667,0,  13,.1429,0,  17,.125,0,   19,.1111,0, 23,.1,0,    27,.0909,0


; partials in the Fibonacci series to 89, strength = 1/n
giFn8 ftgen   8, 0, giTblSz, 9,  1,1,0,   2,.5,0,   3,.3333,0,  5,.2,0,   8,.125,0,  13,.0769,0,  21,.0476,0,  34,.0294,0,  55,.0182,0,  89,.0112,0 144,.0069,0

; fibs to 89, strength = 1/n, where n is ordinal to the fib set
giFn9 ftgen   9, 0, giTblSz, 9,  1,1,0,   2,.5,0,   3,.3333,0,  5,.25,0,  8,.2,0,    13,.1667,0,  21,.1429,0,  34,.125,0,   55,.1111,0,  89,.1,0,   144,.0909,0

;---------------------------------------------------------------------------
; orchestra macros
;---------------------------------------------------------------------------

; base pitch in specified octave above base
#define BOCT(O) #gkroot*(2^($O.))#

; for UI
#define XOFS    #50#
#define X(xx)   #($XOFS.+($xx.))#

#define YOFS    #0#
#define Y(yy)   #($YOFS.+($yy.))#

;-------------------------------------------------------------------------
; UI
;-------------------------------------------------------------------------

            FLpanel "Drone Instrument/Sruti Box (Dave Seidel, 1/2005)", 530, 420, 100, 100

; per-drone settings, in vertical columns by drone

gkd1,gi1        FLbutton        "1",    1, 0, 2,            40,  30,  $X.(35),  35, -1
gkd2,gi2        FLbutton        "2",    1, 0, 2,            40,  30, $X.(138),  35, -1
gkd3,gi3        FLbutton        "3",    1, 0, 2,            40,  30, $X.(241),  35, -1
gkd4,gi4        FLbutton        "4",    1, 0, 2,            40,  30, $X.(344),  35, -1

gknu1,i1a       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25,   $X.(6),  75, -1
                FLsetVal_i      1, i1a
gknu2,i2a       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(109),  75, -1
                FLsetVal_i      3, i2a
gknu3,i3a       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(212),  75, -1
                FLsetVal_i      2, i3a
gknu4,i4a       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(315),  75, -1
                FLsetVal_i      2, i4a

gkde1,i1b       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25,   $X.(6), 105, -1
                FLsetVal_i      1, i1b
gkde2,i2b       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(109), 105, -1
                FLsetVal_i      2, i2b
gkde3,i3b       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(212), 105, -1
                FLsetVal_i      1, i3b
gkde4,i4b       FLcount         " ",    1, 1500, 1, 10, 1,  98,  25, $X.(315), 105, -1
                FLsetVal_i      1, i4b

gkoc1,i1c       FLcount         " ",    -7, 7, 1, 1, 1,     98,  25,   $X.(6), 150, -1
                FLsetVal_i      1, i1c
gkoc2,i2c       FLcount         " ",    -7, 7, 1, 1, 1,     98,  25, $X.(109), 150, -1
                FLsetVal_i      1, i2c
gkoc3,i3c       FLcount         " ",    -7, 7, 1, 1, 1,     98,  25, $X.(212), 150, -1
                FLsetVal_i      1, i3c
gkoc4,i4c       FLcount         " ",    -7, 7, 1, 1, 1,     98,  25, $X.(315), 150, -1
                FLsetVal_i      1, i4c

gkx1,gi1a       FLbutton        " mute",       1, 0, 3,     40,  40,  $X.(35), 190, -1
gkx2,gi2b       FLbutton        " mute",       1, 0, 3,     40,  40, $X.(138), 190, -1
gkx3,gi3c       FLbutton        " mute",       1, 0, 3,     40,  40, $X.(241), 190, -1
gkx4,gi4d       FLbutton        " mute",       1, 0, 3,     40,  40, $X.(344), 190, -1

; global settings and controls

gkroot,iroot    FLcount         "Root (Hz)",  0.00, 440.00, .05, 5, 1,\
                                                            124,  30, $X.(145), 235, -1
                FLsetVal_i      60.00, iroot

il12            FLbox           "Waveforms", 1, 1, 14,      70,  25,  $X.(12), 295
gktbl,itbl      FLbutBank       1, 9, 1,                   300,  25,  $X.(90), 295, -1
                FLsetVal_i      0, itbl
                FLsetText       "0=Sine  1,2=Sawtooth  3,4=Square  5,6=Prime  7,8=Fibonacci", itbl

gkdall,giAll    FLbutton        "Play",   1, 0, 2,          60,  30,  $X.(30), 355, -1
gkdoff,giOff    FLbutton        "Stop",   1, 0, 2,          60,  30,  $X.(93), 355, -1
gkOfs,iR        FLbutton        "Harmonic arpeggio", 1, 0, 3,\
                                                           140,  30, $X.(170), 355, -1

        FLpanelEnd
        FLrun

;---------------------------------------------------------------------------------------
; drone scheduler (thanks to Art Hunkins)
;---------------------------------------------------------------------------------------

        instr   3

gkdoff1 trigger         gkdoff,         .5, 0
        schedkwhen      gkdoff1,        0,  0,  5, 0, 1
gkdall1 trigger         gkdall,         .5, 0
        schedkwhen      gkdall1,        0,  0,  6, 0, 1

DRONE1:
        if gkx1 == 1 kgoto DRONE2
kd1     trigger         gkd1,           .5, 0
        schedkwhen      kd1,            0,  0,  4.1, 0, -1, 1300, gktbl+1, 2, $BOCT.(gkoc1), gknu1, gkde1, giofs
kd1a    trigger         gkd1,           .5, 1
        schedkwhen      kd1a,           0,  0, -4.1, 0, 0

DRONE2:
        if gkx2 == 1 kgoto DRONE3
kd2     trigger         gkd2,           .5, 0
        schedkwhen      kd2,            0,  0,  4.2, 0, -1, 1300, gktbl+1, 3, $BOCT.(gkoc2), gknu2, gkde2, giofs
kd2a    trigger         gkd2,           .5, 1
        schedkwhen      kd2a,           0,  0, -4.2, 0, 0

DRONE3:
        if gkx3 == 1 kgoto DRONE4
kd3     trigger         gkd3,           .5, 0
        schedkwhen      kd3,            0,  0,  4.3, 0, -1, 1300, gktbl+1, 4, $BOCT.(gkoc3), gknu3, gkde3, giofs
kd3a    trigger         gkd3,           .5, 1
        schedkwhen      kd3a,           0,  0, -4.3, 0, 0

DRONE4:
        if gkx4 == 1 kgoto DONE
kd4     trigger         gkd4,           .5, 0
        schedkwhen      kd4,            0,  0,  4.4, 0, -1, 1300, gktbl+1, 5, $BOCT.(gkoc4), gknu4, gkde4, giofs
kd4a    trigger         gkd4,           .5, 1
        schedkwhen      kd4a,           0,  0, -4.4, 0, 0

DONE:
        endin


; turn off drone buttons when Stop button is pressed
        instr   5
        FLsetVal_i      0, giAll
        FLsetVal_i      0, gi1
        FLsetVal_i      0, gi2
        FLsetVal_i      0, gi3
        FLsetVal_i      0, gi4
        endin

; turn on drone buttons when All button is pressed
        instr   6
gkdoff1 =       0
gkd1    =       1
gkd2    =       1
gkd3    =       1
gkd4    =       1
        FLsetVal_i      0, giOff
        FLsetVal_i      1, gi1
        FLsetVal_i      1, gi2
        FLsetVal_i      1, gi3
        FLsetVal_i      1, gi4
        endin

;---------------------------------------------------------------------------
; Risset harmonic arpeggio instrument, adapted from:
; ACCCI:      02_43_1.ORC
; timbre:     tibetan chant
; synthesis:  additive same units(02)
;             basic instrument with minimal differences in frequency(43)
;             arpeggio instrument by Risset
; source:     Phase6, Lorrain(1980); Boulanger(1990): risset1.orc
; coded:      jpg 9/93
;---------------------------------------------------------------------------

                instr   4

idur    =       p3                              ; duration
iamp    =       p4/9                            ; amplitude
ifn     =       p5                              ; function table number (waveform)
izch    =       p6                              ; zak output channel
inum    =       p8
iden    =       p9
ifrac   =       inum/iden
ibase   =       p7
ifreq   =       ibase*ifrac                     ; pitch (base * (n/m))
                print   inum, iden, ifrac, ibase, ifreq

iflag   =       i(gkOfs)
                if iflag == 1 igoto USE_OFS
ioff    =       0
iamp2   =       .75                             ; scale down output if no offsets
                igoto   SET_OFS

USE_OFS:
iamp2   =       1
;ioff   =       p10                             ; same offset for all
;ioff   =       ifrac*p10                       ; proportional to interval
ioff    =       ((iden*2)/inum)*p10             ; inversely proportional to ratio
                print   ioff

SET_OFS:
ioff1   =       ioff                            ; oscillator offset for arpeggio
ioff2   =       2*ioff                          ; .
ioff3   =       3*ioff                          ; .
ioff4   =       4*ioff                          ; .

                if gkdoff1 == 0 goto skip
                turnoff
skip:
                FLsetVal_i      0, giOff
ae              linenr  iamp, 1, 3, .03          ; simple envelope

a1              oscil   ae, ifreq, ifn
a2              oscil   ae, ifreq+ioff1, ifn    ; nine oscillators with the same envelope
a3              oscil   ae, ifreq+ioff2, ifn    ; and waveform, but slightly different
a4              oscil   ae, ifreq+ioff3, ifn    ; frequencies, create harmonic arpeggio
a5              oscil   ae, ifreq+ioff4, ifn
a6              oscil   ae, ifreq-ioff1, ifn
a7              oscil   ae, ifreq-ioff2, ifn
a8              oscil   ae, ifreq-ioff3, ifn
a9              oscil   ae, ifreq-ioff4, ifn

zaw             (a1+a2+a3+a4+a5+a6+a7+a8+a9)*iamp2, izch

                endin

;---------------------------------------------------------------------------
; mixer (adapted from Mikelson, "Modelling a Multieffects Processor")
;   added 4 more channels and a simple reverb at the end
;---------------------------------------------------------------------------

        instr   3099

asig1   zar     p4
igl1    init    p5*p6
igr1    init    p5*(1-p6)

asig2   zar     p7
igl2    init    p8*p9
igr2    init    p8*(1-p9)

asig3   zar     p10
igl3    init    p11*p12
igr3    init    p11*(1-p12)

asig4   zar     p13
igl4    init    p14*p15
igr4    init    p14*(1-p15)

asig5   zar     p16
igl5    init    p17*p17
igr5    init    p17*(1-p18)

asig6   zar     p19
igl6    init    p20*p21
igr6    init    p20*(1-p21)

asig7   zar     p22
igl7    init    p23*p24
igr7    init    p23*(1-p24)

asig8   zar     p25
igl8    init    p26*p27
igr8    init    p26*(1-p27)

asigl   =       asig1*igl1 + asig2*igl2 + asig3*igl3 + asig4*igl4 + asig5*igl5 + asig6*igl6 + asig7*igl7 + asig8*igl8
asigr   =       asig1*igr1 + asig2*igr2 + asig3*igr3 + asig4*igr4 + asig5*igr5 + asig6*igr6 + asig7*igr7 + asig8*igr8

irvtime =       p28
irvfqc  =       p29
irvlev  =               p30
aoutl   nreverb asigl, irvtime, irvfqc
aoutr   nreverb asigr, irvtime, irvfqc

;       outs    asigl+(aoutl/irvlev), asigr+(aoutr/irvlev)
        out     asigl+(aoutl/irvlev) + asigr+(aoutr/irvlev)

                zacl    0, 16

        endin




;---------------------------------------------------------------------------
; score
;---------------------------------------------------------------------------

; mixer
;
;       channel 1: unused
;       channel 2-5: drones
;       channel 6-8: unused
;
;i 3099 0 3600 \
;  1 4   .5   \
;  2 1.5 .80  \
;  3 1.5 .20  \
;  4 1.5 .75  \
;  5 1.5 .40  \
;  6 0   .5   \
;  7 0   .5   \
;  8 0   .5   \
;  5 .3 6

i 3099 0 3600 \
  1 4   .5   \
  2 1.5 .5  \
  3 1.5 .5  \
  4 1.5 .5  \
  5 1.5 .5  \
  6 0   .5   \
  7 0   .5   \
  8 0   .5   \
  5 .3 6

i 3 0 3600
e





உசாத்துணைகள்:
சி-சௌன்’ட்
பாடங்கள்
சில உதாரணங்கள்
abc இசைக் குறியீடு
ABC-CSound பைத்தான் உதவியுடன் ABC to CSound
கணினியில் கருநாடக இசை

அம்மா என்றழைக்காத உயிர் இல்லையா?

Tuesday, March 16, 2010

கொஞ்சியது போதும் வா படிக்கலாம்.
ஒரு படத்தில் பூனை மற்றொன்றில் பறவை.
பூனை எங்கே காண்பி.
பிரமாதம்.
வீடு, கரடி, சிறுமி, வண்டி,....?
வெற்றி புன்னகைதான். சரி சரி இதோ கை தட்டுகிறேன்.

தலையைத் தொடு.
சரி.
மூக்கு?
என் மூக்கை இல்லை. உன் மூக்கு எங்கே?
கண், காது, பல், கால், வயிறு, முதுகு?
எல்லாமே சரி.
முடி?
கண்ணே, அக்காள் சடையை இழுக்காதே விடு.

செருப்பை எடுத்து வா.
இதை குப்பையில் போடு.
என் தங்கம் சொல்வதை எல்லாம் செய்கிறாயே.

பாட்டு பாடணுமா? சரி என்று சைகை செய்,அப்போதுதான் பாடுவேன்.
வண்டி சக்கரம் வட்டமிடும் வட்டமிடும் ...
...
வண்டியில் பாப்பா கத்துக் கத்தும் வே - வே - வே.
வே ஏஏஏஏஏ.
சரி சிரித்தது போதும், நிறுத்து. இதற்குத்தானே என்னைப் பாடச் சொன்னாய்.

இது கேட்கும் எழுத்துக்களைத் தொடு.
”Can you find the letter B? ... D, G ..”
”Can you find the shape Circle? ... Square, triangle ..”
”Can you find the number 9? ... 3, 7 ..”

எல்லாவற்றுக்கும் வெற்றி மணி அடிக்கிறதே. நான் தவறாக புரிந்துகொண்ட எழுத்துக்களைக்கூட நீ சரியாக கேட்டுக்கொண்டாயே.
”Can you find the letter L?”
க்ர்ர்ர்
சரி சரி சிங்கம் போல கர்ச்சித்தது போதும். அடுத்த எழுத்துக்குப் போகலாம்.

எங்கே சொல். அம்மா.
அப்பா.
..ம்கூம். ம்ம்ம்ம்ம் ஆஆஆஆ.
அப்பா.

அக்கா.
ங்கா.

முறைக்காதே அம்மா. இவன் எழுந்து நடப்பான் என்று நினைத்தோமா? இப்போது ஓடி விளையாடுகிறானே. மெதுவாக பேசட்டும் போதும்.

மின் சுரிப்பறனை - ஒரு நுட்பியல் அற்புதம்

Sunday, March 14, 2010

குறிப்பு நேரம் இல்லாதவர்கள் கடைசியில் இருக்கும் படத்தை மட்டும் பார்த்தால் போதும்.

நண்பரின் வீட்டில் கையடக்க சுரிப்பறனை (helicopter) ஒன்றை பார்த்ததிலிருந்து அதைப்பற்றி அறிந்துகொள்ளும் ஆர்வம் பற்றிக்கொண்டது.

அவர் வைத்திருந்தது, பெல்ஜியம் நாட்டு பொறியாளர் அலெக்ஸான்டர் வான் ட ரொஸ்டைன் வடிவமைத்த மாதிரி பிகூ-சி (Picoo-Z). இந்த வடிவமைப்பு 2006ல் உலகிலேயே சிறிய மாதிரி சுரிப்பறனை என்று கின்னஸில் புத்தகத்தில் இடம் பெற்றிருக்கிறது. 10 கிராம் எடை, 170mm (நுல்லி மாத்திரி) நீளம் கொண்ட பறனை, கட்டுக்கோல் என்று எல்லாவற்றிக்கும் சேர்த்து விலை 20 லிருந்து 40 வெள்ளி (US$)வரை.



இந்த மாதிரியில் சில அசௌகரியங்கள் இருந்தன. மின்கலம் தீர்ந்து போனால் மீண்டும் நிரப்பிக்கொள்ள 10 - 15 நிமிடங்கள் வரை ஆயிற்று. மற்றும் தொலைக்கட்டு இரண்டு அலைவரிசைகள் மட்டுமே கொண்டதால், ஊர்தியின் நகர்வை முழுமையாக கட்டுப்படுத்த இயலாது. ஒரு அலை வரிசையில் மேல்கீழாக செலுத்தும் கட்டளைகளும், மற்றொன்றில் இடவலமாக திருப்பும் கட்டளைகளையும் மட்டுமே அனுப்ப முடியும். முன் பின்னாக போக வைக்க முடியாது. அதற்கான மோதுஅலை உண்டாக்கும் பாகங்களும் (swashplate assembly) பறனையில் இல்லை.

எனவே வேறு நல்ல மாதிரிகள் உள்ளனவா என்று தேடினேன். பல நிறுவனங்கள் நூற்றுக் கணக்கான மாதிரிகளை விற்பனைக்கு வைத்துள்ளதைக் கண்டேன். நீண்ட ஆராய்ச்சிக்குப் பிறகு, அலென் என்ற தைவான் நிறுவனத்தின் டி-ரெக்ஸ் 250 (T-Rex 250) மாதிரிதான் ஆகச் சிறந்ததாக பட்டது. இதுபோன்ற முப்பரிமான வகைகள் தலைகீழாகக்கூட பறக்கும். இணைய குழுமங்களில் எல்லோரும் எதை எடுத்தாலும், இந்த நிறுவனத்தின் மாதிரிகளோடு ஒப்பிட்டு பார்க்கிறார்கள். முப்பரிமான மாதிரிகளைக் கட்டுப்படுத்த மற்ற எளிய மாதிரிகளைப் சில ஆண்டுகள் பயன்படுத்திய முன் அனுபவம் வேண்டும் என்பதை நான் நம்பவில்லை. அது என் பெரும் தவறு.

டி-ரெக்ஸ் வெறும் உதிரி பாகங்களாகத்தான் கிடைக்கிறது. ஒரு பறனைக்கு வேண்டிய பாகங்களுக்கு விலை US$299.99 மட்டும். இதில் மின்னணுவியல் பாகங்கள் சேர்த்தி இல்லை. அதற்கு மேலும் 150 வெள்ளி ஆகலாம். ரேடியோ அலைபரப்பி (radio transmitter)க்கு மேலும் நூற்றுக்கணக்கான வெள்ளிகள். திருப்புளி, இதர உபகரணங்கள் தனி.



நாமேதான் பாகங்களை இணைத்துக் கொள்ள வேண்டும். பொருத்தமான மின்னோடி (motor), நகர்த்திகள் (servos), வானலை ஏற்பிடம் (radio receiver), மின்கலம் ஆகியவற்றை தேடி வாங்கிக் கொள்ள வேண்டும். எல்லாவற்றையும் படித்து விட்டு இது நமக்கு கட்டுபடியாகாது என்று ஒதுங்கிக்கொண்டேன். சில முக்கியமான பாகங்களைக் கீழே காண்க.






அலை பரப்பி - பொருத்தான்களின் நகர்வுக்கேற்றபடி சமிக்சைகளை அனுப்புகிறது
அலை ஏற்பி - சமிக்சைகளை வாங்கி தன்னோடு இணைந்துள்ள நகர்த்திகளையும் மின்னோடியையும் கட்டுப்படுத்துகிறது
நகர்த்திகள் - மோதுஅலை தட்டோடு இணைக்கப்படுகின்றன
மின்னோடியும், மின்னணு வேகக் கட்டுப்பாட்டகமும்
மோதுஅலை தட்டு


இவ்வளவு சிரமப்பட்டு செய்துவிட்டு செலுத்தத் தெரியாமல் மோதி நொறுங்கிவிட்டால் காசுக்கும் நேரத்திற்கும் கேடல்லவா? இடையில், குறைந்த செலவில் நுரைஅட்டைகளில் நாமே பறனை செய்து கொள்ள உதவி செய்யும் இணைய தளங்களைப் பார்த்து ஆசைத் துளிர்விட மேலும் கொஞ்சம் ஆராய்ச்சியைத் தொடர்ந்தேன். இந்தப் பறனைகளை செய்ய பட்டம் செய்வதை விடக் கொஞ்சம் அதிகம் மெனக்கெட வேண்டியிருக்கிறது. அதிகப்படியாக மின்னணு சாதனங்கள் பொருத்த வேண்டும் அவ்வளவே. உதாரணத்திற்கு கீழே உள்ள படத்தைப் பாருங்கள்.



ஆனால், விமானங்களுக்கு பறக்க பெரிய வெட்டவெளி வேண்டும். (எங்கள் ஊரில் இதற்கென்றே இரண்டு ஓடுதளங்கள் இருக்கின்றன) மேலும் சரியாக செலுத்த பழகவேண்டும். இல்லை என்றால் நம்மை விட்டு எங்கோ கண்காணாமல் போய்விடும் வாய்ப்பு உள்ளது. குழந்தைகளைக் கூட்டிக்கொண்டு காடுமேடெல்லாம் போகவும் முடியாது. எனவே அந்தத் திட்டமும் கைவிடப்பட்டது. வீட்டிற்குள்ளேயே கற்றுக்கொள்ள வேண்டுமானால் சுரிப்பறனைதான் சரி என்று தீர்மானம் ஆகியது.

அப்போதுதான் முப்பரிமான மாதிரி ஒன்று பறக்க தயார் நிலையில் கட்டுக்கோலுடன் விலை US$ 170க்கு என்ற விளம்பரத்தைப் பிரபலமான ஒரு இணைய தளத்தில் பார்த்ததும் அவக்கர கதியில் வாங்க ஆணை அனுப்பிவிட்டேன். அது ஒரு குப்பை என்று அடுத்த நாள்தான் தெரிந்தது. அந்த நிறுவனம், கொடுத்த ஆணையைத் திரும்பப் பெற அனேக கட்டுப்பாடுகளை வைத்திருந்தது. வேலைப் பழுவில், அதை திரும்பப் பெற இயலவில்லை.

சுரிப்பறனை எதிர்பார்த்ததைப் போலவே தரக்குறைவாக செய்யப்பட்டிருந்தது. நான் நினைத்ததை விட பெரிய அளவு. ஒரு அடி நீளம் இருந்தது. வீட்டிற்குள்ளே ஓட்ட முடியாது. என்ன குறை சொல்லி திருப்பித் அனுப்பலாம் என்று பார்த்துக் கொண்டிருந்தேன். வார இறுதிநாள் ஒன்றில் சகல முன்னேற்பாடுகளுடன் வெறுமனே சோதிக்க ஆரம்பித்தேன். பறனை எழும்பிவிடாமல் இருக்க தரையோடு சேர்த்து பற்றுக்குறடு இன்னும் சிலவற்றை பாரமாக அதன் கால்பகுதியில் வைத்து அழுத்தி பிடித்துக்கொண்டேன். முதலில் மின்கலத்தை இணைத்தேன். கட்டுக்கோலில் ஒரு குச்சியை நகர்த்த, மோது அலைத்தட்டு அதே திசையில் சரியாக நகர்ந்தது.

சுரிப்பறனை என்பது அடிப்படையில் காற்றாடி பொருத்தப்பட்ட கல் போன்றதுதான். கல்லைப் பறக்கச் செய்யும் சூட்சுமங்கள் யாவும் காற்றாடியின் தகடுகள் சுற்றும்போது அவற்றின் பரிமானத்தை திருகுவதில் உள்ளன. கீழே உள்ள படம் மோதுதட்டு அதற்கு எவ்வாறு உதவுகிறது என்பதைக் காட்டுகிறது.



என் மகனும் அருகில் இருந்து பார்த்துக்கொண்டிருந்தான். காரிக்கிழமையில் மனையாளும், மகளும் வழக்கம்போல வகுப்பிற்கு சென்றிருந்தார்கள். என் மகன் இமைப்பொழுதில் மற்றொரு குச்சியை தட்டிவிட, பறனையின் மின்னோடி அசுரவேகத்தில் சுழலத் தொடங்கியது. என்ன ஏதென்று எத்தனிப்பதற்குள் என் இடக்கையில் பலத்த அடி. இறக்கைகள் உடைந்து தூரேபோய் விழுந்தன. கையில் நல்ல சிறாய்பு, இரண்டு விரல்களில் நகக்கண்கள் கொஞ்சம் பெயர்ந்துபோய் இருந்தது. அதிட்டவசமாக என் மகனுக்கு ஒன்றும் ஆகவில்லை.

அப்படியும் என் முயற்சியில் சற்றும் தளரவில்லை. வீட்டிற்குள்ளே உபயோகிக்கும்படி எது சரியான மாதிரி என்று ஆராய்ந்து நான் அறிந்தது இ-ஃபிளைட் நிறுவனத்தின் Blade mCX (micro co-axial என்பதின் சுருக்கம்). இந்த மாதிரியை ஒரு நுட்பியல் அற்புதம் எனலாம். பறக்க தயார் நிலையில், கட்டுக்கோலுடன் US$120 க்கு கிடைக்கிறது. உதிரி பாகங்கள் உள்ளூர்க் கடைகளிலேயே தாராளமாகக் கிடைக்கின்றன. ஆரம்பகாலப் பயிற்சியாளர்களுக்கு மிகவும் பொருத்தமான மாதிரி. கட்டுக்கோல் நான்கு அலைவரிசைகளைக் கொண்டிருக்கிறது. மேல்/கீழ், இட/வல திருப்பம், முன்/பின், இட/வல சாய்மானம் என்று நான்கு தளங்களில் கட்டுப்படுத்தலாம். கட்டுப்பாட்டை விட்டு கைகளை எடுத்துவிட்டால் நின்ற இடத்திலேயே பறக்கும். மின்கலங்களுக்கு தனி நிரப்பி இருக்கிறது. 5 மின்னணுவியல் பகுதிகள் மற்றும் நகர்த்திகளை ஒன்றாக சேர்த்ததால் பாகங்களின் எண்ணிக்கை மிகக்குறைவு. நாமே எளிதாக செப்பனிட்டுக் கொள்ளலாம். தேவையான ஒரே ஒரு திருப்புளியும் சேர்த்தே தருகிறார்கள்.



ஆனாலும் மீண்டும் பணத்தை விரயமாக்காமல், இம்முறை குழுமத்தில் பயன்படுத்திய சுரிப்பறனையை குறைந்த விலையில் (அஞ்சல் செலவு, கூடுதலாக இரண்டு மின்கலங்களும் சேர்ந்து US$68) வாங்கினேன்.

இந்த மாதிரியில் ஒரே குறை ஒரு பாகம் (inner shaft - $6.00) மட்டும் எளிதாக உடைந்து போகிறது. இரண்டுமுறை மாற்றி விட்டேன். அதை பலப்படுத்த பார்த்துக் கொண்டிண்டிருக்கிறேன். எங்கேயும் மோதாமல் ஓட்டிப் பழகிக் கொள்ள வேண்டும்.

இது நீங்களோ உங்கள் குழந்தைகளோ தொலைக்காட்சிக்கு நேரம் செலவழிப்பதை கணிசமாகக் குறைக்கும் என்று உறுதி கூறுவேன். வரும் கோடை விடுமுறையில் உங்கள் பிள்ளைகளுக்கு அறிவுப்பூர்வமான பொழுதுபோக்காக அமையலாம். E-Flite வேறு புது சுரிப்பறனை மாதிரிகளை (mSR) அறிமுகப்படுத்தி உள்ளது. எனக்கு அதைப்பற்றி நேரடி அனுபவம் இல்லை. ஆனால் நான் கேள்விப்பட்ட வரையில் அது முதல்முறையாக பயில்பவர்களுக்கு ஏற்றதல்ல என்று அறிகிறேன்.



உசாத்துணைகள்:

நுரை அட்டை மாதிரிகள்: Foamies (Scratchbuilt)

விற்பனைக்கு: Aircraft - Electric - Helis (FS/W)

மின் பறனைகள் பற்றிய இணையக் குழுமம்: http://www.rcgroups.com/forums/index.php

புதிய Blade mCX கிடைக்கும் இடம்: http://www.horizonhobby.com/

மறுத்தல்:
எனக்கும் இங்கே குறிப்பிட்டுள்ள நிறுவனங்களுக்கும் எந்த தொடர்பும் இல்லை.

சங்கத்தைக் கலைச்சுட்டாங்களா?

Saturday, March 13, 2010

வருத்தப்படாத வாலிபர் சங்கம் என்ன ஆச்சு, யாருக்காவது தெரியுமா? பல ஆண்டுகளுக்கு முன் என் பதிவில் கொடுத்திருந்த இணைப்பில் புது இடத்திற்கு www.vvsangam.com போய்விட்டதாக அறிவிப்பு இருக்கிறது. அந்த இணைப்போ போங்கப்பா (godaddy.com) கடைக்கு போகிறது.

பதில் இடுகை; ஆரஞ்சுப் பழத்தோல் வத்தக்குழம்பு



பித்தனின் வாக்கு பதிவில் படித்த ஆரஞ்சுப் பழத்தோல் வத்தக்குழம்பும், பச்சடியும் சமையல் குறிப்பின் அடிப்படையில் தங்கமணி செய்த புளிக்குழம்பு.

சாப்பிட நன்றாக இருந்தது.

கோழி குருமா; ஆந்திரா முறையில்




அண்மை காலங்களில் காரிக்கிழமையானால் வீட்டில் என் சமையல்தான். தங்கமணி அன்றைக்கு மட்டும் குமான் வகுப்பில் தாள் திருத்தும் வேலைக்கு போகிறாள். மகளும் அங்கே படிக்கப் போய்விடுவாள்.

பல மாதங்கள் இடைவிடாது அலுவல் வேலை செய்த அயற்சிக்கு மாறாக ஒரு நாள் சமையல் செய்ய ஆரம்பித்தேன். அது வழமையாகிவிட்டது.

மீன் என்றால் எனக்கு சாப்பாடு வேண்டாம் என்று சொன்ன மகள், அடுத்து எப்போது மீன் குழம்பு வைப்பாய் என்றும், தங்கமணி எனக்கு முட்டை பிரியாணி செய்து கொடு என்றும் படுத்த ஆரம்பித்துவிட்டார்கள்.

பட்டறிவு இல்லாத காரணத்தால், இணையத்தில் உள்ள சமையல்குறிப்புகளில் எவற்றிற்கு, "செய்து பார்த்தேன் நன்றாக இருந்தது" என்று பின்னூட்டங்கள் வந்த பதார்த்தங்களை மட்டும் செய்கிறேன்.

இன்று செய்தது ஆந்திரா வகை கோழி குருமா

தேவையானவை


கோழிக்கறி         - 1 கிலோ
பெரிய வெங்காயம் - 2
பச்சை மிளகாய் - 5
தக்காளி - 4
எண்ணெய் - 3 மேசைக்கரண்டி
உப்பு தேவையான அளவு
மஞ்சள் தூள் - 1/2 தேக்கரண்டி
மிளகாய்த்தூள் - 1 தேக்கரண்டி
கருவேப்பிலை சிறிதளவு


அரைக்க


துருவின தேங்காய் - 1/2 கிண்ணம்
இஞ்சி - 1 அங்குலம்
பூண்டு - 7 பல்
பட்டை - 1 அங்குலம் இரண்டு துண்டுகள்
கிராம்பு - 6
ஏலக்காய் - 2
கசகசா - 1 தேக்கரண்டி
கொத்தமல்லித்தூள் - 1 தேக்கரண்டி
முந்திரி - 12

செய்முறை



  1. முந்திரி பருப்பையும் கசகசாவையும் சுடுநீரில் 10 நிமிடம் ஊற வைத்தபின் மேலே உள்ள பொருட்களுடன் கொஞ்சம் தண்ணீர் சேர்த்து அரைத்து தனியாக எடுத்து வைக்கவும்.

  2. வெங்காயத்தை பொடியாக நறுக்கவும், பச்சை மிளகாய்களை சிறு துண்டுகளாக வெட்டி வைக்கவும்.

  3. தக்காளிகளை சிறிதாக வெட்டவும்.


  4. கோழிக்கறியை நடு அளவில் வெட்டி நன்றாக கழுவி தனியே வைக்கவும்.


  5. பாத்திரத்தில எண்ணெயை சூடாக்கி, வெங்காயம், பச்சை மிளகாயைப் போட்டு பொன் நிறமாக வதக்கவும். பின் தக்காளி, கருவேப்பிலையையும் போட்டு குழையும் வரை வதக்கவும். பின்னர் கறியைப் போட்டு, மிளகாய் பொடி, மஞ்சள் தூள், உப்பு சேர்த்து மிதமான தீயில் 15 நிமிடங்கள் வேகவிடவும். (தண்ணீர் சேர்க்க வேண்டாம்)


  6. பின் அரைத்த விழுதை ஊற்றி ஒரு கிண்ணம் நீர் சேர்த்து நன்கு கலக்கிவிட்டு கறி மிருதுவாகும்வரை வேக வைக்கவும். இதற்கு மேலும் 15 - 20 நிமிடங்களாகும். தீயை ஏற்றி வைத்து நடுநடுவே கிளறிவிட்டு கெட்டியான பதத்தில் இறக்கவும்.

  7. அடுப்பை அணைத்துவிட்டு கறியில் மல்லித்தளை தூவி பரிமாறவும்.

ஜாக்ஸன்வில் பதிவர் பயிலரங்கம்

Friday, March 12, 2010

வெற்றிகரமான மெல்போர்ன் மற்றும் நைஜீரிய பதிவர் சந்திப்புகளைத் தொடர்ந்து மேலும் புதிய பதிவர்களை உருவாக்கும் முகமாக அடுத்து ஜாக்ஸன்வில்லில் பதிவர் பயிலரங்கம் நடைபெற்றுக் கொண்டிருக்கிறது.

@11:30PM

பானங்கள்




மகேஷின் புதுமொழி:
காற்றுள்ள போதே தூற்றிக்கொள்;
பீர் உள்ள போதே ஊற்றிக்கொள்.



பயிற்சி




கிருஷ்ணா வெங்கட்ராமா (கோடுபோட்ட கருப்பு சட்டைக்காரர்): என் படைப்புகள் யூத்ஃபுல் விகடனில் வந்திருக்கின்றன. கிழிந்த பனியன்...

எந்த தங்கமணியாவது ஊருக்குப் போய் இருந்தால், வார இறுதியில் மக்கள் அந்த வீட்டை முற்றுகை இடுகிறார்கள். ரங்கமணிதான் பாவம்.



@01:15 AM
வகுப்பு இனிதே முடிந்தது.

பாக்களில் சீர் பிரித்துச் சொல்லும் நிரலி

Tuesday, March 09, 2010

இந்த நிரலி பாக்களில் சீர் பிரித்து தருகிறது. இப்போதைக்கு பாக்களை நிரலியின் உள்ளேயே இணைக்க வேண்டியுள்ளது. சிறு மாற்றம் செய்து கோப்புகளில் உள்ள பாக்களை படிக்குமாறு அமைத்துக் கொள்ளலாம்.

செயல்படும் விதம் சுருக்கமாக:
asaiCount சொற்களை பிரித்து எழுத்து வகைகளை எண் வடிவமாக்கிக் கொள்கிறது. குறிலுக்கு 1, நெடிலுக்கு 2 மற்றும் ஒற்றுக்கு 0 என்று எண் வடிவம் கொடுக்கிறது. அதன் பின் அசை, சீர், வாய்பாடுகளை கணித்துக் கொள்ள எளிதாக இருக்கிறது.

உ.ம்:
அகர           =     111 : நிரை நேர்  - புளிமா
முதல         =     111 : நிரை நேர்  - புளிமா
எழுத்தெல்லாம் = 1101020 : நிரை நேர் நேர்  - புளிமாங்காய்
ஆதி           =      21 : நேர் நேர்  - தேமா
பகவன்        =    1110 : நிரை நேர்  - புளிமா
முதற்றே      =    1102 : நிரை நேர்  - புளிமா
உலகு         =     111 : நிரை நேர்  - புளிமா


அடுத்த முயற்சியாக இந்த நிரலியை, பாக்களில் தளை தட்டும் இடங்களை சுட்டிக்காட்டும்படி மேம்படுத்திக் கொள்ளலாம் என்று இருக்கிறேன்.

# coding: utf-8
import sys
uyir = ("அ", "ஆ", "இ", "ஈ", "உ", "ஊ", "எ", "ஏ", "ஐ", "ஒ", "ஓ", "ஔ")
uyirKuril = ("அ", "இ", "உ", "எ", "ஒ")
uyirNedil = ("ஆ", "ஈ", "ஊ", "ஏ", "ஐ", "ஓ", "ஔ")
aytha = ["ஃ"]

mey = ("க", "ங", "ச", "ஞ", "ட", "ண", "த", "ந", "ப", "ம", "ய", "ர", "ல", "வ", "ழ", "ள", "ற", "ன")
#          கா           கி            கீ            கு            கூ           கெ           கே          கை          கொ          கோ          கௌ          ஃ
thunai = ['\u0bbe', '\u0bbf', '\u0bc0', '\u0bc1', '\u0bc2', '\u0bc6', '\u0bc7', '\u0bc8', '\u0bca', '\u0bcb', '\u0bcc', '\u0bcd']
# குறில்    கி           கு            கெ           கொ       
kuril = ('\u0bbf', '\u0bc1', '\u0bc6', '\u0bca')
# நெடில்     கா          கீ            கூ           கே          கை           கோ          கௌ     
nedil = ('\u0bbe', '\u0bc0', '\u0bc2', '\u0bc7', '\u0bc8', '\u0bcb', '\u0bcc')

seyul = """அகர முதல எழுத்தெல்லாம் ஆதி 
பகவன் முதற்றே உலகு"""
seyul = """
இனிய உளவாக இன்னாத கூறல்
கனிஇருப்பக் காய்கவர்ந் தற்று"""

def getVaypaadu(seer):
  vaypaadu = ""
  seer = seer.strip()
  if (seer == "நேர் நேர்") :
    vaypaadu = "தேமா"
  elif (seer == "நிரை நேர்") :
    vaypaadu = "புளிமா"
  elif (seer == "நேர் நிரை") :
    vaypaadu = "கூவிளம்"
  elif (seer == "நிரை நிரை") :
    vaypaadu = "கருவிளம்"
  if (seer == "நேர் நேர் நேர்") :
    vaypaadu = "தேமாங்காய்"
  elif (seer == "நிரை நேர் நேர்") :
    vaypaadu = "புளிமாங்காய்"
  elif (seer == "நேர் நிரை நேர்") :
    vaypaadu = "கூவிளங்காய்"
  elif (seer == "நிரை நிரை நேர்") :
    vaypaadu = "கருவிளங்காய்"
  if (seer == "நேர் நேர் நிரை") :
    vaypaadu = "தேமாங்கனி"
  elif (seer == "நிரை நேர் நிரை") :
    vaypaadu = "புளிமாங்கனி"
  elif (seer == "நேர் நிரை நிரை") :
    vaypaadu = "கூவிளங்கனி"
  elif (seer == "நிரை நிரை நிரை") :
    vaypaadu = "கருவிளங்கனி"
  return vaypaadu

def getAsaiType(asai):
  if (asai[:2] == "11") :
    return ("நிரை ")
  else :
    return ("நேர் ")

def getSeerType(seerCount):
  asaiTypes = ""
  mathirai = (str(seerCount))
  asai = ""
  count = 0
  for m in mathirai:
    count = count + 1
    if m == "0" :
      asai = asai + m
    elif asai[:1] == "2" :
      asaiTypes = asaiTypes + getAsaiType(asai)
      count = 1
      asai = m
    elif count > 2 :
      asaiTypes = asaiTypes + getAsaiType(asai)
      asai = m
      count = 1
    else :
      asai = asai + m
      asaiTypes = asaiTypes + getAsaiType(asai)
    return asaiTypes

def getAsaiCount(seer) :
  asaiCount = 0
  prev = ""
  for eluthu in seer :
    if eluthu in uyir :
#            sys.stdout.write(eluthu + "\n")
      prev = ""
    if (eluthu in uyirKuril) :
      asaiCount = asaiCount * 10 + 1
    elif (eluthu in uyirNedil) :
      asaiCount = asaiCount * 10 + 2

    if eluthu in (thunai) :
      prev = prev + eluthu
#            sys.stdout.write(prev + "\n")
      prev = ""
    if (eluthu in nedil) :
      asaiCount = asaiCount + 1
    elif (eluthu == '\u0bcd') :
      asaiCount = asaiCount - 1

    if eluthu in mey :
      asaiCount = asaiCount * 10 + 1
    if not prev :
      prev = eluthu
      continue
    else :
#                sys.stdout.write(prev + "\n")
      prev = eluthu
#    if prev != "" :
#        sys.stdout.write(prev + "\n")
    return asaiCount

for seer in seyul.split() :
  sys.stdout.write(seer + " = ")
  asaiCount = getAsaiCount(seer)
  seerType = getSeerType(asaiCount)
  print(seerType + " - " + getVaypaadu(seerType))

இறுதி தேர்வு; ஒரு விளையாட்டு

Monday, March 08, 2010

நாளையிலிருந்து என் மகளுக்கு ஐந்தாம் வகுப்பு இறுதித் தேர்வுகள் ஆரம்பம் ஆகின்றன. Florida Comprehensive Assessment Test (FCAT) என்று பெயர். இறுதி தேர்வுதான் என்றாலும், தேர்வுகள் முடிந்த பின்னும் பள்ளிக்கூடம் மேலும் சில மாதங்கள் நடக்கும். பொதுவில் இங்கே மாணவர்களுக்கு தேர்வுகள் என்பது பெரிய மன அழுத்தம் கொடுக்க கூடிய விடயம் அல்ல. படிப்பதே தேர்வு எழுதத்தான் என்பது போன்ற பாடத் திட்டங்கள் இல்லாதது போக, ஆசிரியர்களின் அணுகுமுறையும் அதற்கு ஒரு காரணம் எனலாம். இன்று பள்ளியிலிருந்து திரும்பிய என் மகளின் ஒரு கன்னத்தில் ராக்கெட் படமும் மற்றொன்றில் "FCAT Blast!" என்றும் வரைந்து இருந்தது.

மேற்படிப்பிற்கு ஆயத்தப் படுத்திக் கொள்வது என்பதே முகன்மையான நோக்கமாக இருக்கும் போது, தேர்வுகளை இவர்களால் விளையாட்டாக எடுத்துக் கொள்ள முடிகிறது போலும்.

நான் இரண்டு ஆண்டுகள் விடுப்பே எடுத்துக் கொள்ளாமல் வார இறுதி நாட்களும் சேர்த்து இரவு பகல் பாராமல் வேலை செய்து வந்த நிலை இப்போதுதான் மாறி, விடுமுறை எடுத்துக்கொள்ள (அல்லது நிறுவனம் கொடுக்க) வேண்டிய கட்டாயம் ஏற்பட்டது. குழந்தைகளுக்கும் பயன்படும் என்று இப்போது எடுத்துக் கொண்டேன்.

கணக்கு பாடத்திற்கு மாதிரி வினாக்களுக்கு தேடிய போது இந்த தளம் கிடைத்தது. மழலையர் பள்ளியிலிருந்து ஆறாம் வகுப்பு வரை படிக்கும் மாணவர்களுக்கு உதவும் வண்ணம் சிறப்பாக வடிவமைத்துள்ளார்கள். உங்களுக்கும் பயன்படலாம்.
[math.png]


கணினியில் வரைந்த - ’பாப் ராஸ் சித்திரங்கள்





’பாப் ராஸ் (Bob Ross) அரை மணி நேரத்தில் அற்புதமான இயற்கை காட்சிகளை வரைந்து காண்பிப்பவர். PBS- தொலைக்காட்சியில் முன்பு அடிக்கடி ஒளிபரப்புவார்கள். இப்போது காலமாகிவிட்டார்.





என் மனைவி அவருடைய புத்தகங்களை படித்து இரண்டு சித்திரங்கள் வரைந்திருக்கிறாள். தமிழ் தொலைக்காட்சிகள், இணைப்பு வைத்துக் கொள்ளாவிட்டாலும், இணைய தளங்களின் வழியாக நுழைந்துவிட்டதால் இதற்கெல்லாம் தற்போது நேரம்இல்லை.


யூ ட்யூபில் அவருடைய பாணியில் கிம்ப் (Gimp) நிரலியைக் கொண்டு சிலர் வரைந்து காண்பித்துள்ளார்கள். எண்ணை வண்ணங்கள், தூரிகைகள், இதர உபகரணங்களுக்கு செலவழிக்க வேண்டியதில்லை. மீண்டும் வரையத் தூண்டவேண்டும்.





கூடவே ஒரு இடைச்செருகல். அம்மா முன்பெல்லாம் குறுக்கு தையல் பூவேலை செய்வார்களே என்று, ஊருக்குப் போனபோது வண்ண நூல்கள் வாங்கிக் கொடுத்தேன். ஆனால் அண்ணி, சித்தி கொடுமைகளால் பல ஆண்டுகள் அவை மூலையிலேயே கிடந்தன. மறுபடி ஊருக்கு போய் வந்த போது அவற்றை எடுத்து வந்து அந்த வேலையை நானே செய்து முடித்தேன்.