2011-01-01から1年間の記事一覧

Pyoの紹介チュートリアル

pyo

pyoは、Pythonでシンセサイザーやドラムマシンなどの音楽ソフトウェアを簡単に作れるモジュールです。サウンド処理部分はCで書かれていて、Linux、Win、Macに対応しています。同様の音楽モジュールにPySndObjというものがあります、この日記でよく取り上げて…

PC Speaker ミュージック

この文章はYerzmyeyさんのブログを翻訳したものです。訳の精度は高くありませんので原文と一緒に読まれることを望みます。翻訳の際にPCスピーカーと訳すと外付けの小さなスピーカーを想像してしまうと考えPC speakerとしました。Wikipediaには"スピーカー(コ…

Web Audio API スペックの日本語訳

はてなの文字数制限でここでは公開できないようなのでhttps://sites.google.com/site/miuraoff/web-audio-apinosupekku15章までですが。 これを読んだからといって楽器とか作れるようになるわけではありませんが、ArrayBufferをAudioBufferに非同期でデコー…

1行の音楽プログラムの深い分析

(11/2 下記に修正部分の履歴を追記しています) この文章はTarkastele kokoさんのブログを訳したものです。精度の高い訳(今回は難しかった)ではありませんので原文などと一緒に読まれることを勧めます。さて内容ですが、前回のブログから3週間が経って、集め…

GoertzelアルゴリズムでDTMF検出

最初に、この翻訳は前半部分しかありません。後半の電子工作の話は、「今年こそArduinoとかやろぞ〜」といって数年経った人間ですので、訳語とかで迷惑をかけること必至で訳しませんでした。さて内容はプッシュ式電話機などのボタンを押したときに発せられる…

1行のコードからアルゴリズム交響曲 - どのように、そしてなぜ?

この文章はTarkastele kokoさんのブログを訳したものです。精度の高い訳ではありませんので原文などと一緒に読まれることを勧めます。内容はate bitさんが作ったC64のデモにインスパイアされたTarkastele kokoさんがC言語1行で音楽を作り始めた。チャットで…

モジュラー形式でFM

「正弦波の周波数を正弦波で変調してみる」こういうのモジュラー形式とかいうそうで。 願望としてtestApp.cppのsetup()に以下のように書きたい。 SinOsc* mod = new SinOsc(2.0f, 22.0f); //コントロールする側 SinOsc* osc = new SinOsc(440.0f, 1.0f, mod)…

openFrameworksでテルミンもどき

今更ではありますが、楽しそうなので手をつけてみる。AndroidでC++のちいさな音楽ライブラリを作ったので、それ流用しながら少しずつ進めていく感じで。開発環境はCode:Blocksです。いくつかのサイトを参考にインストールしたのですが、ビルドターゲットをリ…

NDKでテルミンを作る

ただテルミンを作るだけなのにC++でサウンド処理するのは意味が無いのですが、何事も基本ですから。Android NDKの使い方などの説明は優れた他のサイトへ。しかし簡単に述べるとproject以下にjniというフォルダを生成し、その中にヘッダファイル.hとC++ソース…

別の方法でテルミンを作る

2週間ぐらい開きましたが続けます。ただ今後は徐々にサウンド処理はAndroid NDKを使ってC++で行おうと思っています。最終的にはAudioTrackを叩くのですがやはり早いですね。路線変更したのはCausticの作者がサウンド処理はC++でUIはOpenGLだと言ってたからで…

Androidでノイズとローパスフィルタなど

風邪引きまして少し手抜きで。前回はオシレータを4つ作りまして今回はフィルタとノイズです。ノイズ行きます。 class Noise extends Snd{ public double amp; public Noise(double a){ amp = a; } public double updata(){ return (2*Math.random() - 1) * a…

Androidでサイン波、矩形波、三角波、ノコギリ波をスイッチ

まず楽器の中身に入る前に、昨日までの楽器はQUITボタンがありAudioTrack.release()で開放して終了していたのですが、QUITボタンとか画面に乗っけておくと間違えて触ってしまう。 @Override public void onDestroy() { //中略 track.release(); } super.onDe…

Androidで周波数変調

サイン波の周波数をサイン波でコントロールします。 今日はテルミンにするつもりでしたが、SeekBarを使いたくてこの題材を選びました。 だいたいのデザインは SinOsc modosc = new SinOsc(2,20); Line line = new Line(0, 1, 0.02); SinOsc sinosc = new Sin…

Androidでサイン波をなめらかに音量変化

昨日の楽器にひそむ不安を解消します。 AudioTrack.playとAudioTrack.stopを実行した際におこるバジッとなるグリッチ音です。意図的にAudioTrack.playとAudioTrack.stopを繰り返してグリッチ音楽をやるのも素敵かもしれませんが、今日はそのグリッチ音退治で…

Androidでサイン波をならす

初日だけ前置き。諸事情で「HTC EVO WIMAX」を買いました。本当は2.3を買ってOpenSL ESをやってみたかったのですが、いかんせん諸事情です。ただ昔作ったAndroid音楽アプリやサイズ合わせたFLASH音楽アプリも思いのほか動くので結構楽しんでいます。さて当ブ…

Web Audio APIのテスト

今日はwindowsのGoogle Chrome Canary Bulidでアドレスバーにabout:flagsと入力するとWeb Audio APIを有効化できた。ただグリッチが酷くまともに接続音がでない状態にある。例えばテルミンみたいなのものがブツブツ音が途切れる状態だ。先日この機能を有効化…

Android2.3用OpenSL ESを使用するサウンドプログラミングの流れ

(2012 追記)以下の内容は読まずこちらを参考にしてください http://d.hatena.ne.jp/miujun/20120307 エンジンを作る result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);エンジンを実現する、リアライズってどう訳すのかわからないのだが。 re…

Android2.3だからCだけでテルミンもどきを作った。

(2012 追記)以下の内容は読まずこちらを参考にしてください http://d.hatena.ne.jp/miujun/20120307 (2011 9/30 追記)先ほどHTC EVO WIMAXを2.3にあげて試したのですが残念な結果でした。音は出るし周波数も変わりますが遅延があまりにひどかった。エミュレ…