个人资料
  • 今日访问:7
  • 总访问量:70431
  • 开博时间:2007-05-05
  • 博客排名:第23239位
博文分类
最近访客
博客成员
友情博客
关注更新
你关注的用户没有更新博文!
博客门铃
博文

购书单2010-01

  我想起以前买书,都是这样买的:比如今天天气很好,那就顺便逛逛书店吧;或者说今天心情多好啊,一查卡还发现奖学金也发下来了,那正好就可以买书庆祝一下;要不就是心情抑郁了,就买本书缓解一下。
  把截止10年01月的购书单清理一下,因为总是会忘记自己买过什么书。
  
废名: 桥桃园
奈保尔: 奈保尔家书
库切: 男孩
库切: 慢人
库切: 青春
库切: 青春-英文原版打印本
王国维: 人间词话 手稿本全编
沈复: 浮生六记(外三种)
王安忆: 长恨歌(新)
卞太: 花香的尘世
莱•柯拉斯科夫斯基: 关于来洛尼亚王国的十三个童话
于尔克•舒比格: 当世界年纪还小的时候
景宋, 鲁迅: 两地书
阎连科: 我与父辈
菲利普•贝松: 十月的孩子
叶芝: 凯尔特的薄暮
普希金作品选
王小波文集 共10册
本哈德•施林克: 回归
雷平阳: 像袋鼠一样奔跑
  
分类:书籍 | 评论:0 | 浏览:276 | 收藏 | 查看全文>>

有问题就解决问题之 贴一段FFT模块代码

  
不少同学加我QQ问我关于TI的FFT的使用方法,因为他们总会碰上各种各样的问题——我也不知道为什么实际使用会有这么多问题,有时我也答不上来其中缘由——至少对我来说,我当时还用得挺顺利的,没有这么多问题啊。
   因此这里我将我在实验项目中写过的FFT模块代码贴上来,与大家一起分享一起学习。其实这段代码并没有什么深度或难解的地方,就是不断地调用TI写好的函数而已。这里没有用到Acquisition Modules也没有用到加窗,因此相关代码都注释了。
  
  
  //File name: FFT_module.c
  //Programmed by Sun Zy @ XJTU on 2009-12-03
  
  #include "stb.h"
  #include "fft.h"
  #include "MyInclude.h"
  
  #define N 2048
  #pragma DATA_SECTION(ipcb, "FFTipcb");
  #pragma DATA_SECTION(mag, "FFTmag");
  
  RFFT32 fft=RFFT32_2048P_DEFAULTS;
  long ipcb[N+2];
  long mag[N/2+1];
  int FFTEndFlag = 0;
  
  //Configure the FFT module
  void FFT_config()
  {
   /* Initialize acquisition module
   acq.buffptr=ipcb;
   acq.tempptr=ipcb;
   acq.size=N;
   acq.count=N;
   acq.acqflag=1;*/
  
  /* Initialize FFT module */
   fft.ipcbptr=ipcb;
   fft.magptr=mag;
  // fft.winptr=(long *)win;
   fft.init(&fft);
  }
  
  //Do the FFT computation
  void Compute_FFT()
  {
  RFFT32_brev(ipcb,ipcb,N);
   fft.calc(&fft);
   fft.split(&fft);
   fft.mag(&fft);
  
   FFTEndFlag = 1; //Set end flag
  }
  
   建议:
   1. 改写TI的例程前好好阅读相关文档,如FFT Library文档有些说明就挺重要的;
   2. 注意输入输出数据格式,在FFT模块使用前注意数据的Q格式;
   3. 做乘除运算时注意数据精度,有些同学偏好用整型数做除运算,注意这会带来计算精度下降情况;
   4. 在调试时对改变了数据数组值的地方设置断点,必要时将数据导出用MATLAB等计算软件验证计算结果;
   5. ……
  
   上面建议似乎都还是老生常谈的建议……若是用这个FFT模块还遇上问题的同学就再与我联系吧。
  
  
分类:技术 | 评论:4 | 浏览:1343 | 收藏 | 查看全文>>

有问题就解决问题之 为什么进入不了中断?

  

比如如下一段利用AD中断进行数据采样的函数代码(TMSF2808的板子):
  
  //AD interruption function
  //programmed by Sun Zy on 2009-12-25
  interrupt void adc_isr(void)
  {
   Voltage1[ConversionCount] = AdcRegs.ADCRESULT0 >>4;
  ipcb[ConversionCount] = ((unsigned long)AdcRegs.ADCRESULT0)<<15;
  
   // If 2048 conversions have been logged, start over
   if(ConversionCount == 2048)
   {
   ConversionEndFlag = 1;
   EPwm1Regs.TBCTL.bit.CTRMODE = 3;
   }
  else
  {
  ConversionCount++;
  
  // Reinitialize for next ADC sequence
  AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
  AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
  PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
  }
   return;
  }
  
   其实单独拿出这段代码一看就能看出问题,即在进行了一次2048点采样之后,要再进行AD采样,中断就怎么也进不去了,因为在判断语句if(ConversionCount == 2048)中没有如下一段关键的代码:
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
  
   将上述代码作如下修改:
  // If 1024 conversions have been logged, start over
   if(ConversionCount == 2048)
   {
   ConversionEndFlag = 1;
   EPwm1Regs.TBCTL.bit.CTRMODE = 3;
   }
   else ConversionCount++;
  
   // Reinitialize for next ADC sequence
   AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
   AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
   return;
  
   这时就能正确运用AD进行多次N点的采样了。
  
   因此这里有个提示,当发现中断函数进不去后,在确定全局中断已经打开、相应中断已经被使能、中断向量表也配置正确、中断初始化也没有问题,那查找上次中断结束后有没有将中断标志清除、有没有再次允许下次中断。其实一般的中断函数按照上面的AD中断函数的格式来写就行了。
  
   事实上在写硬件程序时,关于中断的代码是肯定少不了的。有时也经常会遇上中断进不去的情况,这时按照上面的步骤来查来调试,一般都能查出来。但我记得有次我写捕获模块(2808的eCAP)的中断函数,连上板子调试发现怎么也进不了中断,查了半天确定初始化和寄存器配置等程序代码肯定没有问题,后来发现还是捕获的引脚线接触不好——外面硬件电路的信号上升沿不能送入捕获模块,怎么能触发捕获中断呢?
  
   所以说实际中会遇上很多不可想象的问题的。之前我还调试过其他各种情况,现在想不起来了。等我想起来再写出来。
   既然实际中会遇上这么多问题,怎么办?
   那就记住一句话:既然出现了问题,那肯定是有解决问题的办法的。
  
分类:技术 | 评论:0 | 浏览:2041 | 收藏 | 查看全文>>

关于TIFFT库的使用

这篇文章是应一些找我讨论DSP的同学所写,贴在这里大家一起学习。
曾有不少论坛上的同学(包括DSP算法讨论群里的一些同学)问过我关于TI的FFT库的使用,这里我将我使用过的一些经验说一下。
TI的这个FFT库在计算速度、计算精度以及数据存储等方面是做了不少优化的,比如数据存储,若作N点的FFT,供查表用的旋转因子必须有N/2点的正弦值与N/2点的余弦值,这个库将其压缩成3N/4点的正弦值,因此就节省了N/4点的存储空间;另外计算N点实数FFT时,一般简单的做法是将N点实数的虚部全化为0来处理,而这个库则把N 点实数数据打包成N/2点复数数据来处理,在计算速度和存储空间都有很大改进。
之前我浏览helloDSP论坛的帖子,有很多人发出疑问:为什么我计算出的mag值全为零?这样的帖子真不少见;TI的官方工程师论坛不少老外也发问:Why did I get all zeros ?事实上我想主要原因是输入数据格式不对。
我认为使用这个库主要注意一下两点:
1. 数据输入输出的Q格式;
2. 存储空间分配。
下面以32位实数FFT为例来说明。
注意到文档的40页有如下说明:
1. 在函数void calc(RFFT32_handle)有如下一句:Note that the input and output data are in Q31 format.;
2. 在函数void mag(FFT128R_handle)有如下一句:Note that the magnitude output is stored in Q30 format.
因为28x系列DSP是定点处理器,而FFT计算涉及到不少浮点计算,TI使用Q格式来解决这个问题(Q格式说明可参考sprc087_IQmath)。事实上输入数据采用Q31格式能在避免计算溢出前提下获得最好的计算精度。
对AD采样的数据进行FFT计算,定义计算缓冲区数组:
long ipcb[N+2];
因为AD结果寄存器是12位的,在数据左对齐的情况下直接左移15位即可:
ipcb[ConversionCount] = ((unsigned long)AdcRegs.ADCRESULT0)<<15;
另外我记得有份文档提到在某些存储器下是右对齐,此时则需左移19位,大家在使用时注意这个问题。
当采样完成后,按照FFT库的文档上的说明或者仿照文档附带的例程,进行相应函数调用来实现自己的FFT计算,比如按计算点数来定义各个变量数组,是否加窗,是否求解幅值平方值等。
在进行存储器分配时,文档上要求(128点实数FFT为例):
FFTipcb ALIGN(256) : { } > L0L1RAM PAGE 1
FFTmag > L0L1RAM PAGE 1
FFTtf > NVMEM PAGE 0 /* Non volatile memory */
.econst >NVMEM PAGE 0 /* Non volatile memory */
注意两点:FFT计算缓冲区FFTipcb需在page1上连续分配2N个位置(以ALIGN来指定),FFTtf(旋转因子)需放在Non volatile memory的page0内(事实上如何才能为Non volatile我也不清楚)。FFTtf位置这点我之前在调试时对计算FFT影响很大,因为twiddle factor若因存储冲突肯定会造成查表值不准确,那计算FFT时肯定就不对了。有个论坛帖子作者说一定要放在origin = 0x008000开始位置,其实也不对,大家可自己去试验;后面我也会给出我的存储配置文件(即.cmd文件内容)。
无图无真相,下面给出计算实例。
假设有一信号包含两个谐波频率值,分别为413.0Hz(幅值设为1.00V)和287.0Hz (幅值设为0.400V),利用函数发生器产生这两路信号再混合,加上偏置后送入AD采样。设采样频率1024Hz,共采样2048点。图1的采样点均是右对齐的12位采样结果值。



图 1 AD采样得到的采样点图

利用TI的FFT库进行计算,查看mag数组,得到图2.



图 2 FFT计算结果(mag数组)

以1024Hz采样2048点,采样时间2s,对两个谐波频率可采样到整数倍周期;从另一个角度理解,此时最小频率分辨率为0.5Hz,413.0Hz与287.0Hz均是其整数倍数,故不会发生频谱展宽或混叠情况,计算得到的频谱图应该为两根尖峰线。从图2结果也能看出这一点。
查看mag数组,可知第一根尖峰线下标574,第二根尖峰线下标826,故真实频率值分别为:
574*0.5=287Hz , 826*0.5= 413Hz
若要计算幅值,按照输出的Q30格式除相应系数即可。注意最好另外定义浮点数组来做除运算,因为整型数据做除运算(或者右移位操作)会丢失小数位数据。
若要验证DSP的FFT计算结果,可将AD数据从CCS导入到MATLAB中做对比计算。有些同学不清楚如何导入导出,下面说一下步骤。
1. 点菜单栏file-data-save,选择保存类型Integer(若是其他进制还需在MATLAB中转换),点“确定”后,在“address”栏填入要保存数据的起始地址(填变量数组名或真实存储器地址皆可),在“length”栏内填入数据长度,“page”肯定选“data”页了;全部设好后点“OK”
2. 找到保存的数据文件,将后缀改成.txt,再用记事本打开(也可以不改后缀直接用记事本打开),删去第一行数据;
3. 打开MATLAB,点开“load data file…”,选中刚才的数据文件,然后按照提示一步步往下导入即可。最后不妨用变量temp来保存这些数据。
在MATLAB内运行如下代码:
%%%%%%%%%%%%%%%%%%
f_sample = 1024; %采样频率
N = 2048; %采样点N
y=temp; %temp即为导入数据的变量名
n = 0:N-1;
t = n/f_sample;

%做采样点图
plot(t,y);figure;
stem(t,y,'.');figure;

%fft变换并作图
fft_result = fft(y);
mag = abs(fft_result)/(N/2);
mag(1)=0; %为观察谐波分量,此处特意将直流分量置为0

%求解真实频率值
f = (0:length(fft_result)-1)*f_sample/length(fft_result);

%作频谱图
stem(f(1:N/2),mag(1:N/2),'b.');grid;
%%%%%%%%%%%%%%%%%%



可将MATLAB计算结果与CCS内的结果做些对比。

附:
存储器分配(.cmd文件内容),我用的是2808的板子,2812或其他的稍作改动即可。
MEMORY
{
PAGE 0 :
BEGIN : origin = 0x000000, length = 0x000002
RAMM0 : origin = 0x000002, length = 0x0003FE
PRAMH0 : origin = 0x3FA000, length = 0x002000
RESET : origin = 0x3FFFC0, length = 0x000002
BOOTROM : origin = 0x3FF000, length = 0x000FC0
TESARAM : origin = 0x008000, length = 0x002000

PAGE 1 :
BOOT_RSVD : origin = 0x000400, length = 0x000080
RAMM1 : origin = 0x00A000, length = 0x001000
L0L1RAM : origin = 0x00B000, length = 0x001000
HL0SARAM : origin = 0x3F8000, length = 0x001010
DRAMH0 : origin = 0x3F9010, length = 0x000ff0

}

SECTIONS
{
/* Setup for "boot to SARAM" mode:
The codestart section (found in DSP28_CodeStartBranch.asm)
re-directs execution to the start of user code. */
codestart : > BEGIN, PAGE = 0
ramfuncs : > RAMM0 PAGE = 0
.text : > PRAMH0, PAGE = 0
.cinit : > RAMM0, PAGE = 0
.pinit : > RAMM0, PAGE = 0
.switch : > RAMM0, PAGE = 0
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */

FFTipcb ALIGN(4096): { }> HL0SARAM, PAGE = 1

FFTtf :> DRAMH0 , PAGE = 1


FFTmag :> L0L1RAM, PAGE = 1
.const : > DRAMH0, PAGE = 1
.bss : > DRAMH0, PAGE = 1
.stack : > RAMM1, PAGE = 1
.sysmem : > RAMM1, PAGE = 1

.ebss : > DRAMH0, PAGE = 1
.econst : > PRAMH0, PAGE = 0
.esysmem : > L0L1RAM, PAGE = 1

IQmath : > PRAMH0, PAGE = 0
IQmathTables : > BOOTROM, type = NOLOAD, PAGE = 0
}

另外,有些同学一开始运行FFT附带的例程,会遇上两个问题:
一是缺少函数文件,这个到TI官网下那个sprc083_SGEN包就好了,或找我我用邮箱发给大家也行;
二是提示编译不成功,找到上述配置文件的这一行
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
在后面加上TYPE = DSECT /* not used, */。

这些是我凭印象写的,因好久没做这个FFT,可能会写出错误,欢迎大家提出来:-)
分类:技术 | 评论:23 | 浏览:4723 | 收藏 | 查看全文>>

张岱的低级趣味

  “蜀人张岱,陶庵其号也。少为纨绔子弟,极爱繁华,好精舍,好美婢,好娈童,好鲜衣,好美食,好骏马,好华灯,好烟火,好梨园,好鼓吹,好古董,好花鸟,兼以茶淫橘虐,书蠹诗魔。”
  
  以前没注意到过,原来张岱这厮好这么多口。好的都是好东西,说得也心直口快,理直气壮,全然无一点顾虑或遮遮掩掩的意味——真让人看着都觉得喜欢。我真想听他亲口说:好精舍,好美婢,好娈童,……
  
  我想起毛主席曾告诫我们新时期青年:但只要有这点精神,就是一个高尚的人,一个纯粹的人,一个有道德的人,一个脱离了低级趣味的人。
  
  脱离了低级趣味,那就没有这么有趣的张岱了。人生也丧失很多乐趣了。作为受过多年教育的新时期的大好青年,我还得承认我是多么喜欢张岱的这些低级趣味。真是辜负了毛主席他老人家的教诲。
  
分类:随意 | 评论:0 | 浏览:383 | 收藏 | 查看全文>>

南京的书店

   薛冰在《家住六朝烟水间》一书有几篇曾写到了南京的书店(特别是旧书店);在他所写的其他书中,就有数本是专门记叙在南京淘书藏书的经历的,读来让人兴致盎然。之前因在南京上学,近四年的大学时光几乎访遍了这座城市的大小几十家书店,或买或淘几个学期下来也购进了两百余本书。现在回想起来,这座城市的书店确实构成了一道十分迷人而独特的风景。
  
   说到南京的书店,“先锋”肯定是一个不能绕开的词。经过十余年的经营与成长,先锋书店已经成为南京城名副其实的一张名片,甚至也是国内人文书店的一面旗帜了。书店内的环境、氛围能真正深入读书者的内心之中。它所构造的先锋意识以及文化层面上的理念,也成为了大家所津津乐道的话题。
   在先锋旁边,得益于南大、南师等高校浓厚的人文学术氛围,此处区域遍布有书店十余家。比如与先锋有相似经营品味的万象、尚文、南大出版社书店等,名声久远的旧书店如学人、乐陶、唯楚等(另有新开的洞庭书店),特价书店如复兴、、古南都、品雨斋等。一些著名的学者、作家,如黄裳、王蒙等等,在其关于南京的游记中都提到过这些书店,以及在这些书店淘书的乐事。
   据民国时期的史料载,当时南京城的旧书店业其实是非常繁荣的。而现在也许并不能回复当时的盛景了。就我的经历与了解,现在的旧书店除鼓楼南大周围一块区域外,还有太平南路的古籍书店、中央路的学林书店等,但似乎经营得不是很好;曾在淘书者心目中占重要位置的朝天宫“鬼市”,也是日渐式微了。这些或许都已成为一种不可挽回的情形了。
   其实,南京城内除了旧书店以及正规专业的大型书店(如法律书店、外文书店等)之外,更多的还是那些遍布街头巷尾的特价书店。比如说在龙蟠中路不长的街道上,就有长城、海峡、前沿等数家书店,而在中央路街道旁高大的法桐树掩映下,密布着程轩、白鹭苑、上下楼等近十家书店。虽然这些书店的规模不一、品质参差不齐,但毕竟为这一个城市的读书人提供了买书与淘书的绝好去处。
  
   逛书店对于读书者而言,是一项不可缺少的日常生活方式。南京许多书店的店主也是爱书者,有时也是深藏不露的高人。在你站在书架旁选书的间隙,他会与你聊起某些不为人知的文人典故,或者分享阅读某书的心得,或者甚至是一起探讨某个学术流派的传承演变等。而在书店内买书淘书的,既有耄耋老者也有年幼孩童,但大家都是纯粹的爱书者;当爱书者聚集于一起时,都有种相互交流与倾诉的渴望,比如对某位作者作品的见解,或者是最近淘到哪些好书的经历(带着炫耀的性质)——这些也可称作“书缘”吧。我曾在几家书店内数次遇见同一位买书者,并因此而熟识起来。另外,网上的读书论坛如豆瓣网、天涯的闲闲书话等都有人气很旺的南京读书人小组;大家虽不相识,但同居于这一座城,因这同样的爱好,彼此间的关系也胜过是相识的人了。
   我想,这正是南京城市的可爱之处。正如薛冰在书内所言:一座城市的人文气韵,其中书店是很重要的一类参照。南京的书店众多,作家也多,读书人爱书人也多——这是一个暗里紧密相连的群体,能作为其中之一,想想都是一件幸福的事。我一直在想:某次某时我站在某家的书店的书架旁,身边站着也在买书的是否就是叶兆言、苏童、鲁羊、黄梵等名家,不然,或许也可能是前晚刚在网上交流过读书买书经验的网友?
  不管如何,大学四年的逛书店与买书经历,绝对属于我的青春记忆中十分美好的内容。
  
   当然,因为一些各类的因素,南京的书店在近几年也不可挽回地消失了一些。大一时我常去的一些书店的名单,到大三时就已经少了好几家了。除了上文所述的旧书店情形外,再举几例:太平南路的文星书店,店主十分和蔼,书的售价很是公道,但后来却忽然关了门;大行宫北路的崇文轩,进的书档次品相均十分好,后来也不见了踪影;为南京读书人熟知的夫子庙的书香斋,也由两家店面缩减成一家了;即使如先锋这样的书店而言,前几年尝试在夫子庙开的旗舰店也以失败告终。
   但,我相信,这并不会成为一种普遍的趋势。我记起佩内洛普•菲兹杰拉德的那本叙述简洁的小说《书店》的结尾:她生活了近十年之久的小镇,并不需要一家书店。但如南京这样一座到处渗着人文气质的城市,却是不能也不会缺少书店的。因为多数爱书藏书者,内心或许都会有着开一家属于自己的书店的念头。看先锋书店出的那本《大地上的异乡者》,先锋掌柜钱晓华也曾经面对着各种与《书店》里主人公相似的诸多不顺。但也正是他们的对于书店的执着与努力,使得南京这一块土地,并不会成为众多读书人的异乡。

2009-2010.1改
  
分类:经历 | 评论:0 | 浏览:323 | 收藏 | 查看全文>>

我为什么总是睡不着?

  我清楚地记得,在夜晚黑色中睡不着是什么感受。一连几个晚上,在床上辗转反复而思绪仍是非常清晰,总是不能睡去。然后或者到凌晨四点五点,盼着窗外能亮起来——若是夏天的话,天也该亮了——然后才忽然的,来点久违的睡意。
  
  黑暗里听木马,“等到多年以后,忽然想起,那个黑暗里舞动的少年会是谁”;这歌词真是写得词不达意:事实上,在黑夜里能让自己睡着才是正经事。
  
  
  
分类:经历 | 评论:0 | 浏览:186 | 收藏 | 查看全文>>

压力

如题。
分类:经历 | 评论:0 | 浏览:169 | 收藏 | 查看全文>>

节选之一

   赫尔曼-黑塞《盖特露德》结尾
  
   …………
   稍迟些时,我才象她那样陷于悲哀之中。事情就象通常所发生的,我无时无刻不想到自己对不起已故的朋友。事实上,最糟糕的是他总做损害自己的事,连同他的自杀都是如此。关于这件事,我想了很多,但是在他的遭遇中我所能找到的只是一些模糊不清和无法理解的东西,而且一切都是残酷并且可笑的。而我自己的生活也并无不同,就连盖特露德以及其他许多人的都是一样。命运不佳,生活既可笑又残酷,在自然中并不存在善良和理智。可是在我们身上,在我们人的身上却存在着善良和理智,我们能够强于自然和命运,即或只是偶然的、只在某些时刻存在而已。”我们能够互相接近,倘若发生不幸,彼此能够相互理解,能够彼此相爱,也能够互相安慰着活下去。
   有时候,由于陷于更深沉的黑暗而缄默无语时,我们能够做的事就更多了。我们可能在瞬间成为神明,伸出统率的手去创造一切过去不曾有过的事物,而当事情已经解决时,让它们没有我们而仍然继续存在下去。我们能够通过声音和语言,通过其他许多破碎而无价值的东西创造出艺术作品,创造出充满了意义、安慰和善良的作品和歌曲,这些作品和歌曲比命运和偶然性所创造的鲜艳耀目的生活现状更为美丽和不朽。我们能够把上帝装在自己的心里。有时候,当我们内心存在上帝时,他便能够通过我们的眼睛和我们的话语来观察世界,也可以和别的人交谈,这些人他并不认识或者根本不想认识。我们不能让我们的心脱离生活,而要能够对它加以训练和指导,这不能只考虑是偶然的事,而要始终不渝地把它看成是痛苦的事。
   在海因利希-莫特下葬后的几年中,我就这样成千次地象真的似地和他重逢,还能够同他比他生前更为亲切和聪慧地交谈。岁月就这样流逝着,我看到我的老母亲躺倒和消逝了,也看到美丽活泼的布里琪苔-台塞尔辞别人间,她经过多年的等待和让伤口愈合之后,便嫁给了一个音乐家,却在第一次分娩时死去了。
   盖特露德已经克服了当时猛然将她击垮的痛苦,那一次,当她刚回到家里便收到我们的鲜花――一个死人向她表示的问好和追求。我虽然每天都见到她,却很少向她提起这件事、不过我相信,她回顾自己的春天就象回顾自己在一个遥远的、早年旅行时曾见过的山谷,而不是在一个业已失落的天堂里。她又恢复了体力和开朗的性格,她也重新唱歌了。但是自从她吻过自己死去丈夫冰冷的嘴唇后,便没有再吻别的男人。每年中总有一两次。当我看到她那健康的体态,闻着那熟悉的微涩的花朵的香气时,我的思想使忍不住循着那条禁止通行的老路走到她身边,心里想:为什么不行呢?但是我内心深处早已暗暗明白答案将是什么,在我的和她的生活中再也没有什么可以改变的了。她是我的朋友,每当我度过了一段孤独的不平静的生活时,便想从寂静中走出去,每当我有了一支歌曲或者一首奏鸣曲时,首先总想到它是属于我们共同所有的。莫特说得很正确,人们在老年时代会比青年时代易于满足,我因而不愿意诽谤青年时代,因为青春好似一首美丽的歌曲,鸣响在我的一切梦想中,到了今天,它已比当初实际存在的时期奏出更为纯洁、更为真诚的乐声了。
  
分类:书籍 | 评论:0 | 浏览:140 | 收藏 | 查看全文>>

强大的CNKI








用CNKI下论文,有天忽发奇想,如果输入不是干巴巴的专业词汇而是其他会得到什么结果。于是试着输入“周云蓬”,网页一刷新还是跳出了几页的结果,包括老周的访谈、老周的介绍,甚至还有他发在《诗选刊》上的九首诗。再试着输入“李志”出来李志华、李志萍、李志国、李志明、李志雄、李志强李志卿李志胜李志浩李志濠等等一大堆,偶有几个还并不是BB。但还真的发现了一篇BB写得文章,说哪天爬紫金山以及其他,通篇的调侃。再搜“吴虹飞”,结果更丰盛了,但大部分是《南方人物周刊》上的访谈。又搜刊物,经过实践发现连《非音乐》全刊都有。
于是内心不禁感叹:CNKI真是太强大了。

附:《国际歌》是否可以摇滚?
这是从CNKI上偶然搜到的两篇文章,分别看在《人民音乐》1993年的第三期和第八期。前一篇作者义愤填膺,愤怒不已,“巴黎公社时期诞生的全世界无产阶级的战歌—《国际歌》, 最近被北京一个叫“ 唐朝”乐队的四位长发披肩者套上重金属色彩, 披上摇滚外衣”,“这真叫人心寒不已”。后一篇则以《关于〈国际歌不容“摇滚”〉一文的意见》进行反驳。值得注意的一个细节是后文的责任编辑是金兆钧先生。
《国际歌》是否可以摇滚?看来这真的成了个问题了。我想到,那么多年轻的摇滚孩子们,《国际歌》的版本听的多的还是唐朝的吧。我记得以前大四时曾担任过学院专业内的学生支部书记,每次支部会议前例行要放《国际歌》的。我每次拎着笔记本都放标准大合唱版本的《国际歌》;而我是多少次想当老师不在会场的时候,播放那首从高中听到现在的唐朝版的《国际歌》。。
分类:经历 | 评论:0 | 浏览:208 | 收藏 | 查看全文>>
共10页/96条记录 首页 上一页 2 3 4 5 6 下一页 尾页 返回顶部