忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]

フェルマーの最終定理は
「3 以上の自然数 n について、xn + yn = zn となる 0 でない自然数 (x, y, z) の組み合わせがない」
というもの。

これに対し、
「0、1、2以外の複素数 n について、xn + yn = zn  となる 0 でない自然数 (xn, yn, zn) の組み合わせがない」
と修正したとき、反例を挙げることができないか

と考えてみていた。
つまりxやy、z自体は整数でなくとも、n乗したときに整数になるならよい、と条件を緩めてみたわけだ。
また、nも整数からいきなり複素数に制限を緩める。

そうすると、オイラーの公式:eix=cos(x)+isin(x)から
e2のiπ乗は1であり
eのiπ乗は-1なので、これを足せば0になる。
i=√(-1)は虚数単位、e≒3は自然対数の底、π≒3は円周率である。

つまり
(e2)+e=0
という反例が出せるのではないかと考えたわけだ。


しかし、0のiπ乗とはなんだ?
0のπ乗は0だからそこはいい。
しかしそれをさらにi乗するという演算は見たことがなかった気がする
これは可能なのか?少し不安になってきた。

 


とりあえずぐぐってみよう。
0i(0のi乗)でぐぐると電卓機能の計算結果が・・・出ない・・・
それらしきサイトも見つからない・・・

 

もしや本当に存在しないのだろうか・・・

思えば、0zのzが負数である時点で0による除算になってしまうので
発散してしまう。

このzを複素数に拡張したら・・・どうなるのだろう

 

じゃあこうしよう。
aを何らかの複素数としてaのi乗について調べるんだ。
それで、aを0にする極限をとってみよう。

 

aのi乗の計算のしかた。

t=aiとおき、自然対数をとる。
lnt=ilnaとなるので
s=lnaとおく
この指数をとると
a=esとなるが
aは複素数なので
sも複素数となり
s=r+(θ+2πm)i

とおける。rとθは任意の実数、mは任意の整数である。
虚部がθだけでない理由は、何周しても同じ値を取るからである。

では、このsを代入してみる。

lnt=is=ri-(θ+2πm)
なので
t=e2πm・eir/eθ
という結果を得た。

aiという演算は、aという複素数の偏角と絶対値を入れ替える効果があるらしい。

このaについて0の極限を取りたいのだが、この場合aは複素数であるから、あらゆる偏角から0に収束させていったほうがいいだろう。
fb3efc7c.JPG


a=es、s=r+i(θ+2πm)なので
とりあえず偏角θとmは任意にしておき
rを-1から1つずつ減らしていくことにしよう。
r=-∞になったとき、a=0の極限となる。

すると、rの変化によってaiは図のような数になっていく。
c40aad4d.JPG


e2πm-θのθとmが任意なので、aiの絶対値はどの値も取りうる。
つまりrによる偏角しか定まらないので、線として表現した。


今のところrが整数だから偏角も離散的だが
rが連続になると偏角も連続的になってしまうだろう。
r=-∞つまり∞の偏角など知りようがない。

つまり、aを0に持っていったときのaiは、複素平面全域に広がってしまうということになる。つまり不定だ。

 

ということは、
(e2)+e=0
も成立しない。


こうして僕の提案は徒労に終わった・・・



↓気に入ったり気になったりしたら押すわけよ
にほんブログ村 科学ブログ 自然科学へ
にほんブログ村
 

拍手[4回]

PR

da24f7f1.jpeg









よく高校の化学のテストなんかでボーナス問題に
周期表をできるだけ埋めよ
なんて問題があったりしますよね。

周期表は
4d0fe478.JPG






こんな感じのやつです。
それで、この問題があんまり例年通りなので
クラスの間で先輩から仕入れた情報として
「ボーナス問題は周期表穴埋めだって~」なんて事前情報が回されるのも先生はお見通しだったりするわけですよ。

 

生徒側も、「ここはいっちょボーナス問題で稼いだろかっ!
って連中と
これはあかん><どうせボーナス問題やし、捨てるわ~
って連中に分かれるわけですよw


あ、中間がいますね。
「ぼちぼち覚えてテキトーにボーナスもらおー」
って連中もいますよね

 

でも、ぼーっと見てるだけでは、本番頭真っ白になってしまうのが周期表穴埋め問題というもので、
最初の水素の次のヘリウムでつまずく人も少なくないと思います。
ヘリウムはまだいいとしても
リチウムベリリウムと進んで、間があいてホウ素どの辺だっけ?
っていうアレですよアレ

 

そんなときには縦の覚え方がいいフォローをしてくれます。
普通は横に覚えますよね。
そこを縦にも覚えてたら2重の苦しみじゃとか思うかもしれませんが
これが結構重宝するのです。

列は18列あるので語呂合わせも18個あったりするのですが
18種類全部を無理して覚えることもありません
頭に入りそうな数種類を覚えているだけでもずいぶん違うものです。


いちおう全部挙げてみましょう

左から順に

1 H Li Na K Rb Cs Fr
Hなリナちゃん彼のルビーせしめてフランスへ

2 Be Mg Ca Sr Ba Ra
仮面ライダーストロンガー バイクに乗ってラッタッタ

3 Sc Y
スカイラークでお食事を

4 Ti Zr Hf Rh
チンコずるむきエッチなフェラチオ、リッチなフェラチオ

5~10
×

11 Cu Ag Au
オリンピック

12 Zn Cd Hg
人生門出にハゲかくし

13 B Al Ga In Tl
バグあるがインテル

14 C Si Ge Sn Pb
くさいゲロすんな

15
×

16 O S Se Te Po
おおすげーセックステクはポルノ並み

17 F Cl Br I At
ふっくらブラジャー愛の後

18 He Ne Ar Kr Xe Rn
変な姉ちゃん歩いて狂ってキスしてランラン


覚えてるのと検索できたのでせいぜいこれくらいでしたorz・・・
・・・フィルタリングのバカヤロウ!
解除したくてもIDは親父が持ってるんだよチクショー!

 

まあとにかくですね、これくらいだけでも結構重宝するんですよっと。

 

したらば、横の語呂合わせを紹介しますか。
化学の先生には、「せめてZnまでは覚えとけ」
って言われてたのでそのまんま鵜呑みにしてそうしました^^

H He
水平

Li Be C B N O F Ne
リーベ 僕の船

Na Mg Si P S Cl Ar
七曲にシップすぐ来らぁ

K Ca Sc Ti V Cr Mn
閣下スコッチ暴露マン

Fe Co Ni Cu Zn
フェコニクズン

当時教わったときは、Mnまで語呂あわせを教えてもらったのに、
その先のZnまでが先生曰く「あとはテキトーに覚えろ」だったので
そのまんま当てるしか能のなかった僕はなんとなーくスレイヤーズ風でいいやってことでそのまんま覚えましたよ。


ただですね、この「Znまで」というのが結構大事になってくるんです。
亜鉛の斜め右上がAlなんで、パズルが埋めやすくなるんですよ。
しかも、電気工学科にとって大事な半導体元素がその辺にうじゃうじゃいらっしゃるので覚えやすかったのもあります。

B  C  N
Al Si P
Ga Ge As

の中央が半導体の中枢になる真性半導体の元素で
左側と右側にあるのが真性半導体にドーピングする元素なんですよ。

Cは生命に不可欠な元素ですし、Siはコンピュータに不可欠な元素で
なんか生命と機械のハザマでって感じもしますしね


H
→下いってLiBe
→また下いってNaMg
→さらに下いってKCaScTiVCrMnFeCoNiCuZn
→斜め右上に行ってAlSiPSClAr
→上に戻ってBCNOFNe
→上に戻ってHe

ってやるとパズルのピースが埋まりやすいので、僕はこの方法でいつも埋めています。


その上で縦の覚え方を覚えていると、さらに穴埋めが可能になるだけでなく、間違いに気づきやすくなるんですね。

 

この時点で

e10fa1fc.JPG





このくらいまでは埋まるわけですよ。

それと、43番目の元素Tc
これは、周期表においてそんなに下のほうにないのに、地球上では自然界に存在しなかった元素なんです。
周期表を作ったメンデレーエフは自身が作った周期表を基に、空白の部分に何か未知の元素があることを予言し、実際に発見されたわけです。
だからだと思いますが、テクノ的な意味合いをこめてテクネチウムなんだと思うんですよね。
出席番号が43番の方は覚えるチャンスですよ!

で、このTcと、Te(テルル)が紛らわしいんですねえ
「セックステク」と言ってるのにTcではなくTeなんですよ
埋めていくと後々、Ta(タンタル)というのも出てくるので今度はこれがTl(タリウム)と紛らわしくなるかもしれません

アスタチンもついついAsと書いてしまいそうになりがちですが
Asは砒素なのでお間違いなく。
AtですよAt。「愛の後」のあと。

アンチモンSbとスズSnは名前と記号が一致しない隣同士として有名かもしれません。両方とも頭文字がSですし。スズSnのすぐ上に硫黄SがあるのでSではないのはすぐにわかると思います。

 

僕は最近までこの辺で限界が来ていました。
そこに去年あたり、彗星のごとくやってきた歌があったのです。

エレメントハンターED スイヘイリーベ~魔法の呪文~

これを寝る前に子守唄代わりに毎日聞くだけで
2週間くらいで半分はするっと暗記できると思います。

これはホント強力ですよ。

1ヶ月以上聞き続ければ
111種類ほとんど埋まりそうな中毒性を持っていますからね

ただ、やっぱり対象年齢というのがあるようで
さすがに小学生とか幼稚園児に聞かせても下地がないので
元素名を覚えても元素記号が書けないっていう事態が多発しそうですね。

その上、ランタノイドとアクチノイドは逆に、演奏時間の関係で元素記号だけを早口に言ってしまうので、今度は元素の名前がわからないと意味があんまりなくなってしまいます。


ランタノイドとアクチノイドはそれぞれ15種類です。
周期表の外側におまけのように書かれていることが多いのですが
元の表が偶数列なのに対し、15という奇数列であることに注意しましょう。

ランタノイドとアクチノイドはそれぞれ、BaとHf、RaとRfの間に入るべきなのですが
その真下から書き始めてハロゲンの列で終わることを意識するとよいかもしれません。

ランタノイドのPmとSmが隣同士で
その右下に2つずれてAmとCmが隣同士にあることを注目すると結構覚えやすいと思います。
その上、ランタノイドの右から3番目にTmがあって
その左下にFmがあるのもついでに覚えてしまうといいかもしれません。

ランタノイドとアクチノイドのそれぞれ最初はランタンとアクチニウムで、そのまんまの名前なのでここは真っ先に覚えておいていいかもしれません。

一番右側も、どちらも頭文字がLなので覚えやすいと思います。

ランタノイドの右から2番目のYbはイッテルビウムと読みます。
面白い名前なのでぜひYイットリウムと一緒に覚えちゃってください。
どちらも周期表で言えば左から3列目にあるといえるので、似たような化学的性質を持っています。
ちなみに、YとYbの両方の語源もイッテルビーという地名です。


アクチノイドのAmからNoまでは、頭文字がアルファベット順であることをキーに覚えてもいいかもしれません。
また、この辺になってくると語源になる地名や人物名が割とよく知ってるものになってくるのもあって意外と覚えやすかったりします。

Am:アメリシウム←アメリカ
Cm:キュリウム←キューリーふじん
Bk:バークリウム←バークレー(大学のあるところ)
Cf:カリホルニウム←カリフォルニア
Es:アインスタニウム←アインシュタイン(爆発物の理論で苦悩した人)
Fm:フェルミウム←フェルミ(半導体の理論にかなり貢献した人)
Md:メンデレビウム←メンデレーエフ(この周期表の人)
No:ノーベリウム←ノーベル(爆発物を作ったえらい人)

Pu:プルトニウム←プルート
Np:ネプツニウム←ネプチューン
Eu:ユーロピウム←ヨーロッパ

Rf:ラザホージウム←ラザフォード(原子模型を確かめた人)
Bh:ボーリウム←ボーア(量子論を築いた一人)
Rg:レントゲニウム←レントゲン


ついでに、最近になって112番目の元素が一瞬だけ作られたようなので
その元素も覚えてしまいましょう。
コペルニシウムCnです。
語源は、地動説を唱えたコペルニクスです。Drエメットブラウンの飼い犬のことじゃありませんよ。

本当は若干違うのですが、原子の構造は太陽系と似たような構造になっていて、中心に原子核が鎮座していて、周りを電子たちが回っているような感じになっています。
そのようなこともあってコペルニクスにあやかった名前なのかもしれません。

 

b0f2d442.JPG






Re(レニウム)の右上にRu(ルテニウム)があってそのすぐ右にRh(ロジウム)があるのも結構いい目印だと思います。

Sn(スズ)やPb(鉛)、Tl(タリウム)やAs(砒素)などの毒性の強い元素が似たようなところにごちゃごちゃしてるのは、やはり「縦並びの元素は似たような性質を持つ」ことに由来するのでしょう。


Heの列は希ガスといって化学的にはほとんどほかの物質と反応しない元素です。

そのすぐ左の列はハロゲンと言って希ガスとは対照的にものすごく反応しやすい元素です。反応しやすいために単体では結構危ないようです。

希ガスの右隣は一番左の列です。
一番左の2列もハロゲン同様単体ではあまり長く存在できずほかの物質と反応しやすい危険な元素たちで、それぞれアルカリ金属、アルカリ土類金属と呼ばれています。

希ガスの反対側、周期表の中央にもなかなか反応しづらい金属があります。
オリンピックのメダルに使われる金属ですね。
安定→なかなか取れない→希少価値が高い→高価な金属というわけです。

 

とりあえず元素112種類の中、109個は埋められるようになったのですが
ランタノイドの後半4つがどうにも頭に入る気がしません。煩悩のせいでしょうか。

 


ウランやコペルニシウムなどの番号の大きい元素は、すぐに崩壊してしまうため、一瞬しか存在できません。
今後も、そのような一瞬だけしか存在できない元素が少しずつ作られて名づけられ、性質が調べられると思いますが
その上限は210番とも173番とも137番とも言われ、はっきりとはしていませんが137番説が比較的有力かもしれません。

この限界を提唱したファインマンという物理学者によって、暫定的にファインマニウムと呼ばれていますが、この137という数、微細構造定数の逆数2 h c ε0 / e2に結構近い数で、関係があるとかないとか・・・。


もし137番目で限界なのだとしたら、173番目付近で起きる現象はお蔵入りということになりますね・・・。


以上、毎度おなじみ怒涛のウンチク、トム・ベンソンでした(笑)


↓気になったら押してちょ><
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村
にほんブログ村 科学ブログ 自然科学へ
にほんブログ村


拍手[4回]

僕は、今刑務所の中にいる。
政治的にとても重い罪を犯したため、絶対に出られないとされる、ブラックホール・タウンに収容された。

これを読んでいる君たちの時代では信じられないかもしれないが
人類の文明は、ブラックホールの表面を殻で覆って、そこに住めるくらいの技術を持つまでになった。

一方で、僕たち人類の姿は何万年経っても変わらず、生身のままだ。
この辺に人類の保守性が伺える。

生身の人類がブラックホールの表面で生活できるためには、
重力加速度は9.8m/s2程度まで、潮汐力は10のマイナス4乗N以下まで抑えなくてはならないため
ブラックホールのシュバルツシルト半径は1光年程度、したがってブラックホールの質量は10の43乗kgと、銀河の中心にある規模の超巨大ブラックホールを使わないとままならない。

景色はかなり面白いぞ。
ブラックホールの表面だけあって、ここを出た光はほとんど外側には出られない。
表面のこのタウンを延々と周回するか、下に落ちるしかないわけだ。
だから、周囲の景色がグンと圧縮されて見える。
タウンのどこにいても、全天の星空が見渡せる。かなり小さいけどね。
凸面鏡のお化けが視界いっぱいに広がってる感じで、よほど分解能のいい望遠鏡でもあれば、タウンを何周もした光による自分自身の姿も見えるかもしれない。

そんな大規模の収容所を作るだけの技術力は持った人類だが、それだけ費用がかかったため、そこに収容される極悪人のジャンルは限られる。
僕のような政治的極悪犯罪を犯した者たちだ。

僕はどんな罪でここに入れられているのかというと、タイムマシン発明によるタイムパラドックス発生懸念の罪のため、というわけだ。

懸念なんだよ。懸念の罪ってなんだよ(笑)

タイムパトロールじゃあるまいし、タイムマシンができちゃったからには、パラドックスなんか起きるわけがない
そこは実は認められている。

あまり知られていない僕の真の罪状は、未来からの無数の技術提供によって経済が破綻することへの危惧なんだ。
どうも、僕らのいる時代よりはるか未来の世界では経済という概念は存在していないらしく、そこの住人は貸し借りという概念すら持ち合わせていないため、無償で技術や知識を提供しちゃってくれるらしいのだ。

これを現代の社会が拒否しているらしい。
だから僕はここにいるらしい。
冤罪だよねぇ。まあ、政治的な罪なんてこんなもんだろうけどね。


まあそこで、愚民しかいない現代の世の中で、社会を変えられる天才は僕くらいしかいないということで
脱獄を計画中だったりする。

幸い、ここの囚人はみんな政治的な罪を犯した人たちだからワルがいない。
そして決まって聡明な人ばかりだ。
僕の脱獄計画をすんなりと理解し、受け入れて協力を約束してくれた。

僕の計画はこうだ。
シュバルツシルト半径上に作られたタウンといえども、シュバルツシルトそのものに作るわけにはいかないから、少しだけ大きな半径を取っていると考えられる。
したがって、莫大なエネルギーはかかるが、重力場を這い上がることは理論的には不可能ではない。
そこで、このタウンの地面を作っている硬い材料を使って軌道タワーを作ろうというわけだ。
軌道タワーといっても、タウン上空に浮遊している物体はない。
あったとしても食料などを用意しに来る巡回機だけで
その巡回機自体も無人の使い捨てである。戻れないからだ。
そのため、軌道タワーといえど引っ張るものが何もない。
だから軌道タワーとは名ばかりで、力技のただのタワーを作ってやろうというのが本計画である。


タワーの材料は地面を使う。
タウンを作っている地面、半径1光年もの球殻を形作るために非常に硬い物質ではあるが、
1点を見極めて叩けばものすごくもろい材料でもある。
実はこれを利用して、ここで死んでいった囚人をシュバルツシルト半径内に落とす穴を開けているのだが
その穴を開ける工具の仕組みが企業秘密とされているため、見極めるべき1点の情報が僕たちには分からない。
しかし、そこはここの住民、もうそのデータ解析に成功した輩がいるわけだ。



次に、長寿の技術。
軌道タワーを効率的に作ろうにも、それには工作機械の設計から始めなければならない。
長い年月が必要だ。
そのため、通常の人類の寿命をはるかに超える寿命が必要となってくる。
それも、ひそかに作り出していた輩がいた。さすがブラックホールタウンの住民だ。
この技術を、このタワー計画に賛同してくれた全員に提供する。
ほしい人がいれば、その人にも提供する

中にはここから出ないまま長寿になり、ずっとすごしたがる変人もいる。
そんなあたりもブラックホールタウンならではの現象だろう。



======
どのくらいの年月が過ぎただろうか
ブラックホールの重力圏から離脱するだけのタワーが完成した。
ブラックホールタウンでこれなのだから、
時間が遅くなっていないブラックホールの外ではもっともっと時代が過ぎ去っているだろう。

どのくらい文明は進んでいるだろうか。
もう、未来から無数の情報提供をもらえるまでに人類は進化しているだろうか
僕が脱獄する意味はあったのだろうか。
まあいい、社会を変える云々よりも、僕が再び社会を見てみたいという好奇心から立てた計画だ。
いまさら後悔はしていない。

じゃあ、みんな行こう。
たぶんもう戻ることはない。

にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村

拍手[4回]

ほら、おまえらテレビとかモニタのサイズ測んじゃん
32インチ型のテレビの縦と横の長さってルートキーなしでどうやって計算すんのよ。
今の縦横比は16:9なんぜ?4:3じゃないんぜ?
ピタゴラスの定理にぶっこんでみろよ
斜め2=縦2+横2だから、256+81で、337だろ?
これ68番目の素数じゃん!
どうやってルートとんのよ!
ルートキーなかったらこうなるじゃんよぉ

10の2乗は100で337より小さい
20の2乗は400で337より大きい

15の2乗は225で337より小さい
18の2乗は324で337より小さい

19の2乗は361で337より大きい

18.5の2乗は約342で337より大きい

18.4の2乗は約339でだいたい近い。

じゃあ縦9:横16なら、斜め18.4だな。

こうなるじゃんかよー><

ルートキー押せば一発だぞ?
18.36とか一発だぞ?

32インチは約81.3センチだから
縦は81.3×9/18.4で約40cm
横は81.3×16/18.4で約71cm

れでようやく縦と横の長さが分かるんじゃん
これでルートキーの大切さがわかったじゃん?



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

昔、オブジェクト指向のさわりを学んだとき、
抽象クラスという実体のないクラス(概念)を大雑把に作っておいてから、具体的なクラス(概念)を実装していく
っていう話を聞いて
コンピュータはついに抽象的な概念も曲がりなりにも扱えるようになったのか!?
と感心したことがあったんだけど

解析的な計算は確かまだできてないはずだよね?

といってもマセマティカを目にすると、なんとなーくできかけてるんじゃねーのって印象は受けちゃうよな。
結局、解析的な計算ができるかどうかってどういうことなんだろうね

すでに知られている解析的な計算をすべて覚えこんでリンクさせるだけなら、
どんな力技かエレガントな方法かは分からないけど、要は暗記ってことになるんだと思うんだよねえ。

その定理なんかを新たに生み出すってのがコンピュータがまだできてないこと?

遺伝的アルゴリズムなんかはどうなんだろう?
これを定理の開発方面に利用して、
ランダムさから得た小定理を積み重ねていったらやがて大きな定理をコンピュータが発見することはできるんだろうか?

コンピュータの根幹は単なる計算って言ったって
脳の根幹だってデジタルとアナログのハイブリッドであるとか多少の違いはあれど、単なる計算であることに変わりはないんじゃないかと思うんだけどどうなんだろうねえ。



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

散歩するとき、1kmしかない道のりを、歩く早さを変えずに2倍以上長い時間歩く方法

それは、少しでも道幅があればできる。
つまり、道が1次元の線ではなく、2次元の面でありさえすればできる。
しかも、1km以上ならどんな長さにでも伸ばすことができる。

蛇行して歩けばいいわけだ
ちなみに、僕は散歩するときにはいつもこのことに気をつけて歩いている

道の向きに対して平行に歩けば最小で1km分しか歩けないが
道の向きに対して直角に歩けば、1kmの道のりの中で無限大の距離を歩くことができる

つまり横幅を往復するだけで、まったく進んでいないことと同じだ。

それでは、道の向きに対して何度の角度で歩くと1kmの道のりが何kmに伸びるとか、もう少し定量的にならないだろうか?
50b4ff97.JPG





今、図のように道のりの向きに対してθの角度で蛇行する人間を考えよう
道の端でその人間は反射するが、入射角と反射角は等しいものとする。

この道のりの長さを1kmとすると、
蛇行する人間の歩く距離X[km]は、次のように図を書き換えるとわかりやすい
706771a2.JPG









こうしてみると、蛇行した人間の歩いた距離に対する道のりそのものの長さの比がcosθになっていることがわかるだろう。

ということは、今、人間の歩いた距離ではなく道のりのほうを基準とした場合、cosθの逆数であるsecθ[km]が、この人間の歩いた距離であると、定量的に議論することができた。

確かめてみると、θ=0度の時は平行なのでsecθ=1
θ=90度のときは直角なのでsecθ=1/xのx→0にした極限で、∞
と、合っていることがわかる。

ところでこの人間は単に反射しているのだろうか?
それとも全反射しているのだろうか?

単に反射しているのであれば、トンネルでもしない限りこの人間が車道に出て事故にあう心配もない

しかし全反射ならばシャドウの屈折率と歩道の屈折率の比が無限大になっていないと、どこかの角度で必ず人間がシャドウに出てしまい、事故になりかねないので心配だ。

この人間が車道に出なくてすむようにするには、
歩道と車道の屈折率の比を無限大にするしかなく

そうなると、車道での人間の速度を有限とした場合、歩道で人間は速度0でまったく進めないことになる。

あるいは、歩道での速度を有限にするために、車道でのこの人間の速度は無限大であるべきなのだろうか・・・?

この人間はなのか!?





↓気に入ったらポチっとなでおながいします

にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村

拍手[8回]


自作自演オルゴール装置はこんな人にオススメ!!
・midi初心者→操作が簡単!
・プログラム初心者→開発ソフトはエクセル付属のVBAだけ!例題としてもご使用いただけます!
・音階よりもリズムの耳コピ打ち込みが苦手な人


取扱説明書
4642894d.JPG










シートごとに自演させたい曲の音階データを入力してください
 

メロディラインのデータは単音でA列に1行目から順番に入れてください。これで楽譜が自作されます
メロディラインの自演はbキーを適当なリズムで押して行ってください
データが途切れたら先頭から再び読み込みます
途中で最初から演奏させたくなったら、ホームポジション(A1セル)にアクティブセルをもっていってください
途中から自演させたい場合は、アクティブセルを自演させたいところまでもっていってください

和音のデータは3和音まで入力できます。
D,E,F列に1行目から順番に入力してください。これで楽譜が作成されます
和音の自演はvキーを適当なリズムで押して行ってください
途中で最初から演奏させたくなったら、C1セルのデータを0にするか空にしてください
途中から自演させたい場合は、C1セルの値を変えてください
データが途切れたら先頭から再び読み込みます

bキーとvキーをほぼ同時に打って和音とメロディーラインをミックスもどきさせることができます。

データの入れ方
アルファベットキーの上から1段目が黒鍵、2段目が白鍵に相当しているので、押すと音が出て、選択されたセルにデータが入力されます。

※エクセル本体を開くたびにマクロの実行が初期化されるようなので最初はキーを押しても音が出ないと思います、エクセルを開くたびに「susumu」と「susumu2」と「oto」の3つのマクロを実行すると次から音が出るようになると思います。





操作画面
58dd79e6.JPG








以下ソースコード公開!
(昨日の日記の修正版)
エクセル立ち上げたらVisualBasicEditorを開いて、挿入→標準モジュールで貼り付けてみてね!

========
Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Sub dodo()    'それぞれの音の出力用ルーチン
    Call Beep(262, 50)
End Sub
Sub dore()
    Call Beep(277, 50)
End Sub
Sub rere()
    Call Beep(293, 50)
End Sub
Sub remi()
    Call Beep(311, 50)
End Sub
Sub mimi()
    Call Beep(330, 50)
End Sub
Sub fafa()
    Call Beep(349, 50)
End Sub
Sub faso()
    Call Beep(370, 50)
End Sub
Sub soso()
    Call Beep(392, 50)
End Sub
Sub sora()
    Call Beep(415, 50)
End Sub
Sub rara()
    Call Beep(440, 50)
End Sub
Sub rasi()
    Call Beep(466, 50)
End Sub
Sub sisi()
    Call Beep(494, 50)
End Sub
Sub hdodo()
    Call Beep(523, 50)
End Sub
Sub hdore()
    Call Beep(554, 50)
End Sub
Sub hrere()
    Call Beep(587, 50)
End Sub
Sub hremi()
    Call Beep(622, 50)
End Sub


Sub wdodo()    'それぞれの音のデータ記録用ルーチン
    Call Beep(262, 50)
    ActiveCell.Value = "a"
End Sub
Sub wdore()
    Call Beep(277, 50)
    ActiveCell.Value = "w"
End Sub
Sub wrere()
    Call Beep(293, 50)
    ActiveCell.Value = "s"
End Sub
Sub wremi()
    Call Beep(311, 50)
    ActiveCell.Value = "e"
End Sub
Sub wmimi()
    Call Beep(330, 50)
    ActiveCell.Value = "d"
End Sub
Sub wfafa()
    Call Beep(349, 50)
    ActiveCell.Value = "f"
End Sub
Sub wfaso()
    Call Beep(370, 50)
    ActiveCell.Value = "t"
End Sub
Sub wsoso()
    Call Beep(392, 50)
    ActiveCell.Value = "g"
End Sub
Sub wsora()
    Call Beep(415, 50)
    ActiveCell.Value = "y"
End Sub
Sub wrara()
    Call Beep(440, 50)
    ActiveCell.Value = "h"
End Sub
Sub wrasi()
    Call Beep(466, 50)
    ActiveCell.Value = "u"
End Sub
Sub wsisi()
    Call Beep(494, 50)
    ActiveCell.Value = "j"
End Sub
Sub whdodo()
    Call Beep(523, 50)
    ActiveCell.Value = "k"
End Sub
Sub whdore()
    Call Beep(554, 50)
    ActiveCell.Value = "o"
End Sub
Sub whrere()
    Call Beep(587, 50)
    ActiveCell.Value = "l"
End Sub
Sub whremi()
    Call Beep(622, 50)
    ActiveCell.Value = "p"
End Sub

Sub oto()  '音声記録ルーチン
    Application.OnKey "a", "wdodo"  'ドの音を鳴らしながらセルに書き込むルーチンを呼びます
    Application.OnKey "w", "wdore"  'ド#の音をry
    Application.OnKey "s", "wrere"
    Application.OnKey "e", "wremi"
    Application.OnKey "d", "wmimi"
    Application.OnKey "f", "wfafa"
    Application.OnKey "t", "wfaso"
    Application.OnKey "g", "wsoso"
    Application.OnKey "y", "wsora"
    Application.OnKey "h", "wrara"
    Application.OnKey "u", "wrasi"
    Application.OnKey "j", "wsisi"
    Application.OnKey "k", "whdodo"  '1オクターブ高いドのry
    Application.OnKey "o", "whdore"
    Application.OnKey "l", "whrere"
    Application.OnKey "p", "whremi"
End Sub
Sub oto_output2()    '和音出力ルーチン
    s = Cells(1, 3) + 1  'アクティブセル移動方式を単音出力に使っているので、指定セル読み込み方式を使っています
    a = Cells(s, 4)    'D,E,F列の3和音のデータを読み込んでいます。
    b = Cells(s, 5)    'C1セルにセル指定のための番号を入力しています。
    c = Cells(s, 6)    '最初から演奏しなおしたいときはここを空にするか0を入れます
    If a = "a" Then    'ここも、データの端につくとセル指定が先頭に戻ります
        Call dodo
    ElseIf a = "w" Then
        Call dore
    ElseIf a = "s" Then
        Call rere
    ElseIf a = "e" Then
        Call remi
    ElseIf a = "d" Then
        Call mimi
    ElseIf a = "f" Then
        Call fafa
    ElseIf a = "t" Then
        Call faso
    ElseIf a = "g" Then
        Call soso
    ElseIf a = "y" Then
        Call sora
    ElseIf a = "h" Then
        Call rara
    ElseIf a = "u" Then
        Call rasi
    ElseIf a = "j" Then
        Call sisi
    ElseIf a = "k" Then
        Call hdodo
    ElseIf a = "o" Then
        Call hdore
    ElseIf a = "l" Then
        Call hrere
    ElseIf a = "p" Then
        Call hremi
    End If
   
    If b = "a" Then
        Call dodo
    ElseIf b = "w" Then
        Call dore
    ElseIf b = "s" Then
        Call rere
    ElseIf b = "e" Then
        Call remi
    ElseIf b = "d" Then
        Call mimi
    ElseIf b = "f" Then
        Call fafa
    ElseIf b = "t" Then
        Call faso
    ElseIf b = "g" Then
        Call soso
    ElseIf b = "y" Then
        Call sora
    ElseIf b = "h" Then
        Call rara
    ElseIf b = "u" Then
        Call rasi
    ElseIf b = "j" Then
        Call sisi
    ElseIf b = "k" Then
        Call hdodo
    ElseIf b = "o" Then
        Call hdore
    ElseIf b = "l" Then
        Call hrere
    ElseIf b = "p" Then
        Call hremi
    End If
   
    If c = "a" Then
        Call dodo
    ElseIf c = "w" Then
        Call dore
    ElseIf c = "s" Then
        Call rere
    ElseIf c = "e" Then
        Call remi
    ElseIf c = "d" Then
        Call mimi
    ElseIf c = "f" Then
        Call fafa
    ElseIf c = "t" Then
        Call faso
    ElseIf c = "g" Then
        Call soso
    ElseIf c = "y" Then
        Call sora
    ElseIf c = "h" Then
        Call rara
    ElseIf c = "u" Then
        Call rasi
    ElseIf c = "j" Then
        Call sisi
    ElseIf c = "k" Then
        Call hdodo
    ElseIf c = "o" Then
        Call hdore
    ElseIf c = "l" Then
        Call hrere
    ElseIf c = "p" Then
        Call hremi
    End If
    If Cells(s + 1, 4) = 0 Then
        s = 0
    End If
    Cells(1, 3) = s
End Sub
Sub oto_output()        '単音出力ルーチン
    If ActiveCell.Value = 0 Then    'アクティブセルの位置を移動させながらデータを読み込んでいます。
        Cells(1, 1).Activate        'ターミネータとして数値の0を設定しているので、データの端でアクティブセルが先頭に戻ります。
    Else
        n = ActiveCell.Row    '単音出力はA列の先頭からデータを読みます
        s = ActiveCell.Value
        If s = "a" Then
            Call dodo    'ドの音を出力するルーチンを呼んでいます
        ElseIf s = "w" Then
            Call dore    'ド#の音を出力するルーチンをry
        ElseIf s = "s" Then
            Call rere
        ElseIf s = "e" Then
            Call remi
        ElseIf s = "d" Then
            Call mimi
        ElseIf s = "f" Then
            Call fafa
        ElseIf s = "t" Then
            Call faso
        ElseIf s = "g" Then
            Call soso
        ElseIf s = "y" Then
            Call sora
        ElseIf s = "h" Then
            Call rara
        ElseIf s = "u" Then
            Call rasi
        ElseIf s = "j" Then
            Call sisi
        ElseIf s = "k" Then
            Call hdodo    '1オクターブ高いドの音をry
        ElseIf s = "o" Then
            Call hdore
        ElseIf s = "l" Then
            Call hrere
        ElseIf s = "p" Then
            Call hremi
        End If
    End If
    Cells(n + 1, 1).Activate
End Sub
Sub susumu()
    Application.OnKey "b", "oto_output"   'bキーが押されると単音出力ルーチンへ飛びます
End Sub
Sub susumu2()
    Application.OnKey "v", "oto_output2"  'vキーが押されると和音出力ルーチンへ飛びます
End Sub
========






にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

以前の日記で、音程を自動、リズムを手動で演奏できる、自動演奏と手動演奏の中間みたいな装置があればいいなっていう話をしていたと思います。


そのときはICを使った電子工作からのアプローチで作ろうとしていたのですが、モノが少なくとも3000円はするらしいということで、収入源のない僕としてはこのような大金を使うわけにはいかなかったのです。


かといってプログラミングとは縁を切りたいし、なにより開発環境を入れたくないからどうにもできないと思っていた矢先でした。


昨晩布団の中で寝付けないでいると、ふと思い当たることがあったのです。
エクセルのマクロがあるじゃないか。
エクセルのマクロならエクセルがPCに入っていればいつでも使えるし、作れる。

そういうことならマクロにだけは手を出すスタンスで行っても悪くはないかなとも思えてきたのです。


それで出来上がったのがこれです。
自動演奏風景をアップしてみました。

今回はニコ動へのアップにも手を出してみました。

キーボードのbボタンを押すごとに音が変わります。
鳴らす音階はエクセルファイルのA列に順番にデータとして入っていますが、鳴らすタイミングはbキーの押すタイミングなので演奏者の自由です。

A列に書いてある文字は、音階の楽譜です。

ローマ字入力のアルファベット3段のうち、上1段を黒鍵、中1段を白鍵として使っています。
なので、
A:ド
W:ド#
S:レ
E:レ#
D:ミ
F:ファ
T:ファ#
G:ソ
Y:ソ#
H:ラ
U:ラ#
J:シ
K:高いド
O:高いド#
L:高いレ
P:高いレ#

の音に対応しています。

キーボード鍵盤を直接押して演奏することも可能ですが、
通常はA列のセル1つ1つに順番に音階のデータを入力してから、
「b」キーで半自動演奏させることを推奨しています。


開発費はタダだと思います。3000円以上浮きました。
(オフィスソフト・PCなどの減価償却は考慮しません)

 

=====
この辺から内輪ネタです。

しょうもないプログラムなので、マクロのソースを公開します。
使ってみたい人がもしいたらコピペでもしてください(笑)
エクセルの新規ファイルを開いて、VisualBasicEditorボタンを押すと、VisualBasic言語の開発画面に移るので、そこで挿入→標準モジュールを選んでコピーした文字を貼り付けるとマクロが登録されます。

音階データはどのシートのA列に入力しても動作します。
アクティブなシートを認識するようです。

音階データのターミネータは数値の0としたので、データが途切れて空のデータにアクティブセルがたどり着くと、アクティブセルがホームポジションに戻ります。


関数や変数なんかの名前に難があるので、見た人はよくわからないかもしれません。コメントもありません。(笑)
ノートの板書・落書き・チラシの裏レベルです。

 

予定としては、和音もどきの半自動演奏にも手を出したいと思っています。

音はビープ音を使用していて、ビープ音は重複発音や音量調整ができないので、
とりあえず命令をずらして和音っぽくしようかなとか思ってます(笑)


ビープ音はAPIだったかを使うため、プログラムの先頭にC言語で言うinclude文みたいなおまじないをつけておくようです。

 

=========
Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Sub dodo()
    Call Beep(262, 50)
End Sub
Sub dore()
    Call Beep(277, 50)
End Sub
Sub rere()
    Call Beep(293, 50)
End Sub
Sub remi()
    Call Beep(311, 50)
End Sub
Sub mimi()
    Call Beep(330, 50)
End Sub
Sub fafa()
    Call Beep(349, 50)
End Sub
Sub faso()
    Call Beep(370, 50)
End Sub
Sub soso()
    Call Beep(392, 50)
End Sub
Sub sora()
    Call Beep(415, 50)
End Sub
Sub rara()
    Call Beep(440, 50)
End Sub
Sub rasi()
    Call Beep(466, 50)
End Sub
Sub sisi()
    Call Beep(494, 50)
End Sub
Sub hdodo()
    Call Beep(523, 50)
End Sub
Sub hdore()
    Call Beep(554, 50)
End Sub
Sub hrere()
    Call Beep(587, 50)
End Sub
Sub hremi()
    Call Beep(622, 50)
End Sub


Sub wdodo()
    Call Beep(262, 50)
    ActiveCell.Value = "a"
End Sub
Sub wdore()
    Call Beep(277, 50)
    ActiveCell.Value = "w"
End Sub
Sub wrere()
    Call Beep(293, 50)
    ActiveCell.Value = "s"
End Sub
Sub wremi()
    Call Beep(311, 50)
    ActiveCell.Value = "e"
End Sub
Sub wmimi()
    Call Beep(330, 50)
    ActiveCell.Value = "d"
End Sub
Sub wfafa()
    Call Beep(349, 50)
    ActiveCell.Value = "f"
End Sub
Sub wfaso()
    Call Beep(370, 50)
    ActiveCell.Value = "t"
End Sub
Sub wsoso()
    Call Beep(392, 50)
    ActiveCell.Value = "g"
End Sub
Sub wsora()
    Call Beep(415, 50)
    ActiveCell.Value = "y"
End Sub
Sub wrara()
    Call Beep(440, 50)
    ActiveCell.Value = "h"
End Sub
Sub wrasi()
    Call Beep(466, 50)
    ActiveCell.Value = "u"
End Sub
Sub wsisi()
    Call Beep(494, 50)
    ActiveCell.Value = "j"
End Sub
Sub whdodo()
    Call Beep(523, 50)
    ActiveCell.Value = "k"
End Sub
Sub whdore()
    Call Beep(554, 50)
    ActiveCell.Value = "o"
End Sub
Sub whrere()
    Call Beep(587, 50)
    ActiveCell.Value = "l"
End Sub
Sub whremi()
    Call Beep(622, 50)
    ActiveCell.Value = "p"
End Sub

Sub oto()
    Application.OnKey "a", "wdodo"
    Application.OnKey "w", "wdore"
    Application.OnKey "s", "wrere"
    Application.OnKey "e", "wremi"
    Application.OnKey "d", "wmimi"
    Application.OnKey "f", "wfafa"
    Application.OnKey "t", "wfaso"
    Application.OnKey "g", "wsoso"
    Application.OnKey "y", "wsora"
    Application.OnKey "h", "wrara"
    Application.OnKey "u", "wrasi"
    Application.OnKey "j", "wsisi"
    Application.OnKey "k", "whdodo"
    Application.OnKey "o", "whdore"
    Application.OnKey "l", "whrere"
    Application.OnKey "p", "whremi"
End Sub
Sub oto_output()
If ActiveCell.Value = 0 Then
Cells(1, 1).Activate
Else
    n = ActiveCell.Row
    s = ActiveCell.Value
    If s = "a" Then
        Call dodo
    ElseIf s = "w" Then
        Call dore
    ElseIf s = "s" Then
        Call rere
    ElseIf s = "e" Then
        Call remi
    ElseIf s = "d" Then
        Call mimi
    ElseIf s = "f" Then
        Call fafa
    ElseIf s = "t" Then
        Call faso
    ElseIf s = "g" Then
        Call soso
    ElseIf s = "y" Then
        Call sora
    ElseIf s = "h" Then
        Call rara
    ElseIf s = "u" Then
        Call rasi
    ElseIf s = "j" Then
        Call sisi
    ElseIf s = "k" Then
        Call hdodo
    ElseIf s = "o" Then
        Call hdore
    ElseIf s = "l" Then
        Call hrere
    ElseIf s = "p" Then
        Call hremi
    End If
    End If
    Cells(n + 1, 1).Activate
End Sub
Sub susumu()
    Application.OnKey "b", "oto_output"
End Sub


========

にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村

にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

スパノバ・スピノル・スピノザ

どれも物理で宇宙な言葉である。

スパノバは超新星爆発、星が一生を終えたときに起こす爆発のことだ。

スピノザはアインシュタインが慕っていた数学界の神様のような存在。

スピノルは、2周回転して元に戻る不思議な量のことを指す。

2周回って元に戻る・・・元に戻るということが1周するのと同義であるように思えるならば、なんだか矛盾した響きに聞こえなくもない。

そんな奇妙なものだが、別に身近にないわけでもない。

メビウスの輪なんかがそうだ。

表面を1周していると裏面につながり、裏面を1周していると表面につながって元に戻る。


それならば、4周して元に戻るメビウスの輪も作れそうではないか

従来のメビウスの輪は表と裏の2面を使っていた。

ならば、4周して元に戻るメビウスの輪は消しゴムのようなやわらかい素材で四角形を伸ばしたような長い棒を作って、それをねじってつなげればいい。

だがちょっと待ってほしい。

紙にだって4つの状態はあるではないか

表と、裏と、右端と、左端・・・

というわけでできたのがこれである

じゃーん
a156e3a3.JPG














4周して元に戻るメビウスの輪・・・


作り方は簡単、紙をちぎって細くして、両端に切り込みを入れてねじってつなぐだけ。
ここに書くまでもない。見ればわかる。はさみものりもいらない。

本当に4周して元に戻るかどうかは実際に作って自分で指でなぞってもらったほうが早い。



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

最近、ほしいものができた








それは、同じ機能をするものがいまや100円で売られているのに
昔の技術なのに安くならず
1つ1000円くらいするらしい






それは、幼少のころに僕も習った
でも忘れてしまった







それは、テストのときなんかでこれを使うとすごく浮くと思う
でも結構かっこいいと思う
少なくとも使っている本人だけは優越感に浸れる




31986b83.JPG















これです。















cecd07dd.JPG



しかも50円








いい買い物をした。
それでこそ古い技術
これで僕は「高い買い物を使いこなさなければならない」などというプレッシャーから解き放たれた
いいのかそれで







店の外でほったらかしにされながら売られていた
ので
XXXXXXXすることもできた
のに
店の中にわざわざ持っていって金を払って手に入れた

きっと外においてある品はXXXXXXしてくださいと言っているようなものなんじゃないかとか思いながら、50円を差し出した。


僕は買う側である
買取レジに行った
ぱっと見間違ってないように見えるでしょ?
「買取ですか?」
(聞くんかい)
「えっと・・・買います」
「じゃあ隣ですね」
(ですよねー)



ここでボーっとして「はい」と言っていたらどうなっていたんだろう?
しかも値札はがして。

所有していないものを差し出し、金を得られたかもしれない
フヒヒ
あれ?

















じゃあそろばんはどこに行くの?
意味ないじゃん









3時間後に気づいた



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

1個前の日記で、簡単に作曲して演奏できるオルゴールの案を出したんだけどさ
こんな感じのブロック図でね。
84dd98d7.JPG
















シフトレジスタがね
なんかこううまくいかねえ

シフトレジスタって一口に言ってもいろんな種類があるわけよ
・並列入力or直列入力
・並列出力or直列出力
・(同期or非同期)は今回はどうでもいいけど
・単方向ビットシフトor双方向ビットシフト

今回の用途としては、
双方向・直列入力・直列出力がほしいんだけど
そんなピンポイントに要求を満たしてくれるICがないわけさ
ただでさえロジックICは時代に取り残されてて、販売在庫もなければ規格図面もない種類もいっぱいあるのに

その上、これ8ビットor4ビットよ?
僕の要求は「せめて100ビット×12列くらいはほしい」だよ?
いくらかかんのさ
1個当たり100円切ったとしても数千円はするだろうし
何より回路組むのが大変
IC150~300個なんて大規模すぎるしorz
ブレッドボードでもユニバーサル基盤でも手作業じゃ無理
完成する前に飽きるに決まってるよ

ということで・・・同じ数千円出すんなら、
マイコンICを買おうかなと・・・

まあ言ってみれば小さなコンピュータ
マイコンに仕込んだプログラムしだいで、要求どおりのピンポイントのICに早代わり。
しかもデータ格納の容量は640ビットくらいあるらしい
十分じゃねえかー
これだけ1つのICでできちゃうと汎用性に欠けるロジックICが貧相に思えてくるのもうなずけるよねぇ

IC自体は数百円で買えるんだけどね
ICにプログラムを仕込む装置が高くてね・・・7000円くらいしそう
以前から初期投資にかけるかどうか悩んでいたものだったのさ・・・
使いこなせなかったら無用の長物だからねー><

 

いっちょ奮発して買っちゃいますかー?


って考えてるところで
まあそう考えると夢が広がりんぐなわけだけど
昨日はちょっと妄想を広げすぎた

録音再生機にならないかとも思ったんだけど
音声データを格納するだけの容量がどう見ても足りないことに気づきオルツ。

640ビットってそれ1kHzの正弦波形1秒間すら読めないじゃん・・・
ましてや画像や動画なんて夢のまた夢

モノクロドット絵なら640マスくらい入るだろうけどねえ・・・
8×8の正方形が10コマの動画とかできるのか・・・何もできないってほどじゃないがしょぼすぎるw


そんなことするくらいなら鉄の棒に磁気記録するわって感じだよなwww




にほんブログ村 科学ブログ 自然科学へ
にほんブログ村
 

拍手[4回]

楽器を演奏するのは練習が必要で、すぐには弾けないものが多い。
楽譜を読んで、練習しなくても演奏したければ、自動演奏装置に楽譜を入力すればいいが、楽譜がない場合はどうしたものか。
聞こえてきた音楽を楽譜に起こすほかないだろう。

人によるかもしれないけども、少なくとも僕の場合は経験上
主旋律の音程はある程度簡単に拾うことができる
けれどもリズムがいまいちわからなかったりする。

どういう感じかと言うと、2桁の足し算をしているときのような感じ
だいたいはわかるんだけど、正確な数値はところどころ間違っているかもしれない
そんな感じで

1拍の中にいくつも音符が入っているような音楽の場合
そのリズムを取るときに1拍をいちいち2等分したり4等分したり8等分したりしながらこの音はこの長さだよな、こっちはこの長さだよな、と確認していく。

でも、それを楽譜にして自動演奏させると、あまり調子がよくないときや適当にやっているときなどは結構な割合で思ったとおりのリズムが出ない。
計算ミスがあるわけだ。

こんな状態で、曲1曲を丸ごと楽譜に起こしてくれと言われても相当な手間がかかるのは明白で、その上自動演奏の装置がなければ間違いだらけの楽譜になってしまう。

これでは楽譜を読んで自分で演奏の練習をしたほうが早い
と思ってしまっても無理はない

 

これをなんとかできないものか
ふと思い浮かんだのが、音程だけ楽譜にする方法だった。

ヒントは昔遊んだバイオリン似のおもちゃだった。
弓と弦が電極になっている電子楽器のようなもので
弓と弦が触れると1つの音、という風にカウントしてくれるわけだ。
触れている間はずっと同じ音が流れ、
離すと音がやみ、
次に触れると、楽器にプログラムされている曲の次の音が勝手に出る。

音は楽譜どおりに入っているんだけど
そのリズムは演奏者に任されている
という、まさに手動演奏と自動演奏の中間のようなおもちゃだった。

 

 

僕は課題をもう1つ、以前から抱えていた
自作オルゴールをなんとか簡易に設計したい、というものだった。

当時の案は以下のような感じだった
ピアノのように半音ずつ音が出る回路を独立に何セットも作っておく
その回路のスイッチをオンオフすることで、ピアノのように演奏することができるし、スイッチ部分とプログラムした楽譜を連結させればオルゴールのように自動演奏させることもできる。


のだけど、問題があって
その楽譜の作成と読み取りをどうするのかがちょっとした課題だった。
音を出す装置はICを使った回路で電子的な感じにしようとしていた。
そうすると手間・値段ともに作りやすい。

ただ、楽譜を作って機械に読ませる部分を、
・白い紙にマジックで黒く塗りつぶした部分を光センサーで読み取らせる
方法にしても
・紙に空けたパンチ穴を電子的にではなく機械的に認識させる
方法にしても
・鉄の棒に磁気記録させて読み取る
方法にしても
・簡易なメモリーをICで用意して完全に電子的な楽譜にしてしまう
方法にしても
僕の設計・工作の力量を超えていた。
どれも機械的な図面と工作が必要とされ、電気的な学科を卒業した僕には割りと未知の分野なのだった。基本的には理解していても、ノウハウがまったく積まれていない分野。

一番最後の方法が僕には一番しっくりくる方法なんだけど
この方法では楽譜のデータを入力するシステム作りが大変になってしまうように思える上、データ入力の際に間違ったデータを入力すると最初から入力しなおしという可能性も考えられた。

でも、やっぱり進めたいのは一番最後の方法だったりした。

 


その問題を解決するかもしれないのが、さっきの自動と手動の間の演奏方法だった。
リズムのデータを入力する必要がないので、データ量が格段に減る。
これなら何とかできるかもしれないという思いから、構想も先に進めたい気持ちになった。


昔習ったシフトレジスタがあればいいな
それも、前にも後ろにもシフトできるシフトレジスタ。
これがあれば間違っても修正できそうだ。

これに入力したいときは実際に軽く演奏しながら入力する方式がいいんじゃないか

 


で、たどりついたのがこんな装置。
84dd98d7.JPG













ピアノのように、白鍵と黒鍵のボタンが並んでいて、1つのボタンが1つの音階に対応している。
この回路は1つの音に対して1セットずつ用意されていて、独立している。

モードを「楽譜作成モード」にする
それぞれのボタンはそれぞれの音を出す回路(発振回路)と、シフトレジスタにつながっているため、押すと音が出るし、シフトレジスタのトリガーを引くと記録もできる。(楽譜の作成)

モードを「楽譜再生モード」にすると
トリガーを引くたびにシフトレジスタに入っている音が順番に発振回路に出力される。
トリガーを引いている間隔やリズムは演奏者の自由なので、アレンジ演奏も可能。

 

それぞれの音程の回路が独立しているため、和音を出すこともある程度可能
楽譜を作るときに結構無茶な指使いの和音を記録させることも可能
出力にフィルタをかければ音色を変えることもできそうな予感。あまりバリエーションは多くなさそうだけど。
(音声出力を統一スピーカーから出すか独立させるかはまだ考えてない。)
手動演奏・自動演奏どちらも楽しむことができる

 

 

自動演奏と手動演奏のいいとこどりができているのではないか、と思うのだけどどうだろう?



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村



拍手[4回]

春すなぁ
まだ雪あるけど。
自動車教習の季節すなぁ


自転車の季節でもあるでよ!

店頭に自転車が並ぶ
野暮用でデパートのようなスーパーマーケット
通称ハイパーマーケットに入った
普段はめったに入らないが、用事を頼まれていたので久しぶりに入ることになった


チラッと自転車を見た。
何かを見たような気がしたが、とりあえず用を済まそうということで通り過ぎた。

用を済ませ、店の中の同じ道を通ると、ほかの場所にも自転車がたくさん置かれていた
さっきの違和感は・・・なんだっけあれだ
ライトがLEDだったんだよ
見間違いだったかなぁ?

と思って自転車のライト部分を確かめてみる
あれ?電球すなぁ

と、さっき見た売り場のほうに行ってみる
すると、1台だけLEDの自転車があった。

ためしに発電機を回してみた。
光る
おおすげえwww指でピクピクさせてるだけなのに光るwww
省電力すなぁwwww

でも点滅するのはなんでだ?さらに省エネを測っているのか?

僕の使っている電池式のLEDライトは点滅モードにするともっと電池がもつらしい。

しかし家に帰ってよく考えてみると
ダイオードだからじゃねえかwwww
っていう当たり前の結論に気がついた

ってことは発電機の回る速さに応じて点滅の速度が変わるんだなw

そうかそうか、コイツは半波整流ちゃんだったか^^
たぶんね


間違っても間違えて半端清流って書くなよ!



にほんブログ村 科学ブログ 自然科学へ
にほんブログ村
 

拍手[4回]

耳鼻科の待ち時間に暇つぶし

問題
最大値1、最小値-1の矩形波関数f(t)を1周期分でフーリエ級数に展開しなさい。

今回は位相をcos型にしました。

フーリエ級数の定義は

周期Tの周期関数f(t)は、フーリエ級数A0、An、Bnによって以下のように近似できます。
f(t)=A0+∑(An・cos(2πnt/T)+Bn・sin(2πnt/T)) (総和範囲n:1~∞)
ただし、
A0=∫0Tf(t)dt/T 
An=2∫0Tf(t)・cos(2πnt/T)dt/T 
Bn=2∫0Tf(t)・sin(2πnt/T)dt/T 
nは整数です。

ここで、位相をcos型にしたため、関数は偶関数となり、
Bn=0
An=4∫0T/2f(t)・cos(2πnt/T)dt/T 

とできます。

また、平均値が0なので、A0=0とでき、計算が簡略化できます。

f(t)は0~T/4の区間では1、T/4~T/2では-1の値をとるので、区間を分けて積分します。

An=4(∫0T/4cos(2πnt/T)dt 
-∫T/4T/2cos(2πnt/T)dt)/T 

=2([sin(2πnt/T)]0T/4 
-[sin(2πnt/T)]T/4T/2)/(nπ) 

=4sin(nπ)/(nπ)

=4(-1)n-1/((2n-1)π)

よって元の周期関数は、以下のように表すことができます。

f(t)=∑An・cos(2πnt/T) (n:1~∞)

=(4/π)∑(-1)n-1/(2n-1)・cos(2π(2n-1)t/T) (n:1~∞)

≒(4/π)(cos(2πt/T)-cos(6πt/T)/3+cos(10πt/T)/5-cos(14πt/T)/7・・・)


ちなみに、f(0)=1を利用すると
π≒4(1-1/3+1/5-1/7・・・)
が証明できますよ。^^収束はめちゃくちゃ悪いですけどねー
(モンテカルロよりはマシ)




にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[4回]

昨晩、父が「劣化ウラン」って何?って聞いてきたので夜な夜なwikipediaで調べてました。
というのも、ビルゲイツ氏と東芝が、劣化ウランを燃料にしたこうそくじょ・・・高速増殖炉を作ろうとしているらしく、気になったようです。

僕も、劣化ウランという言葉は前々から聴いていたし、化学反応だけでなく核反応のことも知っておきたいと思ったので、少し興味がわきました。

この際、じょうそくろのシステムがwindowsとかそんな話はどーでもいいです。
原子核反応ってなんか純粋に萌えるじゃないですか。

ウランには主に、235っていうのと238っていうのがあるそうで
これは原子核に含まれる陽子と中性子の合計の数のことを言っています。

ウラン235は核燃料に使用できるのに対し、ウラン238は核燃料に不向きなんだそうで
現在主流の原子力発電所で使うウランは、天然のウランに含まれるウラン235を濃縮させてできたものを用いるんだそうです。

それで、ウラン238の多い残りカスを「劣化ウラン」と呼んでいるんだそうです。

でも、このウラン238の原子核は高速の中性子を吸収することによりゆくゆくはプルトニウム239に変貌し、そのプルトニウム239が核燃料として使用できるというわけです。




======
予備知識

さて、ウランは何番目でしたっけ?

HHe 2
LiBeBCNOFNe 10
NaMgSiPSClAr 18
KCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKr 36
RbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXe 54
CsBa 56
LaCePrNdPmSmEuGdフーンフーンフーンフーンTmYbLu 71
HfTaWReOsIrPtAuHgTlPbBiPoAtRn 86
FrRa 88
AcThPaU 92 NpPuAmCmBkCfEsFmMdNoLr 103
RfDbSgBhHsMtDsRgCn 112

で92番目ですね。ってことは、原子核に陽子が92個あるわけで、残りが中性子ということになりますね

238-92=146
235-92=143
で、ウラン238には146個、ウラン235には143個の中性子があることになりますね。

やはり、陽子の数が多い原子核ほど、その電荷による反発力を打ち消すための引力を作り出す中性子が多く必要なんですね。
陽子90個程度に対して中性子140個程度ですからね。


(原子核の中の陽子同士の反発を抑えるのが、核力と呼ばれる力です。陽子と中性子が中間子という素粒子を交換することによって引力を発生させています。陽子や中性子の仲間をバリオンと呼び、中間子の仲間をメソンと呼んでいて、総称してハドロンと呼ばれます。この仲間は100種類以上あります。しかし、これらはたった6種類のクォーク(3種類の色、粒子と反粒子)からできていることがわかり、メソンはクォーク2つ、バリオンは3つの組み合わせでできています。そして、クォークを結びつけてメソンやバリオンを形成させている力を強い相互作用と呼び、これが核力の源になる力となっています。強い相互作用を生み出す素粒子のことをグルーオンと呼びます)







======
核分裂反応

それではウラン235に中性子を当ててみましょう。
ウラン235に中性子を1個足した状態は不安定であるらしく
ヨウ素とイットリウムに分裂したり
クリプトンとバリウムに分裂したりするそうです。

この際のヨウ素は陽子と中性子の合計が95
イットリウムは139です。
ヨウ素の陽子は53個、イットリウムは39なので、合計するとウランの92に一致しますね。
ところが、95と139と中性子1個を足しても235には2個足りませんよね。
つまり中性子が2個どっかに飛んで行ってるんです。

これが連鎖反応の基本的な原理で、1個中性子を当てるだけで勝手にどんどん中性子が飛び出してくれるので、反応が続くというわけなんですね。

クリプトンとバリウムの場合も見てみましょうか

クリプトン92の陽子は36個、バリウム141の陽子は56個なので
56+36=92で陽子の数は合ってます。
ところが、92+141=233で、235+1とは中性子の数が3つ違います。
したがって、この核分裂反応で飛び出した中性子の数は3つということになります。




次に、核燃料にならないウラン238が核燃料になるプルトニウム239になる様子を説明しましょう。

ウラン238が中性子を吸収するとウラン239になりますが、これは不安定なので、ベータ崩壊をします。

ベータ崩壊っていうのは、中性子が陽子と電子に崩壊する過程を言います。

(より細かく見ると、中性子の中のダウンクォークが弱い相互作用によってまずマイナスの電荷を持ったウィークボソンとアップクォークに崩壊することを言います。
中性子はアップクォーク1つとダウンクォーク2つで構成されており、一方陽子はアップクォーク2つとダウンクォーク1つで構成されているので、ダウンクォーク1つ分がアップクォークに変わると中性子は陽子に変わります。
また、マイナスの電荷を持ったウィークボソンは電子と電子ニュートリノの反粒子に崩壊します。)

中性子が陽子に代わり、陽子の数が変わってしまったので、これはもうウランではなく、原子番号の1つ大きいネプツニウムです。ただし、陽子と中性子の合計は変わらないので、相変わらず239です。
ベータ崩壊の際にはこの239とかいう数「質量数」が変わらないということを覚えておくと便利です。

このネプツニウムもあまり安定な原子核とはいえません。
さらにベータ崩壊し、プルトニウム239になります。


これで、核燃料プルトニウム239のできあがりです。
燃料でないものから燃料ができました。



=====
金属ナトリウム

こうしょくじょうそくろ「もんじゅ」で、ナトリウム漏れの事故がありましたね。
このナトリウムは塩化ナトリウム、つまり食塩のナトリウムです。
周期表で見ると左端(さたん)にありますね。
ということは自然界にナトリウム単体で存在することは稀で、すぐにほかの物質と爆発的に化合してしまう危険な物質であるといえます。

そんなナトリウムをどうして使うのか、説明します。

従来の原子炉ではこのナトリウムの代わりに水を使っています。
何のためのものかというと冷却材です。
また、この水は中性子を減速させるためにも用いているのですが
高速増殖炉の場合、名前のとおり中性子を高速に保たなければならないため、減速材を使えません。
中性子の減速効果は、原子核を覆う電子がなるべく少ないほうがいいため、水素が効果的であるようです。
それに対し、減速させないためには周りに多く電子をまとっていなければなず、また、高速増殖炉の場合この冷却材には熱伝導率の高いものを使わなければならないため、金属ナトリウムや鉛・ビスマス、ヘリウムなどに限られてくるわけです。




とりあえず、この説明をする前に周期表を112個中108個覚えておいてよかった。^^
エレメントハンターのエンディングありがとう
しかしランタノイド後半の4つは覚えられる気があまりしない><


にほんブログ村 科学ブログ 自然科学へ
にほんブログ村

拍手[5回]



忍者ブログ [PR]
カレンダー
01 2025/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析