風の記憶

今天朋友推荐了熊木杏里的一首小清新的歌《风中的记忆》,循环听了一晚上,堪称治愈系的歌曲。

熊木 杏里(くまき あんり、1982年1月27日 – )は、日本のシンガーソングライター・作曲家。長野県更埴市(現・千曲市)出身。身長153cm。血液型B型。関東国際高等学校を経て目白学園女子短期大学卒。名前の由来は長野県更埴市(現・千曲市)の観光名所「あんずの里」より採られた。愛称は「あんりこ」。

熊木杏里
熊木杏里

風の記憶

風の記憶

熊木杏里(くまきあんり)

  • 歌手:熊木杏里
  • 作詞:熊木杏里
  • 作曲:熊木杏里

青い地球が 私の胸に
夜に浮かぶ 満月をくれた

大地の花が 私の胸に
沈まない 太陽をくれた

人と出会う横には いつかある
いつか分かれに変わる 夕凪が

風をくぐって 海を越えたら
君が 宝島になる

ひとかけらの夢は
群れを帯びてる 魚のように

よこぎってゆく季節
君と叶える奇跡

明日の上を鳥たちが飛ぶ
夜明けまでに、間に合うように

船の汽笛は 始まりの音
見えない矢印を 浮かべて

君と過ごした 短い記憶が
いつか長く伸びて 迎えに来る

風の頼りに 目を閉じた時
君が宝島になる

夢を飾りながら
珊瑚のように 波に揺られて

気がついてゆく 季節
一続きの この旅

中文歌词:引自  饮水 http://www.douban.com/group/topic/2582717/

蔚蓝的地球把夜晚隐现的满月悬在我的心中。
大地的花朵将永不落山的太阳挂在我的心中。
与人的邂逅总是伴随着不知何时就会到来的分别
如同傍晚平静的海面(不知何时就会消逝)
等我穿过风,渡过海
你却化身为(那神秘的)金银岛
(我有一个)小小的梦想
(希望)自己能像鱼群中的(一尾小)鱼那样
在那迁徙的季节
与你一起创造奇迹
仿佛为了追赶黎明似的
鸟儿们在明天的天空中飞翔
船上汽笛发出启航的鸣叫
仿佛在无形中指引着方向
与你一同度过的短暂记忆
不知在何时延展开来 迎向我
(当我)凭着风 闭上眼睛时
你就是我寻觅的金银岛
就像那点缀梦想的珊瑚那样
在波涛中摇摆
(我)在这缓慢体会的季节里
继续着这样的旅程

Thank God I’m A Country Boy

今天需要把电脑硬盘的空间腾出来,只好把移动硬盘的东西删了,然后移过去。这个移动硬盘里面基本都是春田的照片和视频,把大视频都删了,其中找到一段,是在Dr.Olen Greer家烧烤的。当时没想到平常严肃的Dr.Greer是个多才多艺的人,拿吉它就给大家唱了几首,其中就有这首《Thank God, I am a country boy》。

篝火 聚会 聚会 聚会

http://m6.file.xiami.com/1/143/10143/342202/1769057385_686782_h.mp3

Thank God I’m A Country Boy

Words:john martin sommers
Music:john martin sommers

This song appears on thirteen albums, and was first released on the back home again album. it has also been released on the greatest hits vol 2, favourites, voice of america, the rocky mountain
Ction, the country roads collection and changes albums. it has been recorded for the love again album. live versions appear on the an evening with john denver, live in london, country classics,
Ery best of john denver (double cd) and live at the syney opera house albums.

Well life on the farm is kinda laid back
Ain’t much an old country boy like me can’t hack
It’s early to rise, early in the sack
Thank god i’m a country boy

Well a simple kinda life never did me no harm
A raisin’ me a family and workin’ on a farm
My days are all filled with an easy country charm
Thank god i’m a country boy

Well i got me a fine wife i got me a fiddle
When the sun’s comin’ up i got cakes on the griddle
Life ain’t nothin’ but a funy funny riddle
Thank god i’m a country boy

When the work’s all done and the sun’s settlin’ low
I pull out my fiddle and i rosin up the bow
The kids are asleep so i keep it kinda low
Thank god i’m a country boy

I’d play ※sally goodin’§ all day if i could
But the lord and my wife wouldn’t take it very good
So i fiddle when i could, work when i should
Thank god i’m a country boy

Well i got me a fine wife i got me a fiddle
When the sun’s comin’ up i got cakes on the griddle
Life ain’t nothin’ but a funy funny riddle

Thank god i’m a country boy

Well i wouldn’t trade my life for diamonds and jewels
I never was one of them money hungry fools
Iid rather have my fiddle and my farmin’ tools
Thank god i’m a country boy

Yeah, city folk drivin’ in a black limousine
A lotta sad people thinkin’ that’s mighty keen
Son, let me tell ya now exactly what i mean
Thank god i’m a country boy

Well i got me a fine wife i got me a fiddle
When the sun’s comin’ up i got cakes on the griddle
Life ain’t nothin’ but a funy funny riddle
Thank god i’m a country boy

Well, my fiddle was my daddy’s till the day he died
And he took me by the hand and held me close to his side

Said, ※live a good life and play my fiddle with pride
And thank god you’re a country boy

My daddy taught me young how to hunt and how to whittle
Taught me how to work and play a tune on the fiddle
Taught me how to love and how to give just a little
Thank god i’m a country boy

Well i got me a fine wife i got me a fiddle
When the sun’s comin’ up i got cakes on the griddle
Life ain’t nothin’ but a funy funny riddle
Thank god i’m a country boy
Thank god i’m a country boy
美国的小孩从小就会有这方面的教育,但是似乎是按照兴趣来发展的,不想国内填鸭的教育反而让孩子反感。这些soft skill对孩子未来的发展很有帮助,不想我们这一代,一直都后悔当年怎么没有这个机会学习。

这首歌每段落都是以Thank god i’m a country boy结尾,以调侃自己的方式讲述乡村的生活,悠闲、舒适、满足,远离城市的繁华和尘嚣。

这个时代,乡村正不断被都市侵蚀。土地的变迁还在其次,更多的是心灵的侵蚀,越来越多的人在追求都市的繁华和喧嚣的同时,关于乡村天云的印象也越来越淡漠。 然而,当我们站在都市人影重叠的街头,当我们闭目聆听我们内心的音乐时,仍旧能清晰地听到一个人的声音,一个明亮、纯净、永远生长在乡村的意象之上的声音——那个人,就是John Denver,乡村民谣的守护者大约很多喜欢乡村音乐的朋友都记得这首歌,Leaving on a jet plane。1997年10月12日,john denver在加利弗尼亚海边,驾着他的私人飞机,触崖坠海,飘然而去,就象他在这首歌里唱的那样:
I’m leaving on a jet plane,
I don’t know when i’ll be back again

http://m6.file.xiami.com/1/143/10143/51817/1019870_328482_h.mp3

Leaving On A Jet Plane
John Denver

All my bags are packed, I’m ready to go
I’m standing here outside your door
I hate to wake you up to say goodbye
But the dawn is breaking, it’s early morn’
The taxi’s waiting, he’s blowing his horn
Already I’m so lonesome I could die

So kiss me and smile for me
Tell me that you’ll wait for me
Hold me like you’ll never let me go
‘Cause I’m leaving on a jet plane
I don’t know when I’ll be back again
Oh baby, I hate to go

There’s so many times I’ve let you down
So many times I’ve played around
I tell you now, they don’t mean a thing
Every place I go I think of you
Every song I sing I’ll sing for you
When I come back, I’ll wear your wedding ring

So kiss me and smile for me
Tell me that you’ll wait for me
Hold me like you’ll never let me go
‘Cause I’m leaving on a jet plane
I don’t know when I’ll be back again
Oh baby, I hate to go

Now the time has come to leave you
One more time, oh let me kiss you
And close your eyes and I’ll be on my way
Dream about the days to come
When I won’t have to leave alone
About the times that I won’t have to say

So kiss me and smile for me
Tell me that you’ll wait for me
Hold me like you’ll never let me go
‘Cause I’m leaving on a jet plane
I don’t know when I’ll be back again
Oh baby, I hate to go
I’m leaving on a jet plane
I don’t know when I’ll be back again
Oh baby, I hate to go
END……..

乘喷气客机离开

我的行囊已经打好,
即将离开我正站在你的你的门前
不愿将你惊醒,
不愿与你道别
但是已经破晓,
早晨已经来到
出租车正在门外等候,
喇叭不断鸣响
我是如此孤单,
几乎死去

来吻我,
来对我微笑
告诉我你会等我
握住我的手,
就像你永远不会让我离开

我将乘喷气客机离开
不知何时归来
宝贝,我真的不想走……

无数次令你失望无数次我在周围游玩
我想告诉你,
那些什么都不算
每去一个地方我都会想你
每一首歌都是为你而唱
当我回来,
我会带回给你的婚戒

来吻我,
来对我微笑
告诉我你会等我
握住我的手,
就像你永远不会让我离开

我将乘喷气客机离开
不知何时归来
宝贝,我真的不想走……

现在到了离开你的时候了
请让我再次吻你 然后闭上你的眼睛,
我就要出发憧憬未来的日子 我不用再孤身离开

对于时间,我真的不想再说什么了

来吻我,来对我微笑
告诉我你会等我
握住我的手,就像你永远不会让我离开

我将乘喷气客机离开
不知何时归来
宝贝,我真的不想走……

但是真的到我乘喷气客机离开的时候了
不知什么时候才能回来
我不想走,宝贝,我不想走。

树莓派充当mp3播放器

最近想着通过Raspberry Pi来充当mp3用,因为没有显示器,只有音箱,所以就把音箱直接接在Pi的3.5mm耳机接口上。可以在电脑上或者手机上通过网页来播放音乐。也许有人问,有了电脑或手机为什么要这个,因为也许电脑、手机的外放效果不怎么样,接音箱总归好一些。而且对于我这个懒人,就喜欢躺床上,希望通过手机来控制一切,所以才诞生了这个想法。

基本步骤:

1.安装系统,本人使用的是xbian,理论上其他系统也可以。如果已经装好系统,可以跳过这一步

2.安装mpg123

命令: apt-get install mpg123

安装完毕mpg123,拷贝一个mp3文件到Pi中,可以运行mpg123 xxx.mp3(xxx.mp3为mp3文件名)看看能否正常运行。

本人在运行的时候出现找不到输出口的问题,大概是声卡驱动没有正确加载,运行以下命令解决:

sudo modprobe snd-bcm2835

3.安装lnmp,其实这里只需要安装nginx和php就可以了。

参照我之前的帖子 https://blog.wo.ai/archives/194 来进行安装

或者简单运行如下程序:

apt-get install nginx php5 php5-fpm php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps
php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

4.然后配置php sudo权限,这样php执行命令的时候不需要输入自己的密码

为 nginx,而想透过 PHP 发送irsend,用 root 输入指令 vi /etc/sudoers,
在档案最底加上以下一行:

www-data ALL=NOPASSWD: /usr/bin/mpg123

5.开始php旅程:

首先是index.php,用来遍历某个目录下所有的mp3文件,并显示出来:

//获取文件目录列表,该方法返回数组
function getDir($dir) {
$dirArray[]=NULL;
if (false != ($handle = opendir ( $dir ))) {
$i=0;
while ( false !== ($file = readdir ( $handle )) ) {
//去掉””.”、”..”以及带”.xxx”后缀的文件
if ($file != “.” && $file != “..”&&!strpos($file,”.”)) {
$dirArray[$i]=$file;
$i++;
}
}
//关闭句柄
closedir ( $handle );
}
return $dirArray;
}

//获取文件列表
function getFile($dir) {
$fileArray[]=NULL;
if (false != ($handle = opendir ( $dir ))) {
$i=0;
while ( false !== ($file = readdir ( $handle )) ) {
//去掉””.”、”..”以及带”.xxx”后缀的文件
if ($file != “.” && $file != “..”&&strpos($file,”.mp3″)) {
$fileArray[$i]=”/home/test/”.$file;
if($i==100){
break;
}
$i++;
}
}
//关闭句柄
closedir ( $handle );
}
return $fileArray;
}

读取mp3tag

function readmp3($mp3_file)
{
$fp=fopen($mp3_file,"rb"); //读取mp3文件
//首先判断是否有TAG,如果没有,那就没必要读取了,方法就是读取倒数128-126字节,看是否是TAG
//详情参看http://www.readlog.cn/archives/2961/
fseek($fp,-128,SEEK_END); //指针移到倒数128字节处
$tag=fread($fp,3); //读取倒数128-126字节位置的数据
if($tag=="TAG") //如果这3个字节是TAG,表明有TAG
{
$mp3=array();
//标题30个字节,从倒数125字节到倒数96字节
//现在直接读就可以了
$mp3['标题']=fread($fp,30);
//艺术家30个字节,从倒数95字节到66字节
$mp3['艺术家']=fread($fp,30);
//专辑30个字节,从倒数65字节到36字节
$mp3['专辑']=fread($fp,30);
//年份4个字节,从倒数35字节到32字节
$mp3['年份']=fread($fp,4);
//注释28个字节,从倒数31字节到4字节 (有的是30个字节,那就把倒数第2,3位归入注释了)
$mp3['注释']=fread($fp,28);
fseek($fp,1,SEEK_CUR); //跳过倒数第3位保留位
//第几首1个字节,倒数第2位
$mp3['编号']=ord(fread($fp,1));
//流派1个字节,就是倒数第一个字节了
//流派这里是存放的整型数据,可以写个函数来把数字变成具体的文字。
//具体含义参看http://www.readlog.cn/archives/2961/
$mp3['流派']=ord(fread($fp,1));
return $mp3;
}
}

生成mp3列表:

<?

//调用方法getDir(“./dir”)……可以是绝对路径也可以是相对路径
$filelist = getFile(“/home/test”);
//var_dump($filelist);
foreach($filelist as $file){
echo(“<li><input type=\”button\” onclick=\”checkMe(‘play.php?file=”.$file.”‘)\” value=\””.$file.”\”<br />”);
$mp3 = readmp3($file);
if($mp3){
echo($mp3[‘艺术家’].’-‘.$mp3[‘专辑’].’-‘.$mp3[‘标题’]);
}
}
?>
</ul>
<input type=”button” onclick=”checkMe(‘play.php?’)” value=”stop” />

页面基本完成了。

然后是play.php,根据传进来的文件名,通过后台播放:

<?php
$cmdline = “/usr/bin/sudo /usr/bin/killall mpg123 >/dev/null &”;
shell_exec($cmdline);
if($_GET[‘file’]){
$cmdline = “/usr/bin/sudo /usr/bin/mpg123 –loop -1 “.$_GET[‘file’].” >/dev/null &”;
echo($cmdline);
$output = shell_exec($cmdline);
echo($output);
}
?>

基本上大功告成了,这里的mp3文件名除了本地文件外,还可以是流媒体或者网址,都可以试试看。

英文中有个词是couch potato,我还是当bed potato吧。好好享受着音乐吧。

 

附:Raspberry Pi(树莓派)声音输出的设置

Raspberry Pi(树莓派)声音输出可以设置为自动,耳机输出,从HDMI输出三种,默认为自动

pi@aborn ~ $ sudo apt-get install alsa-utils
pi@aborn ~ $ sudo modprobe snd-bcm2835    #把声音模块加入内核
pi@aborn ~ $ sudo aplay /usr/share/sounds/alsa/Front_Center.wav
pi@aborn /opt/vc $ sudo amixer cset numid=3 2
numid=3,iface=MIXER,name=’PCM Playback Route’
; type=INTEGER,access=rw——,values=1,min=0,max=2,step=0
: values=2
pi@aborn /opt/vc $ sudo aplay /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE ‘/usr/share/sounds/alsa/Front_Center.wav’ : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
pi@aborn /opt/vc $ sudo amixer cset numid=3
numid=3,iface=MIXER,name=’PCM Playback Route’
; type=INTEGER,access=rw——,values=1,min=0,max=2,step=0
: values=0

pi@aborn /opt/vc $ sudo amixer cset numid=3 1
numid=3,iface=MIXER,name=’PCM Playback Route’
; type=INTEGER,access=rw——,values=1,min=0,max=2,step=0
: values=1

values取不同的值分别代表:
0=auto(自动), 1=headphones(耳机), 2=hdmi

php读取mp3文件信息 (转)

一个读取的程序。其实稍作改动,就可以变成读写的(id3v1),id3v2复杂的多,以后看情况再写吧。
<?php
$file=”回到我身边.mp3″; //要读取的文件–俺偶像的
$mp3info=readmp3($file); //获得文件信息,数组
print_r($mp3info); //输出数组
function readmp3($mp3_file)
{
$fp=fopen($mp3_file,”rb”); //读取mp3文件
//首先判断是否有TAG,如果没有,那就没必要读取了,方法就是读取倒数128-126字节,看是否是TAG
//详情参看http://www.readlog.cn/archives/2961/
fseek($fp,-128,SEEK_END); //指针移到倒数128字节处
$tag=fread($fp,3); //读取倒数128-126字节位置的数据
if($tag==”TAG”) //如果这3个字节是TAG,表明有TAG
{
$mp3=array();
//标题30个字节,从倒数125字节到倒数96字节
//现在直接读就可以了
$mp3[‘标题’]=fread($fp,30);
//艺术家30个字节,从倒数95字节到66字节
$mp3[‘艺术家’]=fread($fp,30);
//专辑30个字节,从倒数65字节到36字节
$mp3[‘专辑’]=fread($fp,30);
//年份4个字节,从倒数35字节到32字节
$mp3[‘年份’]=fread($fp,4);
//注释28个字节,从倒数31字节到4字节 (有的是30个字节,那就把倒数第2,3位归入注释了)
$mp3[‘注释’]=fread($fp,28);
fseek($fp,1,SEEK_CUR); //跳过倒数第3位保留位
//第几首1个字节,倒数第2位
$mp3[‘编号’]=ord(fread($fp,1));
//流派1个字节,就是倒数第一个字节了
//流派这里是存放的整型数据,可以写个函数来把数字变成具体的文字。
//具体含义参看http://www.readlog.cn/archives/2961/
$mp3[‘流派’]=ord(fread($fp,1));
return $mp3;
}
}
?>

无根浮萍

周末回到SH整理了两天东西,然后将所有打包好的东西发物流回去,居然有587公斤,这是来SH近10年存下来的。发完快递以后,不知为什么心情很乱,不想在SH多停留一分钟,打电话给航空公司改早一班飞机到SZ。到飞机上也一直很乱,突然明白“家”没了。回国两年来,一直在外面出差,孩子妈和孩子一直在SH,心理上那个“家”还在SH。前不久他们回去了,SH那个“家”空在那里,至少觉得他们会回去,也还算一个家。今天把所有家当发回去,突然发现象征意义的那个家没了,难怪会乱。虽然孩子妈在那里也找了房子,我也可以周末回去,但冥冥中告诉我,那不是我的家,只是个住所而已。

很早以前听说,走到哪,家就在哪,那应该是在单身的时候吧。

寻找公历农历相同的日子

今年大家都在热炒1986年的公历和今年的一样,但是农历却不一样。因为公历每四年闰一天,每周有七天,所以大概是28年同一次,农历是19年同一次(解释在下面),理论上农历和西历要完全相同,大概需要19*28=532年。理论上公元1482年的西历和农历都和今年相同。实际上28年重复一次,也不是靠谱的,因为每年的日子实际上是个小数,公历四年一闰,但是百年反而不一定闰了,规则是如果年份可以被100除尽,还需要被400除尽才闰,这样导致公历也会相差,比如1902,1930,1958,1986,2014这几年日历相同,因为1900年不是闰年,导致1874年比2014年的元旦晚了一天。所以翻遍万年历,几乎不可能找到农历公历完全相同的日子。

2014/1/1 周三,农历十二月初一

1482/1/1 周四,农历十二月初三

950/1/1周四,农历十二月初四

418/1/1周一,农历十二月初八

另外,澄清一点,公历或者西历是太阳历,所以可以称作阳历,而农历不但根据月亮公转地球的周期,还要计算地球公转太阳的周期,所以准确的说,应该是阴阳历,所以大众普遍说的阴历其实是不准确的。

下面是解释为什么农历中十九年七闰及公历四年一闰的原因:

转载自

http://destiny.xfiles.to/ubbthreads/ubbthreads.php/topics/610122

除了你出生的那一年之外,大家有沒有遇過你西曆生辰的那一天又是你的農曆生辰呢?未遇過?這不出奇。因為根據曆法,西曆和農曆每隔 19 年才循環一次,如果你的年齡未滿 19 歲,自然不會遇上西曆生辰和農曆生辰在同一天出現的情況了。

可能大家會懷疑,為甚麼一定要等 19 年,西曆和農曆才會循環一次呢?為了明白 19 年循環的奧秘,我們先就要明瞭倒底「西曆」和「農曆」是怎樣制定出來的。首先,讓我們看看「西曆」:

我們現時所採用的「西曆」,顧名思義,就是一套從西方傳入的曆法系統。遠在古羅馬(甚至是更早的)時期,當時的歐洲人就已經將地球環繞太陽公轉一周所需的時間定為「一年」。通常我們都說 1 年有 365 日,即是說地球自轉了 365 次(日),它就會環繞太陽公轉 1 次(年)。如果地球自轉和公轉之比,剛好是一個整數,那麼一切就好辦了,但很可惜,經過仔細的天文觀測後發現,地球環繞太陽公轉所需的準確時間應為 365 日 5 小時 48 分 46 秒,即約 365.2422 日。故此,1 年有 365 日的想法,和地球公轉所需的時間,實際上有 0.2422 日的差別。

相信大家都知道,我們每隔 4 年就會在第 4 年中增加一日(即該年的 2 月 29 日),目的就是為了彌補上述的差別。注意:0.2422 ´ 4 = 0.9688,而 1 – 0.9688 = 0.0312 日,即約等於 44 分 56 秒。換句話說,使用了「四年一閏」的曆法,我們每隔 4 年就可以將上述的差別減少至 4 年才相差 44 分 56 秒,相信這是一個很合理的處理辦法了。

由於「西曆」是按照太陽和地球的關係而制定出來的,故此亦有人將「西曆」稱為「陽曆」。而為了方便後面的討論,我將地球公轉所需的時間(即 365.2422 日)稱為 1 個「太陽年」。

「農曆」就比較麻煩。有人稱「農曆」為「陰曆」,這是因為「農曆」主要是根據月球環繞地球公轉所需的時間而制定出來的。同樣,據觀測,月球環繞地球公轉一周所需的時間亦不是一個整數,而是等於 29 日 12 小時 44 分 2.8 秒,即約 29.5306 日。故此,在農曆裏面,1 個月有時會有 29 日,有時又會有 30 日。這要看每次月缺和月圓的時間才可定出一個月到底有多少日。通常,我們會將月圓的那一天定為每個月的第 15 日。同樣,為了方便後面的討論,我將月球環繞地球公轉所需的時間(即 29.5306 日)稱為 1 個「太陰月」。

將 1 個太陽年和 1 個太陰月相除,得 365.2422 ¸ 29.5306 = 12.368262,由此可知 1 個太陽年比 12 個太陰月多出 0.368262 個太陰月,約 10 日 21 小時。在這裏,問題來了:如果我們將 1 個農曆年定為 12 個月,那麼每過 1 年,我們就要提早差不多 11 日過新年了!這樣做,會令到我們使用農曆時出現很多混亂和困難的情況。例如:農夫發覺今年農曆 3 月 1 日天氣回暖,春天到了,適合播種,那麼到了第二年就要改於 3 月 12 日播種,第三年就要改於 3 月 23 日,如此類推。十年後就要在 7 月才開始耕種,二十年後就要到 11 月了!

為了解決上述的困難,農曆的曆法亦好像西曆「四年一閏」的制度一樣,在適當的時候就會在某一年之中加插多一個月(即閏月)來調節上述的差距。至於哪一年需要多加一個閏月,它的推算方法亦十分簡單,就是直接將每年多出來的時間(即 0.368262 個太陰月)累積地加起來,如果剛好超過 1 個太陰月,就可以在該年加插一個閏月了。

例如:第 1 年多了 0.368262 個太陰月,第 2 年就會多 0.736524 個太陰月,第 3 年將會多出 1.104786 個太陰月。這時剛好多於1個太陰月,所以我們就在第 3 年中加添一個閏月,因而得到農曆「三年一閏月」的規律。

但「三年一閏月」這個方法並不完美,原因是即使增加了 1 個閏月,3 年後仍和實際的太陽年相差了 0.104786 個太陰月,約 3 日 2 小時。這個差距依然很大。為了建造一個更好的曆法,我們可以繼續算下去,從而得到下表:

年數 累積差額(個太陰月)
3 1.104786
6 2.209572
8 2.946096
11 4.050882
14 5.155668
16 5.892192
19 6.996978

這樣,我們就計算出農曆年和太陽年之間一個更準確的關係了。從上表可以見到,當過了 8 年後,雖然差額祇有 2.946096 個太陰月,仍未足 3 個太陰月,但這個數字卻和 3 非常接近,故此,在農曆的曆法中,亦有「八年三閏月」的規定,即除了在第 3 和第 6 年分別插入 1 個閏月外,亦在第 8 年再加插多 1 個閏月。這時候,我們祇是隔了一年,就已經有多 1 個閏年了。類似地,到了第 16 年,就應該有 6 個閏月了。

注意:按「八年三閏月」的規定推算,8 年後太陽年和農曆年應該相差了 3 – 2.946096 = 0.053904 個太陰月,即約 1 日 14 小時。亦即是說,經過 8 年後,農曆年和太陽年其實祇有一至兩天的差距。大家是否記得你們 8 歲的那一年,你們的西曆生辰祇比農曆生辰早了 1 天或 2 天到臨呢?看過以上的計算,大家就應該明白,這個現象是基於甚麼原因而造成的了。

但一個更準確的結果,應該出現在第 19 年了。如果我們定「19 年 7 閏月」,那麼太陽年和農曆年就祇相差 7 – 6.996978 = 0.003022 個太陰月,即約祇有 2 小時!試想想:在長長 19 年的歲月中,若依照「19 年 7 閏月」的方法,最後兩種曆法其實祇相差 2 小時,這是一個多麼精確的結果!因此,每逢 19 或 19 倍歲數生辰的時候,西曆生辰和農曆生辰就有機會在同一天出現了。

例如:2003 年的 2 月 1 日是農曆年的正月初一。19 年後,即 2022 年的 2 月 1 日那天亦剛好是農曆正月初一!換句話說,在 2003 年 2 月 1 日出生的人,到了 2022 年 19 歲生辰那天,就會同日慶祝兩個曆法上的生辰了。(大家不妨查一查,你們 19 歲的那一年,西曆生辰和農曆生辰又是否重疊在同一天呢?)不過,如果我們倒數 19 年卻發現,1984 年的正月初一卻在 2 月 2 日,而並非 2 月 1 日!這又是甚麼原因呢?

其實理由也很簡單,這是因為「太陽年」和「太陰月」的日數都不是整數,而我們實際使用的西曆和農曆,每一年和每一個月的日數都必須是整數的。例如:西曆每逢第 4 年就會多加一日,而農曆的月份亦有長有短,有時會有 29 日,有時又會有 30 日,所以會令到部分的日子會有些微的出入,亦引致有些人即使他們到了 19 歲時,西曆生辰和農曆生辰仍然會有一天的差距。

例如:2000 年的 2 月 29 日是農曆的正月 25 日,3 月 1 日是正月 26 日。19 年後,即 2019 年,該年根本不是閏年,該年沒有 2 月 29 日,而該年的 3 月 1 日則變成農曆的正月 25 日。所以在 2000 年那幾天出生的人,到了 19 歲,亦沒有機會在同一天慶祝兩個生辰了。

就以我本人而言,在我 19 歲的那一年,農曆生辰比西曆生辰早了一天出現,即使到了 38 或 57 歲,這兩個生辰亦不會重疊在一起。這的確是一件令我感到遺憾的事情!

=======================

我测试了一下,如果说某年正好是西历的闰年,之后的的日子就被打乱了,西、农历会相差一天。

乱弹

拣尽寒枝不肯栖 飘渺孤鸿影

曲巷跳鱼 圆荷泻露 寂寞无人见

谁伴明窗独坐?我共影儿两个。灯尽欲眠时,影也把人抛躲。无那,无那。好个凄惶的我!

凭阑久,疏烟淡日,寂寞下芜城

乡梦断,旅魂孤,峥嵘岁又除

2014元旦

一大早起来就摔了一跤,觉得应该给自己找点事做,变换一下今天的心情,干脆来个HK半日游,。
过关的时候人还不是太多,可能因为中午的缘故。

来到时代广场,还留下了不少新年夜的气氛,不少小朋友在这里玩耍拍照。

20140102-181938.jpg

 

星光大道的经典塔楼。

20140102-181839.jpg

 

择日不如撞日,每周三免费这种事情居然让我碰到了。

20140102-181819.jpg

 

测试从手机发表。

春暖花开

2014就这么偷偷摸摸的来了,一大早就摔了俩跟头,也许就是把2014年的厄运都这么过去了吧。

外面现在阳光灿烂,虽然还算是冬天,还是向往春暖花开的时候。按照往年的惯例,开始整理打扫卫生,该洗的洗,该晒的晒。

2013年的好的也好,坏的也好,都这么过去吧,希望2014是个新的开始。

忘れられないひととことが色々ですけど、終わっちゃった。感謝すると謝罪する機会がありませんが、申し訳ございませんでした。

http://m6.file.xiami.com/21/2021/161000846/1771690321_4283785_h.mp3

歌名:春暖花开

作词:梁芒
作曲:洪兵
演唱:那英

春暖花开歌词:

如果你渴求一滴水
我愿意倾其一片海
如果你要摘一片红叶
我给你整个枫林和云彩
如果你要一个微笑
我敞开火热的胸怀
如果你需要有人同行
我陪你走到未来
春暖花开
这是我的世界
每次怒放
都是心中喷发的爱
风儿吹来
是我和天空的对白
其实幸福
一直与我们同在

如果你要一个微笑
我敞开火热的胸怀
如果你需要有人同行
我陪你走到未来
春暖花开
这是我的世界
每次怒放
都是心中喷发的爱
风儿吹来
是我和天空的对白
其实幸福
一直与我们同在

春暖花开
这是我的世界
生命如水
有时平静 有时澎湃
穿越阴霾
阳光洒满你窗台
其实幸福
一直与我们同在
我的世界

mpg123的循环播放

MPG123,听音乐最好能使用一个表(文件)把要播放的歌曲目录存在表里面:view plaincopy to clipboardprint?
find . -name “*.mp3” | sed ‘s/\.\///’ | sort > list.lst
find . -name “*.mp3” | sed ‘s/\.\///’ | sort > list.lst  播放的时候就可以:view plaincopy to clipboardprint?
mpg123 –list list.lst
mpg123 –list list.lst如果要循环的话可以加入–loop选项:view plaincopy to clipboardprint?
mpg123 –loop -1  songname.mp3
//-1(<0)的数表示无限循环,也可以指定确定的次数。只能是单首循环。
//这个–loop 参数如果用来播放List(文件)中的歌曲时
//是不能够达到重头到尾的重复播放的效果的,只是循环第一首。

//如果要循环目录内容的话,目前可以:
mpg123 –list list.lst -Z
//用于随机循环播放
mpg123 –loop -1  songname.mp3
//-1(<0)的数表示无限循环,也可以指定确定的次数。只能是单首循环。
//这个–loop 参数如果用来播放List(文件)中的歌曲时
//是不能够达到重头到尾的重复播放的效果的,只是循环第一首。//如果要循环目录内容的话,目前可以:
mpg123 –list list.lst -Z
//用于随机循环播放

ffmpeg笔记

 

ffmpeg version N-43921-ga366bea 版本 视频转换参数详解

(转自http://www.cppblog.com/nenlong/archive/2012/09/18/191047.html)

libavutil 51. 70.100
libavcodec 54. 54.100
libavformat 54. 25.104
libavdevice 54. 2.100
libavfilter 3. 13.101
libswscale 2. 1.101
libswresample 0. 15.100
libpostproc 52. 0.100

rem -c:v libx264 视频解码器
rem libvpx copy libxvid mpeg4 mpeg2video rawvideo
rem -b:v 2000k 视频比特率 x264固定解码率是正确 其他的都不正确
rem -c:a libmp3lame 音频解码器
rem -b:a 128k 音频比特率

rem -q:v 1 固定视频量化标度(VBR) 0.1-31 1高 31最差 这时-b:v无效 以前是 -qscale n格式
rem mpeg4时 0.1=4335k 1=3835k 2=3403k 3=2186k 4=1678k 5=1336k 6=1158k 7=1003k 31=286k
rem -qmin 1 最小视频量化标度(VBR)
rem -qmax 1 最大视频量化标度(VBR)
rem -qcomp 1.0 视频量化标度压缩(VBR) 0.0-1.0

rem -sameq 同样视频质量 此时 -b:v -qscale 无效

rem -ss 00:20:00.000 转换开始时间 不能在 -i 后面
rem -t 00:01:10.000 转换总时间
rem -vframes 600 转换振幅总数
rem -s 720×404 转换分辨路
rem -aspect 16:9 设置横纵比
rem -g gop_size 设置图像组大小
rem -bf frames 使用frames B 帧,支持mpeg1,mpeg2,mpeg4
rem -qcomp compression 视频量化标度压缩(VBR)
rem -dc 设置dct的算法
rem -mbd 2 宏块决策算法(高质量模式) 0=mbcmp (default) 1=fewest bits 2=best rate distortion
rem 转换某时间段
rem ffmpeg -y -ss 00:20:00.000 -i in_xxx.wmv -t 00:00:03.000 -c:a libmp3lame -b:a 128k -c:v mpeg4 -sameq -g 12 -bf 2 -qcomp 0.2 -dc 10 -mbd 2 -aspect 16:9 -f avi -s 720×404 out_xxx.avi

rem 全部转换
rem ffmpeg -y -i in_xxx.wmv -c:a libmp3lame -b:a 128k -c:v mpeg4 -sameq -g 12 -bf 2 -qcomp 0.2 -dc 10 -mbd 2 -aspect 16:9 -f avi -s 720×404 out_xxx.avi

视频合并
mencoder 001 002 003 -oac copy -ovc copy -o jion.avi

获取摄像头
ffmpeg -y -f vfwcap -i 0 -c:v mpeg4 -q:v 1 -qmin 1 -s 640×480 -r 24 -g 12 -bf 2 -qcomp 0.2 -dc 10 -mbd 2 -aspect 4:3 -f avi cap.avi

上传照片并自动旋转

项目中有个需求,需要通过手机浏览器上传照片。本来是个很简单的事情,后来发现手机自带的陀螺仪会根据手机的方向变化而发生旋转,导致上传的照片容易发生偏转。后来查了一些资料,在图片的EXIF信息中包含了照片的方向。

下载了metadata-extractor类,用来解析照片中的exif信息。

通过下面的方法得到方向:

public static int getImageOrientationTag(File f){
Metadata metadata;
try {
metadata = JpegMetadataReader
.readMetadata(f);
Directory exifDirectory = metadata.getDirectory(ExifDirectory.class);

if(exifDirectory.containsTag(ExifDirectory.TAG_ORIENTATION)){
return exifDirectory.getInt(ExifDirectory.TAG_ORIENTATION);

}

} catch (JpegProcessingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MetadataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return -1;
}

下面的方法来旋转照片:

public static void autoRotateImageByExif(String srcFile,String desFile){

try {
File in = new File(srcFile); // 读入文件
BufferedImage src = javax.imageio.ImageIO.read(in);
int orientation = getImageOrientationTag(in);
switch (orientation) {
case 1:
case -1:   //不需要旋转
FileUtil.copyFile(srcFile, desFile);
break;
case 8: //旋转270度
rotateImg(src, 270, Color.BLACK, desFile);
break;
case 3: //旋转180度
rotateImg(src, 180, Color.BLACK, desFile);
break;
case 6: //旋转90度
rotateImg(src, 90, Color.BLACK, desFile);
break;
default:
break;
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 构造Image对象

}

根据exif权威解释,总共有8种方向,另外四种除了旋转以外,还有镜像,根据手头的测试,没有发生镜像问题,所以就把它忽略掉了。

千万不能“不懂装懂”的英语大盘点

Sporting house 妓院(不是体育室)
Dead president 美钞(不是死了的总统)
Lover 情人(不是爱人)
Busboy 餐馆勤杂工(不是公汽售票员)
Busybody 爱管闲事的人(不是大忙人)
Dry goods 纺织品 谷物(不是干货)
Heart man 换心人(不是有心人)
Mad doctor精神病科医生(不是发疯的医生)
Eleventh hour最后时刻(不是十一点)
Blind date(由第三者安排的)男女初次见面(并非盲目的约会或者是瞎约会)
Personal remark人身攻击(并非个人评论)
Sweet water淡水(不是糖水或者甜水)
Confidence man骗子(不是信得过的人)
Criminal lawyer 刑事律师(不是犯罪的律师)
Service station加油站(不是服务站)
Rest room厕所(不是休息室)
Dressing room化妆室(不是试衣间或者更衣室)
Horse sense常识(不是马的感觉)
Capital idea 好主意(不是资本主义思想)
Familiar talk 庸俗的交谈(不是熟悉的谈话)
Black tea红茶
Black art 妖术(不是黑色艺术)
Black stranger 完全陌生的人(不是陌生的黑人)
White coal (作动力来源用的)水
White man忠实可靠的人(不是皮肤白色的人)
Yellow book黄皮书(法国政府报告书,以黄纸为封,不是黄色书籍)
Red tape 官僚习气(不是红色带子)
Green hand 新手
Blue stocking 女学者,女才子(不是蓝色长筒袜)
China policy 对华政策(不是中华政策)
Chinese dragon 麒麟(不是中国龙)
American beauty 一种玫瑰,名叫美丽动人(不是美国美女)
English disease 软骨病(不是英国病)
Indian summer 愉快宁静的晚年(不是印度的夏日)
Greek gift 害人的礼品(不是希腊的礼物)
Spanish athlete 吹牛的人(不是西班牙的运动员)
French chalk 滑石粉(不是法国粉笔)
Pull ones leg 开玩笑(不是拉后腿)
In ones birthday suit 赤身裸体(不是穿着生日礼服)
Eat ones words 收回前言(不是食言)
an apple of love西红柿(不是“爱情之果”)
American beauty一种玫瑰,名为“美国丽人”(不是“美国美女”)
be taken in受骗,上当(不是“被接纳”)
bring down the house博得全场喝彩(不是“推倒房子”)
black tea红茶(不是“黑茶”)
black art妖术(不是“黑色艺术”)
black stranger完全陌生的人(不是“陌生的黑人”)
busboy餐馆勤杂工(不是“公汽售票员”)
busybody爱管闲事的人(不是“大忙人”)
blue stocking女学者、女才子(不是“蓝色长统袜”)
blind date(由第三者安排的)男女初次会面(并非“盲目约会”或“瞎约会”)
capital idea好主意(不是“资本主义思想”)
China policy对华政策(不是“中国政策”)
Chinese dragon麒麟(不是“中国龙”)
confidence man骗子(不是“信得过的人”)
criminal lawyer刑事律师(不是“犯罪的律师”)
dead president美钞(上印有总统头像)(并非“死了的总统”)
dry goods(美)纺织品;(英)谷物(不是“干货”)
dressing room化妆室(不是“试衣室”或“更衣室”)
eat one&0#39;s words收回前言(不是“食言”)
English disease软骨病(不是“英国病”)
eleventh hour最后时刻(不是“十一点”)
familiar talk庸俗的交谈(不是“熟悉的谈话”)
French chalk滑石粉(不是“法国粉笔”)
Greek gift害人的礼品(不是“希腊礼物”)
green hand新手(不是“绿手”)
handwriting on the wall不祥之兆(不是“大字报”)
have a fit勃然大怒(不是“试穿”)
have the heart to do(用于否定句)忍心做……不是“有心做”或“有意做”)

虾米网音乐下载

为了下载虾米的音乐,网上找了不少帖子,自己写程序来解密地址加密。解密以后发现操作还是太复杂,干脆用了这个懒办法。
1.先找到音乐id
比如打开音乐的链接如下:
http://www.xiami.com/song/play?ids=/song/playlist/id/3297547/object_name/default/object_id/0

id就是3297547

2.拼下面的地址
http://www.xiami.com/app/iphone/song/id/3297547

把后面的数字换成前面的id

3.打开改地址
内容大概如下:
{“song_id”:”3297547″,”default_resource_id”:”164782″,”length”:”237″,”category”:null,”listen_file”:”\/aliyunos\/62\/7062\/297623\/3297547_164782_l.mp3″,”album_id”:”297623″,”name”:”\u306a\u3054\u308a\u96ea “,”artist_name”:”\u590f\u5ddd\u308a\u307f”,”artist_id”:”7062″,”title_url”:”yi”,”recommends”:”50″,”singers”:”\u590f\u5ddd\u308a\u307f”,”title”:”\u6b4c\u3055\u304c\u3057~\u30ea\u30af\u30a8\u30b9\u30c8\u30ab\u30d0\u30fc\u30a2\u30eb\u30d0\u30e0~ “,”album_logo”:”http:\/\/img.xiami.com\/images\/album\/img62\/7062\/297623_2.jpg”,”location”:”http:\/\/m1.file.xiami.com\/62\/7062\/297623\/3297547_164782_l.mp3″,”low_size”:”9489600″,”file_size”:null,”low_hash”:”d633a228ae032c0b0223618f367b2fbb”,”whole_hash”:”d633a228ae032c0b0223618f367b2fbb”,”content_hash”:”d633a228ae032c0b0223618f367b2fbb”,”content_size”:”9489600″,”lock_lrc”:”2″,”lyric”:”http:\/\/img.xiami.com\/lyric\/upload\/47\/3297547_1252216310.lrc”,”year_play”:”6694″,”grade”:”-1″,”album_url”:”http:\/\/www.xiami.com\/app\/iphone\/albuminfo?id=297623&uid=”,”artist_url”:”http:\/\/www.xiami.com\/app\/iphone\/artistinfo?id=7062&uid=”,”isad”:”0″}

其中的location是没有加密的地址:
http:\/\/m1.file.xiami.com\/62\/7062\/297623\/3297547_164782_l.mp3

然后把”\”全部去掉就是完整的mp3地址了,想下载或者在线播放都可以了。

なごり雪

一首被N多人翻唱的歌曲

1974年 かぐや姫 『三階建の詩』
1975年 吉田拓郎・かぐや姫 コンサート インつま恋
1975年 イルカ カバーバージョンがシングル
1976年 清水由貴子 (オーディション番組『スター誕生!』(NTV系)の第16回決戦大会で歌唱)
1978年 ビューティ・ペア(アルバム『〈スター・マイ・セレクション・シリーズ〉ビューティ・ペア』に収録)
1982年 松尾久美子 (『スター誕生!』の第42回決戦大会で歌唱)
1990年 福山雅治 (日本ビクターのビデオカメラ「ムービーごっこ」のCM曲としてカバー。未CD化)
1992年 Mi-Ke (アルバム『忘れじのフォーク・白い2白いサンゴ礁』に収録)
1994年 永井みゆき(アルバム『全曲集’95~応援歌でヨイショ』に収録)
1998年 鈴木真仁 (アルバム『いちご白書をもう一度』に収録)
1999年 LIFE RECODERS (アルバム『東京の空』に収録)
1999年 結城比呂 (アルバム『時の断層』に収録)
2000年 岡村靖幸 (シングル『真夜中のサイクリング』に収録)
2001年 七緒香 (アルバム『はじまりのうた』に収録)
2001年 市井紗耶香 (アルバム『FOLK SONGS』に収録)
2003年 ビリケン (「nagoriyuki」としてカバー)
2003年 JINDOU (シングル『なごり雪』に収録)
2004年 松浦亜弥 (アルバム『FS5〜卒業〜』に収録)
2004年 ketchup mania (アルバム『GAL盤』『THE BEST OF ketchup mania』に収録)
2005年 高橋直純 (アルバム『scene〜残したい風景〜』に収録)
2005年 平原綾香 (アルバム『From To』に収録)
2005年 石川ひとみ (アルバム『With みんなの一五一会〜フォークソング編』に収録)
2006年 徳永英明 (アルバム『VOCALIST 2』に収録)
2006年 ムック (限定配布アルバム『COVER PARADE』に収録)
2006年 神園さやか (アルバム『二十歳の原点』に収録)
2006年 嘉門達夫 (替え歌『なごり寿司』としてアルバム『笑撃王』に収録)
2007年 Kat McDowell (「ナゴリユキ」としてミニアルバム『kat』等に収録)
2007年 リュ・シウォン (シングル『花の首飾り』に収録)
2007年 夏川りみ (配信限定アルバム『歌さがし 〜リクエストカバーアルバム〜』に収録)
2008年 中孝介 (シングル『春』に収録)
2008年 ameji(アルバム『LOVE STORIES』に収録)
2008年 鬼束ちひろ (ライブDVD『NINE DIRTS AND SNOW WHITE FLICKERS』に収録)
2009年 坂本冬美 (アルバム『Love Songs 〜また君に恋してる〜』に収録)
2009年 Scott Murphy (アルバム『GUILTY PLEASURES LOVE』に収録)
2009年 ダンカン・レッドモンズ (アルバム『Up And At ‘Em』に収録)
2009年 中西保志 (アルバム『メロディーズ』に収録)
2009年 中森明菜 (アルバム『フォーク・ソング2 〜歌姫哀翔歌』に収録)
2010年 元ちとせ&秦基博(養命酒製造「ハーブの恵み」TVCMソング)
2012年 河村隆一(カヴァーアルバム『The Voice 2』に収録)
2013年 有安杏果(ももいろクローバーZ)with南こうせつ (アルバム『5TH DIMENSION』初回限定盤Aに収録)

听了好几个版本,貌似夏川里美的反而先入为主了。那就先推荐她的吧。

なごり雪

夏川りみ

なごり雪
作詞:伊勢正三
作曲:伊勢正三

汽車を待つ君の横で
ぼくは時計を気にしてる
季節はずれの雪が降ってる
「東京で見る雪はこれが最後ね」と
さみしそうに 君がつぶやく
なごり雪も 降る時を知り
ふざけすぎた 季節のあとで
今 春が来て 君はきれいになった
去年よりずっと きれいになった

動き始めた
汽車の窓に 顔をつけて

君は何か 言おうとしている
君の口びるが
「さようなら」と動くことが
こわくて 下を向いてた
時が行けば 幼い君も
大人になると 気づかないまま
今 春が来て 君はきれいになった
去年よりずっと きれいになった

君が去った ホームに残り
落ちてはとける 雪を見ていた
今 春が来て 君はきれいになった
去年よりずっと きれいになった

下面是イルカ的版本, 35年前的版本