Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VUIでシェル芸を実行できるようにしてみた
Search
amanoese
August 10, 2019
Technology
2.3k
0
Share
VUIでシェル芸を実行できるようにしてみた
第43回シェル芸勉強会(2019/8/10)のLTで発表した内容です。
amanoese
August 10, 2019
More Decks by amanoese
See All by amanoese
魔術式シェル芸
amanoese
0
1.3k
シェル芸でなれるVTuber!
amanoese
0
950
Technopop shell-gei(テクノポップシェル芸)
amanoese
0
550
Alexaアカウントリンクの認証と申請で躓いた話
amanoese
0
97
シェル芸のおかげでUnicodeに怯えず楽しめるようになった話
amanoese
0
250
AlexaにSSMLで音声記号(IPA) 使って喋らせたかった
amanoese
0
510
インタラクティブなシェル芸実行コマンド作った感想
amanoese
0
200
静的WEBサイトをSPA化するワンライナー
amanoese
0
140
Other Decks in Technology
See All in Technology
組織的なAI活用を阻む 最大のハードルは コンテキストデザインだった
ixbox
6
1.6k
幾億の壁を超えて/Beyond Countless Walls(JP)
ikuodanaka
0
110
サイバーフィジカル社会とは何か / What Is a Cyber-Physical Society?
ks91
PRO
0
160
AI環境整備はどのくらい開発生産性を変えうるか? #AI駆動開発 #AI自走環境
ucchi0909
0
120
あるアーキテクチャ決定と その結果/architecture-decision-and-its-result
hanhan1978
2
570
AI時代に新卒採用、はじめました/junior-engineer-never-die
dmnlk
0
240
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
2026年に相応しい 最先端プラグインホストの設計<del>と実装</del>
atsushieno
0
100
Hooks, Filters & Now Context: Why MCPs Are the “Hooks” of the AI Era
miriamschwab
0
130
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
300
AIエージェントを構築して感じた、AI時代のCDKとの向き合い方
smt7174
1
170
20260410 - CNTUG meetup #72 - DiskImage Builder 介紹:以 Kubespray CI 打造 RockyLinux 10 Cloud Image 為例
tico88612
0
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.8k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
210
Deep Space Network (abreviated)
tonyrice
0
110
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Producing Creativity
orderedlist
PRO
348
40k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
340
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Un-Boring Meetings
codingconduct
0
260
The SEO Collaboration Effect
kristinabergwall1
0
420
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Transcript
VUIでシェル芸を実行できるよう にしてみた
自己紹介 RustとElmに憧れてる自称うぇっぶけいふるすたっくえ んじにあ javascriptとシェル芸が好き 仕事では Java kotlin使い始めました taka@SIではたらくフレンズ @amanoese
VUIってなに? AlexaとかGoogle のスマートホームとか音声で操作するユーザーインターフェー スのこと 個人的にはAlexaが好き
VUIでシェル芸をしたい rm -rf / unko.shout
Alexaに実装してみた
シェル芸をどうやって音声で伝えるか
シェル芸 -> Base32 -> ひらがな Base64をひらがなにマップすると半濁音鼻濁音の発音難しいため シェル芸をBase32に変換後ひらがなにマップした発音をAlexaにする。 つまりこういうこと $ echo
'unko.shout 私が公式マスコット' | base32 -w0 | sed 'y@ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=@あいうえおかきく けこさし すせそたちつてとなにぬねのはひふへほまみむ@' そにねきぬふはそそせなきまほしなおえとひたあたえちききそしいせす へぬまけみのへえとふつのかそたえちさはまくあへえへそいのちうちむ
シェル芸 -> Base32 -> ひらがな しかし… さすがに脈絡の無い単語を発音するのは困難(やってみてわかった) なのでVUIを意識して変更してみる そにねきぬふはそそせなきまほしなおえとひたあたえちききそしいせす へぬまけみのへえとふつのかそたえちさはまくあへえへそいのちうちむ
シェル芸 -> dump echo -n 'unko.shout 私が公式マスコット' | od -tx1
-A n|tr '[:lower:]' '[:upper:]' 75 6E 6B 6F 2E 73 68 6F 75 74 20 E7 A7 81 E3 81 8C E5 85 AC E5 BC 8F E3 83 9E E3 82 B9 E3 82 B3 E3 83 83 E3 83 88
そして呪文(詠唱)を集めたJSONを用意 適当に集めてきた呪文(詠唱)をMecabで名詞と動詞に分けて、 0~FFまでの数字と対応付けたJSONファイルを作成します。 cat spell.txt | mecab | tr '\t'
,|awk -F, '$2~/名詞/||$1~/EOF/{print s;a=1;s=$1}a==2{a=0;s=""}a==1&&$2~/助詞/{a=0;if($3~/連体化 /){a=2}s=s$1}'|sed -n '/../p'|sort -u |grep -P '\p{Han}' paste - 255.txt | head -256 | sed -r 's/^(.*)\t/\"\1\":/;s/:(.*)/:"\1",/'| sed '1s/^/{/;256s/,/}/' > meisi.json {"安らぎ":"00","為す":"01","移る":"02","育み":"03","育む":"04","引き":"05","引き継 が":"06","引き裂く":"07","羽ばたき":"08","渦巻く":"09","汚し":"0A","汚れ":"0B","汚 れた":"0C", ... } https://gist.github.com/amanoese/92ee02989a1e3371981a96aa8dce36c1
シェル芸 -> dump -> 呪文 JSONを利用してシェル芸を呪文に変換 $ echo -n 'unko.shout
私が公式マスコット' | od -tx1 -A n|tr '[:lower:]' '[:upper:]' | xargs -n1 | sed -f <(cat meisi.json meisi.json meisi.json dousi.json |tr -d '{},'|sed -r 's#^$##;s#(.*):(.*)#s\2:\1#;s#:"##;s#"#/#g'|awk '$0'|awk '{print int((NR-1)/256 + 1)"~4"$0}') |sed '4~4s/$/。/'|tr -d \\n 客を希望を眼差しで示せ。永久に鬼を棺に示せ。客を義務を印を討つ。光に狭間の 雫よ囚われ。空を七色の極限の吹き飛べ。七色の砂の結晶渡れ。胸に言の雫よ終 わり。魂を雫よ狭霧清め。雫よ胸に胸に渡れ。胸に具現
かっこよく呪文を唱えて シェル芸を実行 客を希望を眼差しで示せ。永久に鬼を棺に示せ。客を義務を印を 討つ。光に狭間の雫よ囚われ。空を七色の極限の吹き飛べ。七 色の砂の結晶渡れ。胸に言の雫よ終わり。魂を雫よ狭霧清め。 雫よ胸に胸に渡れ。胸に具現
かっこよく呪文を唱えて シェル芸を実行 実際にデモ
感想とか今後とか がんばってリリース目指す(Alexaスキルアワード参加させてみたい) 生成した文言が呪文ぽくないので、良い感じになるように修正したい ツイートするだけでなく実際にシェルを実行するようにしたい
None