2021年6月28日月曜日

やっと足元が見えてきた 〜 実践的制作へのアプローチ

 ソフトウェアシンセが無料でたくさん出ているのを探して各プリセットの音色を聞くのが楽しくて時間がどんどん過ぎてしまう時期をやっと超えて最近はちょっと考えながら各種の音源を配置して循環コードを使って小さな4小節や8小節のフレーズを作れるようになってきた。

作曲などとおこがましい表現をするにはまだまだ遠く恥ずいけどやっとDAWのどこをどう触れば良いのかが見えてきた。最終的なトラックダウンと言うかアウトプットには遠いのだけど作品と呼べるものを目指して習作を繰り返していきたい。

当面は自分の中で効率の良い方法やうまい旋律や音色の当てはめ方を身に着けていきたい。

2021年5月17日月曜日

道は険しく遠い、しかし楽しい

この1ヶ月は趣味的な時間はDTM関連の特に音源集めに注力していた。

考えてみれば若いときには高くて手が出なかったシンセサイザがあちこちに無料で存在していてダウンロードすれば使えるのである。
そもそもDAWの基本はマルチトラックのレコーダでありミキサーでもある。
こういった資材の壁がやすやすと超えられるというのはもう凄いの一言なのだ。

ま、昔ならカネがないから資材が買えなくて諦めていたものがこうして無料もしくは当時に比べれば遥かに安価に入手できるとなると才能が無いことが露呈しすぎて笑えるってことはあるがシンセサイザーの音色をとっかえひっかえ遊んだりネットでダウンロードしたMIDIのデータの楽器を手持ちのVSTiで差し替えて変化を楽しんだりするだけで楽しくて仕方がない。

ちょっと他のこともしなくてはと思うけど今は取り敢えずDTM遊びに夢中 

2021年4月10日土曜日

新しいオモチャをゲットした

amazonに頼んであったyamaha pss-a50 が本日到着

まあ半世紀近くも楽器に触れてない上にギターじゃないわけで全く引けないけど楽しい。
特にDominoと連携して新しい試みをするのは面白い。
まだできてないけどアルペジエータでMIDIを作ったり出来るかとか考えるだけで楽しい。

当分は楽しめそうだ

(210412)
追記
A50のMIDI機能でDominoでいろいろ試してみたいと思ってたけどレイテンシがきつくて入力がつらい。最初は200mSぐらい遅いと思ったけどいろいろやって50mSぐらいになったけどやはりリアルタイムで引くのはちょっと
(ほとんど引けないけどコード長押しすら遅れるのでは・・・)
Dominoのせいかわからないので一念発起してCakewalk by Bandlabを入れてオーディオ側にもDominoでも試したASIO4ALLをoption選択したら気にならないくらいにはなった。
a50のタッチレスポンスが引く力に対して効きすぎるので当分はoffにする
CbBの画面の情報量に圧倒されつつ当面は初心者だね。

2021年3月19日金曜日

20年遅れ

 最近、DTMに目覚めつつある

DTMとは - DeskTopMusicの略で主にPCなどの助けを借りて音楽を制作することを総称する和製英語
90年代後半から2000年代に流行ったMIDIをデータ授受の中心に据えた音楽制作を指す

当時はMIDI音源と呼ばれるGM音源規格のジェネレータが存在したがPCのソフト音源に取って代わられたのだがここWindows10になってMIDI自体の重要性が薄れてデフォルトではあまり褒められた音では無くなった

しかしである、何故か目覚めたんだね
このMIDIで鳴らすDTMに
この場合のWindowsのオススメのソフトはDominoらしい

最近ではDAW(Digital Audio Workstation)と呼ばれる本格的なEffectやプロが使うようなソフト音源やデジタルで録音された生音を組み合わせてスタジオなみのことが出来る環境もあってCakewalk by Bandlabというソフトなどはもともと有償だったものがフリーになっていて素晴らしいのだけどその分いろいろと操作も複雑になるのでまずはDAWからみればよりプリミティブなMIDIのDTMをやってみようってわけだ(まあ自己満足だね、さほど才能ないし)

まだまだ人様に聞かせるようなものとは程遠いものをポチポチマウスで入れているんだけどそのうちにここでも披露するかも

2021年2月27日土曜日

IDEが好き

IDE・・Integrated Development Environmentの略 統合開発環境の意味 Wikipedia

PCでいろいろな言語を触って遊ぼうと思うと不可欠だと思う環境
特にエディタでコード支援が無いとまともに書けないへっぽこプログラマなので不可欠

またGUIの設計ツールも欲しいので余計にIDEにこだわることになる

最近は仕事はWindows、空いた時間の趣味はmacbookと棲み分けているので言語をいじるときは両者で動くIDEが良いと思っている
MSのVisual StudioはmacではC#のGUIが共通で動かないので残念
スクリプト系は最近はvisual studio codeで書くことが多い

以前実験的に使っていたSmalltalkのPharo(もしくはSqueak)とJavaのNetbeansに再び食指を伸ばそうかと思っている(いずれもmacでもWindowsと同じ様に動く)

さてどうしようか?

(210308) 追記
 そもそもmacとwindowsであまり違いを感じずにいろいろなソフトの記述を共通化して楽しむのならむしろpythonによるシステム開発的なものの統合化を図る方がずっと面白そう

python+tkinter( or pysimplegui)+openpyxl+SQLAlchemyぐらいを自由に使えるようになればかなり面白い環境が構築できるかもしれない


2021年2月8日月曜日

MSXで・・

 何するわけでもないけどとりあえずその「遅さ」を体感してみた。

題材はretro-pcさんもご利用のmandelbrot風のasciiart

msx-basicでやってみた。手元に実機もないのでオンラインのエミュレータwebMSX
(最初横の文字数が40文字しか出来ないと思って別バージョンを作ろうとしていたんだけどmsx-dosでmode 80って言うのがあるんで調べたらscreen 0でwidth 80でいいんだ)

最下行に所要時間を表示させてるけど実は何度も試すのに嫌気が差してスクロールで隠れる2行ほどを端折っているのでその分下駄を履かせた感じで時間が短くなっている。
本当の所要時間は838.217秒(13分58秒217)となる。
遅い原因はデフォのエミュレート機能はz80の3.58MHzクロックを忠実に再現しているからだと思う。(検証してないけどもしかしたらメモリーアクセス時のウェイトまで)
その上MSX-basicは10進計算で浮動小数が特に遅い。
同じWebMSXでcp/mの各言語でも同様の処理を走らせて比較してみると・・
mbasic 8分45秒
上記をBASCOMコンパイラにかけた実行ファイルだと 3分15秒弱
turbo pascal 3.01の生成する実行ファイルだと 4分11秒
hitech-c で生成したオブジェクトだと 2分9秒強
となる、最速のhitech-cを1とすると
hitech-c : bascom : tp3 : mbasic : msxbas =1 : 1.5 : 1.95 : 4 : 6.5
まだz88dkのcのオブジェクトとhitech-cのそれを比べてないけどcの優位性って凄いな
(まあ同じ処理を書ければだけどね)
ちょっと楽しいのでしばらくあれこれ実験をしてみようと思う。
(webMSXは[ALT]+[T]でCPUの[ALT]+[Y]でVDPのクロックを最大8倍までコントロールできるので実験段階やマンデルブロー集合描画のように結果が早く欲しいときは重宝しそうだ。)
ちなみに両方8倍にして昨日実験のhitech-c版のasciiartは15秒で書き終わる、素晴らしい

さらにz88dkのzccで作成したものとhitech-c版を比べてみたらzcc版は30秒ほどと2倍近くの時間がかかった 浮動小数を用いた演算が処理の大半だと思うのでライブラリーの差なのかな

hitech-cはプロンプトに対して c -v filename.cでfilename.comを生成してくれる。
(コンパイル環境に生成される実行ファイルが結構影響されるturbo pascalと違ってwindowsでcp/m playerを使ってコンパイルしてもcopyした先の環境ですぐに走る。)
z88dkの場合はzcc +msx -subtype=msxdos filename.c -o filename.comって感じだ。
実行の名前は変えられるので同じソースをコンパイルするときはfilename.comの部分を変えればよし。

2021年2月7日日曜日

z80とクロス開発環境z88dkとオブジェクト指向設計実践ガイドとrubyとpython

 随分「と」が多いタイトル

ちょっと前からあれこれcp/mのエミュレータなどを通してz80のプログラムをいじることがあった(まあ言語を通してだから直接アセンブラなどで弄ってるわけではないけど)
で、せっかくz80を考えるのならグラフィックなどに反映するのも面白いと思ってwindowsやmacOSでクロス開発環境を探していたらz88dkに出会った

z88dkはc言語とアセンブラなどでcp/mやMSXやPC-6001やSharp X1などを対象とした利用メディアに応じたアウトプットを選ぶことのできる開発環境

試しにDLしてgnuMakeと組合せてExampleの内容をコンパイルしたらMSXで動くサンプルとかがたくさん得られた。webMSXって言うonlineのMSXエミュレータで動かしてみるとちゃんと動くので感心した やはりグラフィックがあるとモチベーションが上がる

自分のOOP力を上げるために「オブジェクト指向設計実践ガイド」を読み始めた
副題が「Rubyでわかる進化しつづける柔軟なアプリケーションの育て方」なので一義的にはrubyで写経しつつ本文を理解してpythonでポーティングして理解を深めたい
※あって良かったWSL

しばらく上げてなかったのでまだまだ塊にならない実験しかしてないけどちょっとメモしておく

dosvaxj3が更新されていた。

 最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...