2020年4月11日土曜日

伴奏パートに映像くっつけちゃった

柳ジョージのテネシー・ワルツ カラオケが欲しいで伴奏パートは作れました、伴奏ができると今度は曲に合わせて歌詞をテロップ表示する機能が欲しくなりますね。

カラオケ動画の制作となると映像と音声とテキストを同時に取り扱う必要があります。Windows、Macならいざ知らず、きもさべの使うLinux環境ではマルチメディアを苦手としていました。

最初はWindowsの適当なアプリを探しWindowsエミュレータ上で動作させようとも思いましたが、動作環境の構築に思いのほか手間がかかりそうなので、改めてLinuxのプログラムを探したところ、お手頃そうなもの(Kdenlive)が見つかりました。もちろんオープンソースなプロジェクトでライセンスはGPLであり、プログラムの使用、改変、再配布は全て自由です。
Kdenliveはビデオ編集用のノンリニア・エディタ(編集箇所を自由に選択でき、映像を即座に追加、削除、修正等することができるエディタ)で初心者向けのリニアエディタと較べ非常に強力だが、専門家向けというほどでもなく個人用の小さなプロジェクトの作成に適しているそうです。なんだか良さげですね。

初めてのソフトを使って何か作ろうとする時は、機能を欲張らず目標を単純なものにして完成させることが大事です。

・イントロの背景は動画にし、曲名と作曲作詞者名を表示する。
・ボーカルパートの背景は単一色とし、適切なタイミングで歌詞を表示する。
・間奏とエンディングの背景には静止画を表示する。

これが出来たら音声、動画、静止画、テキストを同時に操作する第一段階は達成としましょう。

完成したカラオケ動画の先頭40秒を切り取ってみました。

個人用だったらこれで充分かな!!

--------- 今日の朝練 ----------------
距離:31.7km
時間:1h38m
平均:19.2km/h

2020年4月10日金曜日

バックミラー付けちゃった

自転車で車道の左側を走っていると後続の車が気になります。
自転車にバックミラーなんてと思われる方もいらっしゃるかも知れませんが、車の運転経験が長いためかバックミラーを見る習慣が身についています。
Amazonでいろいろ物色し、選んだミラーです。


左用を購入しハンドルの右に下向きに付けました。
角度調整を微妙に行う必要があるがまあまあの視界を得ることができました。

--------- 今日の朝練 ----------------
距離:21.8km
時間:1h09m
平均:18.8km/h
強風のため途中で引き返す



2020年4月9日木曜日

TB x TB


2000年代を代表するフットボールチームと言えばニューイングランド・ペイトリオッツと誰もが認めることでしょう-ん?そんなこと知らないってば。
そのペイトリオッツに20年間クォーター・バックとして在籍し、6度のスーパーボウルチャンピオンに輝いたトム・ブレイディ(TB)が今シーズンタンパベイ・バッカニアーズ(TB)に移籍が決ったそうです。


今年契約が切れフリーエージェントになるブレイディ、もしかして他のチームに移籍があるかなと思っていましたが予想があたりました。
過去には長年サンフランシスコ・49ersのクォーター・バックだったジョー・モンタナがカンザスシティー・チーフスに移籍し、その年にAFCチャンピオンシップまで進出しました。
また10年間インディアナポリス・コルツのクォーター・バックを務めたペイトン・マニングはデンバー・ブロンコスに移籍後2度スーパーボールチャンピオンにチームを導きました。
トム・ブレイディ(TB)のタンパベイ・バッカニアーズ(TB)での活躍が楽しみです。

そうだ、新しくバッカニアーズのキャップも手に入れなければ...

愛用のペイトリオッツのキャップ


2020年4月8日水曜日

祝!! 輪行500km

自転車購入後1ヶ月経たずに走行距離515kmとなりました。


ビール飲めたら美味いだろうな。

--------- 今日の朝練 ----------------
距離:30.1km
時間:1h33m
平均:19.3km/h

2020年4月7日火曜日

笑う角には福来る?

面白いこと考える人いますね。



人を斬ったことが有ったと思われる人の笑顔はなんだか不気味に見えるのは気のせいか。


--------- 今日の朝練 ----------------
距離:30.1km
時間:1h32m
平均:19.6km/h

2020年4月6日月曜日

伴奏音源のピッチを変えたい

昔、カラオケという言葉がなかったころはカラオケのことをミュージック・マイナスワンと言っていました。
前回の投稿で楽曲からボーカルを取り除き文字通りのミュージック・マイナスワンを作ることができました。
せっかくできたカラオケですが、音域が合わないとヒィーヒィー声で歌うことになり切なすぎます。

ピッチを変えることにしましょう、もちろん再生速度は元のままです。


元のピッチのカラオケ





1音上げたカラオケ





1音下げたカラオケ




カラオケマシンのように演奏時に動的にキーを変えることはできませんが、予め自分のキーに合わせた
マイナスワンを作っておけばどうにかなりそうです、歌唱力ばかりはどうしようもないけどね...


------------------------ how to ------------------------------

soxコマンドを使えばピッチ変更が可能だそうだ。
Ubuntu系ではコマンドラインからaptでインストールできる。
(WindowでもSoXの公式サイトからインストーラをダウンロードすればインストール可能)

$ sudo apt install sox

soxは音源加工の万能ルールだが、とりあえずピッチ変更の部分だけ拾い読みし試してみた。

例題)
音源ファイルsound.wavのピッチを全音(長2度)下げたsound-2.wavを作る。

$ sox sound.wav sound-2.wav pitch "-200"

ピッチの変更は半音を100(セント)とし、上げる場合は正(+)下げる場合は負(-)で指定する。
上記の例では"-200"が指定されているのでsound.wavより全音低いsound-2.wavが作られる。


--------- 今日の朝練 ----------------
距離:30.7km
時間:1h35m
平均:19.2km/h

2020年4月5日日曜日

柳ジョージのテネシー・ワルツ カラオケが欲しい

まずは聞いてみてください。



柳ジョージのテネシー・ワルツ、渋いですね。

キモサベは自分の歌唱能力の欠如を充分承知の上で無謀にもこのテネシー・ワルツを歌って
みたくなりました。
しかしカラオケ探しても江利チエミやパティー・ペイジの曲はありますが柳ジョージの曲は見つかりません。
なければ諦める...いえ諦めずに自分で作っちゃいませう。

と言ってもDTMソフトを使い、MIDIデータを作るなんて高尚な能力は持ち合わせるはずはありません。
だったら手っ取り早く楽曲ファイルから伴奏だけ取り出してカラオケにすればいいじゃん。

結論から言うとカラオケ出来ちゃいました。
柳ジョージの音源から抜き出した伴奏パートをブログにアップすると著作権ややこしそうなので
フリーの音源をパートに分割した結果をアップします。


動作確認に使ったサンプル音源





分離した伴奏パート





分離したボーカルパート





本日の朝練結果
距離:22.6km
時間:1h11m
平均:19.0km/h



======================= how to =========================================

spleeterというプログラムを使うことで音源をボーカルと伴奏に分割できます。
オプション指定で伴奏パートはピアノやドラム他いくつかの独立した楽器パートにも分割できるそうです。

キモサベ環境にはWindowsはないのでLinuxでのspleeterインストールメモをアップします。
spleeterはPythonで記述されているのでWindowsでもMacでも動かせるようですよ。

インストールメモ:
spleeterサイトREADME.mdによると、spleeterはCondaに依存しているようです。

・CondaってNandaなどと詮索せずに素直にCondaをインストール
Miniconda3のLinuxインストーラをダウンロードし、コマンドを実行。
$ bash Miniconda3-latest-Linux-x86_64.sh
$ conda init fish

・Condaを使ってspleeterをインストールする
$ conda install -c conda-forge spleeter

・動作確認用にサンプル音源をダウンロード
$ wget https://github.com/deezer/spleeter/raw/master/audio_example.mp3

・spleeterを使ってサンプル音源をボーカルと伴奏の2つのパートに分割する
$ spleeter separate -i audio_example.mp3 -p spleeter:2stems -o output

output/audio_exampleディレクトリにvocals.wav(ボーカルパート)と
accompaniment.wav(伴奏パート)の2つのファイルができました。







2020年4月4日土曜日

江戸川でカヌー発見!

朝練の途中、江戸川に浮かぶカヌーを見つけました。

200404江戸川カヌー - Spherical Image - RICOH THETA


その昔、江戸川のカヌークラブでカヌーをやっていたことがあります。
知り合いいないかなと思い声を掛けてみたら、在籍していたクラブの
本家だか分家だかのカヌークラブの人達でした。
「カヌーは年を取ってもできます、遊びに来てください」とのこと。
またカヌーするのもいいかな!
在籍してたカヌークラブのリンク

本日の朝練結果
距離:26.7km
時間:1h24m
平均:18.8km/h



2020年4月3日金曜日

おねえさん、ホッピー中!!

ホッピーって知ってます?



関東地方以外にお住まいの人やオヤジ化していない女性はご存知ないかもしれません。

ホッピーは焦げ茶色のガラス瓶に入って販売されているビール風味の炭酸飲料水です。
その昔ビールが高価だった頃、安い焼酎をホッピーで割り、ビールを飲んでいる気分を
味わいつつ安価に酔っ払いたいという飲ん兵衛の切ない気持ちを汲んで作られた飲み物です-多分。

居酒屋でホッピーセットを頼むと、焼酎と氷の入ったジョッキと瓶のままのホッピーが来ます。
このうち焼酎部分を中(なか)、ホッピー部分を外(そと)と称します。
最初に来たセットのジョッキーにホッピーを注ぐと2/3程ホッピーが余ります、ていうか余るように注ぎます。
あまりものは有効に活用せねばなりません、飲み終えたら「おねえさん、ホッピー中!!」と叫びます。
するとおねえさんは空のジョッキに焼酎を注ぎ足してくれます。
つまりホッピー1本で焼酎3杯飲めてしまう計算です。

キモサベは今ドクターストップがかかり、半世紀程休肝日なく続けてきた習慣を中断してほぼ
一月経ちました。
必然的にホッピーは「外」だけのエアホッピーとなります.......トホホ
「おねえさん、ホッピー中」...キリッと叫ぶ心の中の声


こだわりのホッピーレシピ:
・キンミヤの焼酎とジョッキを冷凍庫でキンキンに冷やす。
・ホッピーは冷凍庫でなく冷蔵庫で冷やす、さもないと凍ってしまう。
・冷凍庫から取り出した霜付きのジョッキに焼酎とホッピーを1:4で注ぐ。
・軽くステアしてできあがり。
・味が薄まるので氷は絶対に入れてはならぬ。
真夏の飲み物に最高です。

理屈と膏薬はどこにでもくっつく、キモサベ!!

2020年4月2日木曜日

北風強し

天気は快晴のサイクリング日和ですが北風が強すぎます。
軟弱ですが、バイクは止してTheta片手なお散歩にしました。

東漸寺桜200402-3 - Spherical Image - RICOH THETA


東漸寺の桜は強風にもめげずまだ残っています。

2020年3月31日火曜日

桜の季節も終わりかな

観測史上もっとも早い開花を観測した関東地方、開花後の低温にも恵まれ(?)
3月末でも花が散らずにがんばって咲いています。

運河の桜 - Spherical Image - RICOH THETA


3月の中旬にe-bikeを購入し、雨の日以外は江戸川堤防をサイクリングすることが日課となりました。
乗り始めた頃は江戸川運河の桜が満開で、写真に撮りたいと思っていましたがカメラは邪魔ですね。

そこで購入したのがRicho Theta全天球撮影カメラです。
Thetaは小さく、軽くいのでポケットに入れて簡単に持ち運べます。
写す時は電源を入れシャッターを押すだけ、構図も気にすることはありません。
サイクリングのお供にうってつけですね。


江戸川堤防の菜の花 - Spherical Image - RICOH THETA


菜の花もそろそろ終わりかな

キモサベ!

2016年3月1日火曜日

Old Grand Dad 114

国産ウィスキー高くなりましたね、普段飲みはもちろんハレの日にでも手が届かなくなりつつ有ります。
そこにいくとバーボンは種類も多く、値段も比較的リーズナブルで選択肢が多そうです。
アルコールなら消毒用アルコール以外何でも飲みそうなキモサベですが、実はバーボンが苦手でWILD TURKEY以外はあまり美味しいと思ったことがありません。

その時突然、頭の中で「スパイ大作戦(MI)のテーマ」が鳴り出しました。
♪ジャンジャンツジャジャ、ジャンジャツジャジャン
   ちゃらら〜、チャララ〜、チャララ〜、チャラツジャンジャン♪

「おはようキモサベくん。
  今回のミッションは"OLD GRAND DAD 114 を評価せよ"だ。
  知っての通りバーボンはアルコール度数が非常に高いものが多い。
  中でもこの"OLD GRAND DAD 114 " は名前が示すように114プルーフだ。
  すなわちアルコール度数57°とバーボンの中でも最も度数の高い部類になる。
  繰り返すまでもないが君もしくは君の肝臓がダメージを受けても当局は一切関知しない。
  成功を祈る、キモサベくん。
  なお、このメッセージは消去されることなくインターネット上を永遠に漂うことになるだろう。」




  • かなり濃い目の茶色
  • 香り
    セメダインの様な香りの中にフルーティな甘い香りが混ざっている

  • 口に含むとアルコール度数57°を感じさせない滑らかな飲みくち、口の中全体に甘みが広がる。
    う〜ん、これ好きかも。
    飲み終えた後、口から鼻へ抜ける香りにはセメダイン臭はなくなりフルーツ系の香りだけになる。
    少し水を足すと甘みが強まるが舌の両サイドに苦味を感じる気がするかな。
    炭酸で割ってみたらどうだろう、苦味が調度良いアクセントになりなりそう。
  • 総評
    キモサベ好みです。
    星印評価はいくつかバーボン飲み比べた後にしましょう。

2016年2月28日日曜日

microUSB マグネット・ケーブル

AndoridスマホのmicroUSB充電端子にケーブルを繋ぐときイライラしません?
上下が分かりづらいし、挿そうとすると斜めだったりしてうまく入らなかったりしますよね。
無理やり斜めに挿すとスマホの端子が壊れることもあるそうです。

WEBをお散歩中に良さ気な商品を見つけたので早速ポチりました。
microUSB端子の防塵保護を兼ねたマグネット・ケーブルです。
スマホの充電端子にケーブル付属の端子をセットして、スマホにケーブルを近づけるとマグネットの力でくっつきます、いいですね。
充電するのなら上下の向きは気にすることはありません。
ただ、PCとAndroidデバッグモードで接続したり、PCからスマホのストレージにアクセスするときはX-cableと書かれた面を上にして接続する必要があるようです。


WSKEN X-cable





2016年2月24日水曜日

Amazon Prime NOW車見っけ

Amazon Prime NOW
専用アプリから注文すると1時間で商品が届くとの謳い文句。

年寄りには便利かな、でも小売店どうなってしまうのでせう?
ちなみにキモサベの住む地区は2時間配達区域らしい。





今朝通勤途中で見かけた専用車らしき車。

2016年2月23日火曜日

Intel NUC

5年ほど使ってきたDellのノートPCが絶不調。
NVIDIAチップとドライバの相性が悪いのか、新し目のLinuxディストロはインストールできても起動しません。
しかたなくCentOS6.5を入れてだましだまし使ってきましたが、最近Xがときどきフリーズし端末の切り替えもできないため電源を落とすしか方法がありません。
比較的短命でしたが寿命とあきらめ新しいPCに入れ替えることにしました。
Dell Vostro3700の不満は
  • キーボード使いにくい、テンキーなんて邪魔なだけ
  •  液晶安物だよね、目が疲れる
  • 画面サイズが大きからず小さからず中途半端
  • 知らないうちにタッチパッドに掌が触れ、マウスカーソルは何処に?
なので今回はノートPCは購入対象外。
またキモサベの作業小屋は夏暑く、冬寒い環境なので持ち運び可能な小型PCを探すことになりました。

そこで見つけたのが、インテルご謹製4インチ四方サイズのベアボーンキット。
ベアボーンキットと言っても、有線無線LAN、Bluetooth、グラフィック機能は組み込み済みなのでSSDとDIMMを挿せば組み立て完了の超お手軽キット。
重量も400g程なので快適な居場所を求めて家の中をさまよえそう。

 Intel NUC NUC5I5RYH


 上から128GB SSD(m.2)          8GB DIMM          裏蓋を外したNUC 




お気に入りのキーボード、マウス、モニタをつなぎ64ビット版 Linux Mint17.3 をインストール。
快適環境できあがり!!


 



2015年6月13日土曜日

考える人

去年の10月頃ネットで見つけ、衝動的にポチッと予約してしまった「ポーズの変えられる考える人」が到着しました。
6月は誕生月です、昨日の自分からの今日の自分への誕生日プレゼントをお披露目します。

考える人

 

考えすぎた人


 

走りながら考える人?



 

ほんとに考えているの?...な人

いろいろなポーズ、しばらく楽しめそうです。

昨日なんてもうあらへん
明日なんてまだあらへん
あるのんは今日だけどす
キモサベ!!


2015年6月5日金曜日

久しぶりの記事公開です(何年ぶりや)。

冬から春先にかけては、土日は近所の川辺で野鳥撮影を楽しんでいましたが、
土手が草で覆われ、ほとんど鳥を見つけることができなくなり鳥撮るトーさんの鳥撮るカメラの出番もすっかり減ってしまいました。

昨夜、窓越しに外を見るとほぼ満月状態の月が浮かんでいました。
鳥撮るカメラの出番です。

酔写1


35mm換算1200mmの超望遠で、酔っぱらいが手持ちで月を撮るのは無謀でした。


カメラを三脚にセットして酔写!

酔写2



三脚でもブレてますね、酔っぱらいですからまぁこんなもんでしょう。
三脚をセットしている途中、ジェット旅客機が月を横切る「ET」的
なシーンを撮り損なりました、残念!

キモサベ

2011年8月19日金曜日

ZK:グリッドに追加した最後の行を必ず見えるようにする

Clients.scrollIntoView(component)メソッドを使うことで、親エレメントをスクロールし、指定したエレメントを見えるようにすることができます。 元ネタ
--- zul ---
<window title="動的に追加した最後の行を必ず見えるようにする方法" border="normal"
                     apply="ctrl.MyCtrl" width="350px">
    <grid height="50px">
        <rows id="rows" />
    </grid>
    <button label="行を追加" id="addBtn" />
</window>
--- java ---
public class MyCtrl extends GenericForwardComposer {
    private Rows rows;
    private static int count=0;
    @Override
    public void doAfterCompose(Component comp) throws Exception {
        super.doAfterCompose(comp);
    }

    public void onClick$addBtn(){	
        count++;
        Row row =new Row();
        row.appendChild(new Label("new"+count));
        row.setParent(rows);
        Clients.scrollIntoView(row);		
    }
}

2011年8月9日火曜日

Javaコントローラ内でJavaScriptコードをコールする

元ネタ
JavaのコントローラからJavaScriptのコードを実行させることが必要に なるケースがあるかもしれません。 例えばサーバ・プッシュを使い下記の様な処理をする場合が考えられます。
  • サーバ・サイドでイベントを発行する
  • そのイベントは専用のスレッドで操作される
  • そのスレッドの中からなにがしかのJava Script関数をコールしたい
  • こんな時はこんな風に!! Clients.evalJavaScript("alert('Hello World!')); 簡単でしょ?

    --- zul --
    <window title="JavaコントローラからJavaScript関数をコールする" 
           apply="zkexamples.ViewController2"  border="normal" width="350px">
          <button id="btn" label="click"  />                  
    </window>
    
    --- java ---
    public class ViewController2 extends GenericForwardComposer {
        public void onClick$btn(Event event){
            Clients.evalJavaScript("alert('Hello world!');");	
       }
       public void doAfterCompose(Component comp) throws Exception {
            super.doAfterCompose(comp);
        }	
    }
    

    2011年8月1日月曜日

    ZK: JavaScriptからJavaコントローラのメソッドをコールする

    JavaScriptからコントローラ内のJavaメソッドをコールするときは、JavaScript内で親コンポーネントに対しイベントを送り、親コンポーネントのイベントハンドラでコールしたいJavaメソッドを呼び出すようにします。

  • サーバにイベントを送るJavaScript関数

    function callJavaMethod(){
    zAu.send(new zk.Event(zk.Widget.$(this), 'onLinkClicked', 'Parameter'));
    }

    zk.Widget.$(this) => 親コンポーネント(この場合は "rootwindow"を指す)
    'onLinkClicked' => 送出するイベントを処理するコントローラのイベントハンドラメソッド名
    'Parameter' => イベントハンドラへ渡すパラメータ。(オプション)
    ※イベントハンドラ内で Event event を ForwardEventにキャストし
    getOrigin().getData()でパラメータの値を取得できる。



  • JavaScriptから送出されたイベントのイベントハンドラメソッド

    public void onLinkClicked$rootwindow(Event event){
    someJavaMethod();
    }



    --- zul ---
    <window id="rootwindow"
    title="JavaScriptからJavaコントローラのメソッドをコールする" border="normal"
    apply="zkexamples.calljavafromjavascript.ViewController">
    <html><![CDATA[
    <script type="text/javascript">
    function callJavaMethod(){
    zAu.send(new zk.Event(zk.Widget.$(this), 'onLinkClicked', 'Parameter'));
    }
    </script>
    <a href="#" onClick="callJavaMethod();">Click me</a>
    ]]></html>
    </window>


    --- java ---
    public class ViewController extends GenericForwardComposer {

    // JavaScriptからイベントハンドラを経由してコールされるコントローラのメソッド
    private void callMe() {
    alert("Hello JavaScript, this is Java!");
    }

    // コントローラのイベントハンドラ名の最後に親コンポーネント名をつけること忘れないこと!!
    public void onLinkClicked$rootwindow(Event event){
    ForwardEvent fevent = (ForwardEvent)event;
    System.out.println(fevent.getOrigin().getData());
    callMe();
    }
    }