TTS (Text to speech)で遊ぶ。

入力したテキストを音声で読み上げ、もしくはaiffファイルに保存するAppleScript。

property dText : ""
on idle
display dialog "Please enter something." default answer dText buttons {"QUIT", "SAVE", "TEST"} default button 3
set dResult to result
button returned of dResult
set spText to text returned of dResult
if button returned of dResult is "QUIT" then
quit
else
if spText is not "" then
set dText to spText
-- [[rate 180]]で読み上げスピードを設定する
set theText to "[[rate 180]]" & spText
if button returned of dResult is "TEST" then
-- Victoria の声で読み上げ
say theText using "Victoria"
else
set saveFile to ((path to desktop as string) & spText & ".aiff")
say theText using "Victoria"
say theText using "Victoria" saving to file saveFile
end if
end if
end if
return 1
end idle



上記のスクリプトをスクリプトエディタから保存して実行します。
(「初期画面を表示しない」「実行後も終了しない」にチェックをつける)
一応OS 10.3.9 では動作確認済み。

Victoria 以外の声のリスト
http://docs.info.apple.com/article.html?path=AppleScript/2.1/jp/as304.html

| | コメント (0) | トラックバック (0)

Flash の BGM として曲を使用する

Flash05_s
Flash の中で曲をストリーミング再生する試作。

ネット上で再生した場合にどうなるのか確かめたかったのですが、そんなに極端にずれたりはしませんでした。ただ細かく動きを合わせていくとなると労力が要りそうです。

Garageband で作った1分くらいの mp3 ファイルを Flash 側でライブラリに読み込んで、フレームに放り込むと簡単に曲をつけられました。あっけなく終了。曲とアニメーションを作る方に何倍も時間がかかったっての。。

| | コメント (0) | トラックバック (0)

Apple、iPhoneの商標使えず

前から話題になっていた Apple の iPhone だけど、どうやら他の会社がすでに商標を持ってたとのこと。

くわしくはIT mediaの記事から。


これで「iPhone」の可能性はなくなったにせよ、一体どんな名前で登場するのか楽しみでもあります。

| | コメント (0) | トラックバック (1)

メニューとして使うFlashの試作

Flash04_s
サイトのトップページに置く感じのFlashを作ってみました。

読み込みが煩わしい時のための SKIP も gotoAndStop で作ったけど、サイト全体をFlashにするのって、やっぱり鬱陶しいのかな?

今回はそれぞれのリンクに説明と、タブインデックスを設定(アクセシビリティタブから)。
少しずつ線が出てきて絵が出来るのは全部描いてから「キーフレームの挿入」→「ちょっと消す」→「キーフレームの挿入」→「ちょっと消す」の繰り返しでした。

相変わらず試作の日々は続く。。

| | コメント (0) | トラックバック (0)

Flashとアクセシビリティ

アクセシビリティを考慮してウェブサイトを作成する際に、「画像でリンクを張ってはいけない」「フォントサイズを指定してはいけない」という話は昔からありました。でも最近では丸ごとFlashで構成されたようなサイトも見かけます。

それで、Flashとアクセシビリティの関係はどうなっているのだろうと興味があって調べてみました。

参考ページ
Macromedia - アクセシビリティ
アクセシビリティに配慮したFlashコンテンツ

Flashでも数年前よりアクセシビリティのことは考慮されていて、制作の段階でボタンやムービーなどに代替テキストを設定しておくことでスクリーンリーダーの読み上げに対応しているそうです。Tabキーフォーカスの順番も設定可能。

ベクターの特性もあって、ウィンドウサイズに合わせて拡大表示しても表示が粗くならないメリットもあるみたいです。ちゃんと考えられてるんだなあ。

ところで「アクセシビリティ」って日本語で言い換えられないのかな。言いにくいというか打ちにくい。

| | コメント (0) | トラックバック (0)

ランダムにテキストを表示するFlash

Flash2_s
できました。
ロードすると、ただテキストを表示するFlashです。

ダイナミックテキストの透過度をMovieClipで変えたかったのに出来なかったので、上から背景色と同じ色のシェイプを置いてモーショントゥイーンで透過させました。どこを触れば良かったんだろう…

MovieClipを作っていくとドンドン階層が入れ子になっていって訳が分からなくなりました。試行錯誤するうちにライブラリがトゥイーンで埋まってたり。

配列に入れた10個くらいの文字列を乱数で取り出して、さらに乱数で選んだtextfieldに出力しています。
本当は外部テキストから読み込みたかった…。


相変わらず文字列は適当です。

| | コメント (0) | トラックバック (0)

続・Flashを作ってみた

昨日に引き続きFlashを触ってみました。オブジェクトをアニメーションさせるのは理解できたので、今度はボタンを付けて操作できるようにしたい。

Flashに関する知識がゼロの状態からいろいろと調べてみると、オブジェクトを「シンボルに変換」でボタンにする。で、ボタンに押された時の動作を直接書き込むことが判明(ActionScriptと呼ぶらしい)。

フレームのスクリプトに記述すると、そのフレームが再生された時に実行される。ボタンに記述すると、そのボタンが押された時などにスクリプトが実行されるというような仕組みです。

直感的に分かりやすいですね。

ボタンが押された時に再生を停止・再開するとか、オブジェクトをパスで指定して座標をx,yの任意の方向に動かすとか指示していけば素敵なことになると。インタラクティブなことになると。

この一連の関係を見ているうちにHyperCardを思い出しました。HyperCardというのはMac OS9まで対応していたアプリケーションで、スライドショー的なページにボタンやテキストを配置して、それぞれのオブジェクトに直接スクリプトを書き込める柔軟なツールでした。

on mouseUp
answer "Hello."
end mouseUp

とか、こんな感じだったかな。

| | コメント (0) | トラックバック (0)

Appleから1月に携帯電話が登場?

前から噂されていたAppleのiPhoneが来年1月には登場するとのこと。

詳しくはiTmediaの記事を参照

更にはiTVの名で映画配信事業にも本格的に乗り出すとか。TV試聴機能については捨て去られてきたMacですが(Mac用外付けTVチューナーなんかで対応)、iPodの成功と音楽配信の延長線上に映画配信が見えてきた、てとこでしょうか。

iPhoneも良いけど、個人的には iBook mini が欲しいなあと思うこの頃。


携帯電話で思い出したけど、今日見たSoftbankのCMはどうかな〜と思った。

女の子同士が話していて、「私と電話するとお金かかるよ」「そっか、Softbankじゃないだね。でも〜〜ちゃんは悪くないよ」っていう流れ。なんか後味のすっきりしないCMだったな。

| | コメント (0) | トラックバック (0)

Flashを作ってみる

Flash_s
以前から興味はあったけど、なんだか難しそうという理由で近づかなかったFlashの世界に、今日は足を一歩だけ踏み込んでみました。

買ったのは Macromedia FLASH Basic 8 。30日間なら Professional のトライアルもできる。


実は先週には用意してあったのだけど、ちょっと忙しかったので、ようやくインストール&テスト。

テキストとシェイプだけでも割と動的なものが作れるようです。

オブジェクトの最初の位置と最後の位置だけ指定してやれば勝手にアニメーションしてくれるのに感動。モーショントゥイーンという機能らしいです。トゥイーン。楽しい響き。で、プレビューで確認しながらサクサク作成。

動きが若干カクカクして見えるのはフレームレートの設定なのかな。これで12fps。文字とかは適当。


本日のまとめ。
Flashは簡単なものから凝ったものまで作れる(予感がする)ソフトです。

| | コメント (0) | トラックバック (0)

AppleScriptでデスクトップにフォルダを新規作成する


set mDir to POSIX path of (path to desktop)
set fldName to "作成するフォルダ名"

-- もしfolder fldName がデスクトップ上に存在しなければ作成する
-- desktop / 新フォルダ ←こんな感じ

set fEx to do shell script "find " & mDir & " -name " & fldName & "* -print"
if fEx is "" then
do shell script "cd " & mDir & ";mkdir " & fldName
end if

-- ・さらに下の階層も作る場合

-- (下の階層に作るフォルダの名前を、その日の日付にしてみる)
-- desktop / 新フォルダ / 日付のフォルダ ←こんなイメージ

set theTime to do shell script "date +'%y%m%d'"
set fEx to do shell script "find " & mDir & fldName & "/" & " -name " & theTime & "* -print"
if fEx is "" then
do shell script "cd " & mDir & fldName & ";mkdir " & theTime
end if

| | コメント (0) | トラックバック (0)

Applescriptでhtmlタグを削除する

動作をApplescriptでやってみると…


-- < と > に挟まれた部分を削除する

set theText to 〜〜 -- 処理するテキスト

set oldDel to AppleScript's text item delimiters
set AppleScript's text item delimiters to " <"
set m to count text items of theText
set AppleScript's text item delimiters to ">"
set t to count text items of theText
set AppleScript's text item delimiters to ","
if m > t then
set p to t
set min1 to m - t
else if m = t then
set p to m
set min1 to 0
else
set p to m
set min1 to t - m
end if
set p to p - 1
repeat until p < 1
set k to offset of " <" in theText
set s to offset of ">" in theText
set tid to strings k thru s of theText
set AppleScript's text item delimiters to tid
set theText to text items of theText
set AppleScript's text item delimiters to " "
set theText to theText as string
set AppleScript's text item delimiters to " <"
set h to count text items of theText
set AppleScript's text item delimiters to ">"
set r to count text items of theText
set AppleScript's text item delimiters to oldDel
if h > r then
set p to r
set min2 to h - r
else if h = r then
set p to h
set min2 to 0
else
set p to h
set min2 to r - h
end if
set p to p - 1
end repeat
end if

特に文字列操作に関しては Applescript だと要工夫。

| | コメント (0) | トラックバック (0)