タグ

ブックマーク / www.moongift.jp (49)

  • Sonic Pi - 音楽のライブコーディング環境

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 音楽を奏でるというと大事に聞こえますが、プログラミングと同じでちょっとずつ積み重ねていけばきっとすてきな音楽ができあがるでしょう。そんな創作活動をたくさんの人たちと楽しんでみたくないでしょうか。 今回紹介するSonic Piはまさにそんな音楽を作っていくプロセスをライブコーディングさながらに楽しめるソフトウェアとなっています。 Sonic Piの使い方 Sonic Piのメイン画面です。中央部のエディタにてコードを書くことで音楽を設定していきます。 例えばこんな感じです。live_loopなど、それっぽいメソッドを使うので分かりやすいです。 Sonic Piは楽譜を書くわけではないので、プログラマの方が分かりやすいかも知れません。また、書いたコードをその場で実行したり、修正すること

    Sonic Pi - 音楽のライブコーディング環境
    oqzl
    oqzl 2016/05/18
    よさげ(未確認)
  • MidiWriterJS - JavaScriptによるMIDIファイル生成

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました MIDIというと20年くらい前のWebで、ブラウザで音楽を流すのに使ったり、耳コピーした映画やドラマ、ゲーム音楽を配布するのに使われていた覚えがあります。 最近ではあまり聞きませんが、音楽の創作をもっとプログラマブルにすることで新しい可能性が出てくるかも知れません。そう感じさせるのがMidiWriterJSです。 MidiWriterJSの使い方 MidiWriterJSはその名前の通り、JavaScriptでMIDIファイルを生成します。例えば次のようなコードです。 // Start with a new track var track = new MidiWriter.Track(); // Define an instrument (optional): track.add

    MidiWriterJS - JavaScriptによるMIDIファイル生成
    oqzl
    oqzl 2016/05/18
    良い
  • kuromoji.js - Webブラウザ上で分かち書き! MOONGIFT

    テキストから意味を読み取るというのは非常に難しく、そのための専用ソフトウェアが存在するほどです。そしてテキスト解析手法の一つとして知られているのが分かち書きです。日語であればChasenがよく知られています。 kuromoji.jsはそんな分かち書き処理をJavaScriptで行ってしまおうというソフトウェアになります。KuromojiというApache財団のオープンソース分かち書きエンジンをJavaScriptにポーティングしています。 kuromoji.jsの使い方 こちらはデモです。Webブラウザベースで動作しています。nodeでも使えます。 適当な文章をリアルタイムに分かち書きできます。 kuromoji.jsは辞書ファイルをAjaxで取得しています。そのためサイズは大きくなりますが、分かち書きの精度はとても高くなります。サーバサイドで辞書を用意したり分かち書きエンジンを用意する

    kuromoji.js - Webブラウザ上で分かち書き! MOONGIFT
    oqzl
    oqzl 2014/12/24
    おお、タイムリー
  • Alasql.js - オンメモリで動作するJavaScriptデータベース MOONGIFT

    JavaScriptを活用したWebアプリケーションを開発している際に、一時的に保存したいデータをどのように扱うかは大きな問題です。何となく変数や配列、ハッシュに保存してしまいがちですが、そのデータの取り出しや更新が面倒だったりします。 そこで使ってみたいのがAlasql.jsです。JavaScriptだけで作られたクライアントサイド向けのSQLデータベースになります。 Alasql.jsの使い方 使い方の例。データを配列で放り込んで、SQLで取り出せます。 デーブルの作成を含めてSQLが書けます。 データはlocalStrageに保存することもできるので、再読込時に復元も可能です。 Alasql.jsはHTML5仕様の中で検討されていたWeb SQLとは異なる実装で、オンメモリで動きます。高速で動作し、かつデータはlocalStrageに保存しておくこともできるので容量は小さいながらも永

    Alasql.js - オンメモリで動作するJavaScriptデータベース MOONGIFT
    oqzl
    oqzl 2014/11/21
    なにこれすごい
  • Poll – シンプルな投票システム

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 他の人はどう思っているのか、ふと聞いてみたくなることってありますよね。そんなときに使えるのがWebアンケートサービスです。リッチで使いやすいサービスもありますが、今回はシンプルにすぐに使えるPollを紹介します。 アンケートサービスの多くは回答を公開しない、作成者だけで確認できるというものですが、Pollは回答が自動で公開されます。結果をみんなでシェアできる、そんなアンケートができるでしょう。 Pollの使い方 Pollはとてもシンプルなので、テキストで回答したり、複数の選択肢があるものは作成できません。その代わりに選択式であれば素早く回答できるので、スマートフォンやタブレット向けにさくっと作成するのには向いていそうです。 PollはRuby/Ruby on Rails製、MIT

    Poll – シンプルな投票システム
    oqzl
    oqzl 2014/11/01
    飲み会の店とかこういうので決めよう
  • Rubicure - プリキュアを愛する方向けのRubyライブラリ MOONGIFT

    私にも娘がいて、幼稚園くらいの頃にはプリキュアに夢中になっていた時代がありました。たぶん小さい女の子はみんな一度はハマる時期があるのではないかと思います。 それを一緒に見ていた(または単独でも可)プログラマーはお父さんが腕にものを言わせるとRubicureというのが出来上がる訳です。 RubicureはRubyのバージョンは2.0以降が要求されます。インストールはRubyGemsでできますのでさっそく試してみましょう。 $ gem install rubicure 完了したらおもむろにirbを実行します。 require "rubicure" そして実行します。 Precure.title #=> "ふたりはプリキュア" うーん熱い。 実行結果。ハッシュで受け取れます。 Precure.max_heart.title #=> "ふたりはプリキュア Max Heart" うーん実に熱い。作者

    Rubicure - プリキュアを愛する方向けのRubyライブラリ MOONGIFT
    oqzl
    oqzl 2014/01/07
    なんだこれ…
  • この発想はなかった。GIFアニメーションをCanvasで解析して自由に再生·jsgif MOONGIFT

    jsgifはGIFアニメーションを解析し、一時停止したりリバース再生したりできるJavaScriptライブラリです。 GIFアニメーションは動画が当たり前になった現在、廃れるかと思ったのですが未だに好んで使われています。特にちょっとしたお笑い系動画をGIFアニメーションにしていると面白いです。そんなGIFアニメーションを再生、リバース再生など自由に操作できるようにするJavaScriptがjsgifです。 まず最初の表示です。全てGIFアニメーションになっています。 ブックマークレットを実行すると、赤い枠が表示されます。クリックするとフレームの解析が行われます。HTML5対応ブラウザ向けですが、Google Chromeではコントローラーがうまく表示されませんでした(SafariはOKでした)。 画像の下に操作するコントローラーが表示されます。 フレームに関する情報を表示しています。 色々

    oqzl
    oqzl 2012/02/18
    これはよい
  • Google製のクライアントサイド、JavaScript製テンプレートエンジン·JsTemplate MOONGIFT

    JsTemplateはGoogleが開発したJavaScript製のテンプレートエンジンです。 Webアプリケーションがさらに開発されていくために必要なのが高機能なJavaScriptテンプレートエンジンの存在です。幾つか出てきていますが今回紹介するのはかなり有力です。なぜならGoogleが開発したテンプレートエンジンだからです。それがJsTemplateです。 デモです。左上がテンプレート、右上がJSONの元データになります。 そして左下が実際に生成されたHTMLで、右下がレンダリング結果になります。 idを使ってテンプレート名を定義しています。 こういう風にデータがない場合のチェックもできます。 実際のコードです。jsdisplayのところに検証が入っているのが分かります。 データがある場合はもちろん繰り返し表示します。 実際のコードです。 JsTemplateは再帰処理ができたりev

    oqzl
    oqzl 2012/01/05
  • 高度な表現力を実現したJavaScriptフレームワーク·toxiclibs.js MOONGIFT

    toxiclibs.jsはtoxiclibsをJavaScriptにポーティングするプロジェクトです。 コンピュータでプログラミングされたデザインを描き出すフレームワークにProcessingを用いたtoxiclibsがあります。それはJavaで開発されているのですが、何とJavaScriptにポートしたプロジェクトが登場しました。それがtoxiclibs.jsです。 デモを実際に試した動画です。以下はそれらの解説です。 こんな感じにボールが舞い降りてきます。 マウスの動作に追従して円の大きさが変化します。 マウスを動かすと色が変化します。 鎖を引っ張って動かします。 クリックするとアニメーションしながら一直線になります。 マウスの動きで変化します。 渦巻き模様がマウスの動きで大きくなったり小さくなったりします。 マウスで適当に引いたラインがスムーズに描かれます。 クリックする度に三角形が

    高度な表現力を実現したJavaScriptフレームワーク·toxiclibs.js MOONGIFT
    oqzl
    oqzl 2011/12/29
  • Google ChromeからiOSへURLを転送·Push To iOS/Chrome To iOS MOONGIFT

    Push To iOS/Chrome To iOSはGoogle Chromeで今見ているURLをiOSに転送するソフトウェアです。node.jsサーバを介しています。 AndroidではGoogle Chromeから今見ているURLを転送する機能、Chrome To Phoneがあります。それをiOSでも同じように行うのがPush To iOS/Chrome To iOSです。GREEの伊藤直也氏の開発したソフトウェアになります。 サーバです。node.jsとSocket.ioを使っています。 Google Chrome側です。ボタンを押すだけでURLが飛びます。 データを受け取った際のログです。 iOS側でデータを受け取ったときの表示です。Socket.ioのお陰でリアルタイムにデータが追加されます。 サーバ側のログです。 Push To iOS/Chrome To iOSは独立してい

    oqzl
    oqzl 2011/11/09
    Socket.io
  • スマートフォンに特化することでjQuery API互換ながら5KB以下なJavaScriptライブラリ·Zepto.js MOONGIFT

    Zepto.jsはjQuery API互換のスマートフォンブラウザ向けJavaScriptライブラリ。 Zepto.jsはJavaScript製のオープンソース・ソフトウェア。最近のWebシステム開発ではjQueryを使わないことがなくなったとさえ言えるかもしれない。それくらい頼り切ってしまっている。普通にJavaScriptを書くのが苦しくなるくらいだ。 サンプル。大抵の機能はデスクトップブラウザにも対応。 そのためスマートフォン向けのサイトでもjQueryを使ってしまう。だがデスクトップのように高速な回線でない場合もあるため、jQueryの90KBくらいのサイズは非常に重たいのだ。そこで使ってみたいのがjQuery API互換の軽量ライブラリであるZepto.jsだ。 Zepto.jsは何と5KB以下で提供されている。eachやmap、$を使ったDOMアクセス、Ajax、findなど基

    oqzl
    oqzl 2011/09/17
    こういうのいいな
  • Subversionのリポジトリを監視·SVN-Monitor MOONGIFT

    Subversionを使って開発を行っていると起こるのがコンクリフトだ。みんな了解の上であれば良いが、ちょっとした修正(デバッグなど)を追加して、他のファイルと一緒にコミットされたために発生したりするとがっかりしてしまう。てっきり自分だけが更新していると思ったりする場合もある。 Subversionリポジトリを監視して開発効率を高める そのような失敗を防いでくれるのが、Subversionを監視するこのソフトウェアだ。 今回紹介するフリーウェアはSVN-Monitor、Subversion監視&通知ソフトウェアだ。 SVN-MonitorはTortoiseSVNと連携するソフトウェアで、ワーキングコピーを監視して、アップデートが行われていないか、定期的にチェックしてくれる。あればポップアップや音、メールなどで知らせてくれる。 更新内容のチェック 自分の更新状態も監視してくれるので、他のユー

    Subversionのリポジトリを監視·SVN-Monitor MOONGIFT
    oqzl
    oqzl 2011/04/13
  • 難読化された読みづらいコードも一発で整形·JSBeautify For Chrome MOONGIFT

    JSBeautify For ChromeはWebブラウザ上でJavaScriptを整形して表示するGoogle Chrome拡張。 JSBeautify For ChromeGoogle Chrome用のフリーウェア(ライセンスはWTFPL)。格的なWebアプリケーションが普及するにつれて、JavaScriptの利用範囲が拡大している。そんな中ではJavaScriptのファイル自体もサイズが大きくなっている。 Clippyあり版(整形前) そのためJavaScriptを多用するサイトでは余計なスペースや改行を消すなどしてサイズを減らすのが一般的になっている。しかしそれはコードが全て1行で書かれる、とても見づらいものになる。そこでJavaScriptの表示に際して使ってみたいのがJSBeautify For Chromeだ。 JSBeautify For ChromeGoogle C

    oqzl
    oqzl 2011/04/12
  • まさにノウハウの塊。WordPressでCMSサイトを構築するなら·WSCプロジェクト MOONGIFT

    WSCプロジェクトWordPressでCMSサイトを構築するのに使えるテーマを開発するプロジェクト。 WSCプロジェクトPHPWordPress用のオープンソース・ソフトウェア。ソフトウェアは大抵、最初はごく小さなレベルからスタートする。それが数年かけて開発を続ける内に徐々に機能が追加されたり、逆に削られたりしながら磨かれていく。 トップ WordPressもその一つだ。元々はとてもシンプルだったと思われるが、今ではとても重厚なシステムになっている。ブログエンジンではなく、まさにCMS(コンテンツ・マネジメント・システム)だ。そんなWordPressとさらに便利に使いやすくしてくれるプロジェクトがWSCプロジェクトだ。 WSCプロジェクトではWordPressでCMSを構築するのに最適なテーマを開発している。最新版のWSC6では、限りなくプレーンなデザインを追求することでデザイナーの

    oqzl
    oqzl 2011/04/11
  • 仕事で便利。CSVファイルを読み込んでソース/検索可能なHTMLに変換·Latimes Table Stacker MOONGIFT

    Latimes Table StackerはCSVファイルを設置し、ソート/検索可能なHTMLで表示するソフトウェア。 Latimes Table StackerはPython/DjangoGoogle App Engine用のフリーウェア(ソースコードは公開されている)。高度なWebアプリケーション、システムが開発され個人のIT利用度はどんどん高くなっている。対してビジネスの場ではあまり大きな変化は起きていない。 CSV一覧 未だにAccessのようなデータベースが使われ、Excelベースのデータ集計がされている。それは決して悪いことではないが、ソフトウェアの依存や再利用性を高めるのには不向きだ。そこで使ってみたいのがLatimes Table Stackerだ。 Latimes Table StackerはCSVファイルを読み込み、テーブル上に表示するソフトウェアだ。一行目がカラムに

    仕事で便利。CSVファイルを読み込んでソース/検索可能なHTMLに変換·Latimes Table Stacker MOONGIFT
    oqzl
    oqzl 2011/03/27
    ちょこれすごく便利そう
  • 解析データの、グラフ化に。JavaScript製統計解析ライブラリ·jStat MOONGIFT

    jStatはJavaScriptで作られた統計解析ライブラリ。Canvasタグにデータをプロットする。 jStatはJavaScript/jQuery製のオープンソース・ソフトウェア。単純に一覧化された数値では分からない情報も、データをビジュアル化すると見えているものがある。トレンドや偏差が見えると、次の手や分析する上でのきっかけが掴めるようになる。 二つのデータを描画 統計のビジュアル化をする解析言語としてはMATLABやRが有名だ。しかしそうした言語を覚えないとデータのビジュアル化ができないのは面倒だ。Webブラウザ上でもっと手軽にグラフを描くソフトウェアとしてjStatを紹介しよう。 jStatでは多様な統計解析を行うライブラリだ。描画にCanvasを使っているのでHTML5をサポートしたモダンなWebブラウザがサポート対象になっている。またjQueryを使っている。線で描画すること

    oqzl
    oqzl 2011/03/25
  • どこでも使える。Dropboxを持ち歩く·DropboxPortableAHK MOONGIFT

    DropboxPortableAHKはポータブルなDropbox環境を実現するソフトウェア。 [/s2If] DropboxPortableAHKはWindows用のフリーウェア。個人的にはDropboxがない生活は考えられない状態になっている。複数のコンピュータでファイルを共有したり履歴管理を含めたバックアップシステムとしてとても重宝する。 設定画面 しかし環境によっては自由にソフトウェアがインストールできず、Dropboxが使えないという人もいるだろう。ネットカフェでも同様だ。そこでさらにDropboxを便利にするのにDropboxPortableAHKが使えそうだ。 DropboxPortableAHKはAuto Hot KeyをベースにしてDropboxをポータブルにしたソフトウェアだ。DropboxPortableAHKをUSBメモリ等に配置することでDropboxのデータをポー

    oqzl
    oqzl 2011/03/23
  • 今回の地震でも役立っているGoogle製の緊急時消息情報共有システム·Google Person Finder MOONGIFT

    Google Person Finderは連絡の取れない人たちの情報を共有する緊急事態用の掲示板Google Person FinderはPython製/Google App Engine用のオープンソース・ソフトウェア。東北地方太平洋沖地震はM9.0という想像を絶する規模の大地震で、大きな傷跡を今なお残している。最重要なのは人名救出であって、そのために多くの人たちが懸命にがんばっている。 トップ 電話やネットワークが分断された中では、家族や親族が互いを探すための手段がなくなってしまう。無事であるのか、探しているのか、または誰かを見かけたのかと言った情報を集約してオンラインで共有するのがGoogle Person Finderだ。 Google Person Finderでは人を探している、または消息情報を提供するといった情報を登録できるようになっている。人を探す場合は名前の一部を入力

    今回の地震でも役立っているGoogle製の緊急時消息情報共有システム·Google Person Finder MOONGIFT
    oqzl
    oqzl 2011/03/22
    悪用されないかだけが心配…
  • WebSocketを使っていない、サーバ無用なリアルタイム通信ライブラリ·Easy WebSocket MOONGIFT

    Easy WebSocketはWebSocketではなくリアルタイム通信を行うJavaScriptライブラリ。 Easy WebSocketはnode.js製のオープンソース・ソフトウェア。HTML5界隈が賑わっているが、なかなか実用的なものは出てきていない。動画共有サイトのスマートフォン向けインタフェースやWebブラウザ用のゲームがせいぜいではないだろうか。 チャット画面 やはりデスクトップ向けのブラウザで一部のブラウザしか対応していないのが問題なのだろう。HTML5に関連した技術、WebSocketは特にサーバ側の準備も必要で扱いづらいイメージがある。そんな常識を覆すソフトウェアがEeasy WebSocketだ。 Easy WebSocketは正しくはHTML5の仕様ではないがWebSocketを擬似的に再現する。まるでWebSocketではないかと思えるほど、リアルタイムで更新され

    oqzl
    oqzl 2011/03/16
    レガシーな手段と最新のテクニック
  • テキストファイルからHTML5のプレゼンテーションを生成する·KeyDown MOONGIFT

    KeyDownはMarkdown記法を使ってテキストファイルからHTML5のプレゼンテーションを生成する。 KeyDownはRuby製のオープンソース・ソフトウェア。個人のエンジニア、デザイナーが集まる勉強会ではあまり凝ったプレゼンを見る事が少ない。むしろHTMLやKeyNoteなどを使ってカジュアルに作られる方が多いのではないだろうか。 スライド テキストファイルで作成したプレゼンテーションは検索も容易でWebとの親和性も高い。配布して見てもらうのに特別なソフトウェアも無用と言う事なしだ。とは言え作成にHTMLを使ったりしたくない、という人はKeyDownを使ってみよう。 KeyDownはプレゼンテーションファイルの記法にMarkdownを使えるソフトウェアだ。keydownコマンドを使って(オプションはgenerate)プレゼンテーションのベースを作成する。!SLIDEというのがスライ

    oqzl
    oqzl 2011/03/10
    これは良い!理想的!