忍者ブログ
おかげさまでspamコメントが増えてきましたので、一応コメントを承認制にしました。基本的には承認します。
[67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

で,今日の本題はこっち.

先日からのトラブルはやっぱり解消されなくて(トリガー出せるPCは音声出力に問題があった…どうしたらいいんだ…!!),困ってはいるのですが,とりあえず前の問題がなかった機器をしばらく借りられそうなので,少し気が楽になりました.

ただ,音声出力関係で調べたり,人に聞いたり,走り回ったり(これは比喩じゃなくて,ほんとうに走った.調査は足でするというけど,フィールドワークじゃなくても研究するときは走らなくてはならないことがあるようだ)して,わかったことがひとつ.

どーも普通のHDから音声出力すると,マザーボードから音が鳴るみたいなんですが,これは結構ノイズが乗るみたいです.

詳しくは,パソコン音楽環境改善計画の,外付けサウンドデバイスを導入をみてもらいたいんですが,まあ「意味」が重要な言語音とかを使うとかだとギリギリセーフなのかもしれませんが,メロディとか,ピュアトーンとか使って音声提示する場合は,ノイズは可能な限り減らしたいはずなので,こういうの使う必要があるんでしょうね.

あと,テレコ(って,テープレコーダの略称なんだけど,若い人に通じるかな/渡辺も若いけど)の音声をデジタル変換する(AD変換)にも使う事があるようです.一台は欲しいな
とりあえず以前これを使ってたけど,今は使われていないと言ううわさを聞いたので,その研究室にメールしてみているところなんですが,実は電子研なので,うちと一緒で引越ししているんですよね.ま,うちと違うのは,電子研はそっちに永住するということなので,まあうちのように「保管してるから出せません」ということにはならないと思うけど.多分.
捨てられてないといいなあ.捨てられてたら,まあしょうがないから買うか,買ってもらうかします.

ということが分かったので,今日は収穫があったことにする.

拍手[0回]

PR
北海道吹奏楽コンクール,聞いてきました.
印象に残ったところ

・石狩南…指揮者の先生(浜坂先生)のファンなので.かっこいいわー
惜しくも全道にはいけなかったようです.

・東海第四…課題曲3を選んでいたのは,多分ここだけ.
 課題曲3は変な曲だったー しかも,全日本吹奏楽連名公式みると,これだけ長いんですね.これ選べるのは自信の表れだと思います.
 実際,異様にうまかった.自由曲はトゥーランドットだったのですが,すごい.これも,皆聞きなれてる分やりにくいところがあると思うんですが,やっぱ自信あるんだろうなあ
 フルートの子がめちゃくちゃ迫力のある音を出していました.

・白石…自由曲, 矢代秋雄 (天野正道)「交響曲」より 第4楽章 という曲だったんですが,これがねえ.イントロが,どうやって鳴らしているのかわかんない音で,アレはドラとホルンかなあ,とにかくなんというか,イントロだけじゃなくて全編とおして難解な雰囲気だったのですが,そんな難しい曲なのに音に説得力があって,びっくりしました.これはねえ,凄いよ.

・東商業…で,白石のあとにやりづらくねーかなと思ってたんですが,課題曲Ⅰ(マーチで,よく課題曲になりそうな感じ)と,空中都市マチュピチュ―隠された太陽神殿の謎という,タイトルは一見変だけど,ブラスがぐわあっと鳴る王道の曲で,両方とも「王道のブラスバンド」という感じで聞かせてくれました.歌があるから王道か?といわれるとアレですが.でも上手.

いやほんと,高校生はすごいなー みんな真剣だし,素敵でした.
9月4-7日が全道大会だから,是非聞きにいくといいよ.他のコンサートに比べて安いけど,質は劣らないと思います.ただ,課題曲は何回も聞かされるので,それはちょっと飽きちゃうけど.

拍手[0回]

結局、マザーボードに問題がある(?)のか、模索していた方法は全てダメでした。

PCを変更したのでまあ解決は解決なんですが、うーん……。
あ、最初からちゃんと&H378って書いてました。昨日おとといの記事は単なる勘違いですね。

オスのパラレルポートのポート番号がわかれば、便利なんだけどなー
暇なときにオンラインヘルプを参照してみます。わかったら書きます。

はー


今日はこれから、北海道吹奏楽コンクール札幌地区大会 高校A編成を聞きにいきます。
白石高校と東海第四高校がとりあえずニ強のようで、4:30からいくと両方聞けるので、
間に合う人はいってみよう!ぎりぎりすぎますかそうですよね

拍手[0回]

今日は急に家庭教師が入ってしまい、調整しにいけなかったのですが(つまり、昨日の対処法が正しいかはいまだにわからない)、
検索する暇はあったのでちょっと調べてみました。

IBS JAPANのE-Prime FAQE-Primeから外部のデバイスに信号を送信するにはどうしたらよいでしょうか?

一番びっくりしたのは、

WritePortコマンド内では、ポートアドレスは10進法または16進法にて記されている事があります。詳細に関してはE-BasicヘルプのVal機能を参照してください。16進法表記を使用する場合、アドレスの前に "&H"を付けます。

WritePort &Haddress, value

最もよくある(10進法での)パラレルポートアドレスは888、16進法表記では378ですが、お使いのマシンのシステムプロパティを参照して正しいポートアドレスを探していただく事をお勧めします。


object.OnsetsignalData=H&378の「H&378]の部分を昨日「なんでか不明」と書いたのですが、謎はとけました。
ただ、H&って書いてたんですが、&Hが正式な表現なの?あれー?

で、あまりはっきりしないのですが、
E-StudioのInLine内で記述する場合は、Writeportを利用する
E-runのほうで記述する場合は、Onsetsignalを使う(のかなあ)
ようです。ということは、いろいろ間違ってたんですねー

E-Primeの使い方は、一子相伝というか、かなりローカルに指導されてきたので、
「正式な」ルールはぜんぜんしらないんですね。
これを期にマニュアルに目を通すべきなんだろうか。

拍手[0回]

物凄い汚い絵で申し訳ないけど、32ピンパラレルポートを模式的に書くと、下図のようになり、台形の短いほうの辺のピンは(多分)ぜんぶグランドで、長い方が、この図でいうと左から順に、1,2,3,4…のポートになるようです。

32ピンパラレルポート

で、今回、なぜか4番のポートだけちゃんとトリガーが出て、1,2番から出ない(*)ので困っています。

まだ解決してないので、この手もダメかもしれませんが、一応対応策を検討したので、メモしておきます。

現状
SoundOut1で音刺激を出し、この刺激の開始がオンセットになるので、
SoundOut1の前にInLineを置き、
InLineに、

SoundOut1.OnsetSignalEnabled = True
SoundOut1.OnsetSignalPort = H&378&H378
SoundOut1.OnsetSignalData = c.getattrib("portout")

SoundOut1.OffsetSignalEnabled = True
SoundOut1.OffsetSignalPort = H&378&H378
SoundOut1.OffsetSignalData = 0

と記述して入れていたんですが(**)、さて、これで正しいか。これで動く場合もあるので、間違ってはいないはずですが、もしかしたら変えたらなんとかなるかもしれない。というわけで、以下その対策まとめ。

対策1.
とりあえず、きちんと一回波形をグランドに落としたいので、
最初に
Writeport H&378&h378, 0
と書いとく。

対策2.
OffsetSignalという文は本当に有効なのか。(とくに、6行目)
SoundOut1.OnsetSignalData = 0にしてみたら?という方法

対策3.
同一InLineにOnsetとOffsetを両方記述すると、処理がおっつかないのでは?
渡辺の課題は、InLine1→SoundOut1→Wait1のループなので、
InLine1→SoundOut1→InLine2→Wait1とし、
InLine1にトリガー出せ(上3行)
InLine2にトリガー落とせ(下3行)
としてみる。このとき、下3行はOffsetSignal とOnsetSignalを両方ためす。

これでダメならPC交換かな…短い命であったが

*正確にいうと、出るけど、出っ放しで0におちないので、結果的にトリガーが出ない。普通トリガーは矩形波なので。
わに口クリップに針金を挟み(というのは、32ピンパラレルポートはメスなので。オスならクリップでピンを挟めばそれでOK)、オシロスコープにつないでグランドに一方を、みたいポートにもう一方を差し込めばわかる。


**
オブジェクト名.OnsetSignalEnabled = True …ここはおまじないみたいなもの
オブジェクト名.OnsetSignalPort =H&378&h378 …ポートは32ピンパラレルポートを使ってね、という意味。32ピンパラレルポートを示す記号が、H&378&h378(なんでかは知らない)
オブジェクト名.OnsetSignalPort = c.getattrib("portout") …=の右側に書いてあるポートからトリガーを出してね、という意味。
c.getattrib(" ")は、""の中の変数(Listで作るやつ)からもってこいという意味。
渡辺の場合は、Listにportout欄を作り、1とか2とか4とかいれてる(ちなみに、2進数なので3はない…はず)。したがって、名前はportoutである必要はべつにないし、トリガー一種類でよければ、

オブジェクト名.OnsetSignalPort = 1

でも問題なし。

オブジェクト名.OffsetSignalPort = 0は、意図としては、一回波形をキャンセルしてね、ということだけど、この意図通りの挙動をしてくれてるかは前述の通りびみょう。

あと、InLine内で書くなら、

writeport &h378, c.getattrib("portout")
(または、
writeport &h378, 1(←出力したいポート番号))

のほうが正しい表現かもしれないです。
(どうもOnsetSignalxxxxは、E-Basic(E-Run?)で使う表現の様子、まあStudio内で使っても挙動はちゃんとしてますが)

拍手[0回]



忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
メールはこちらから
プロフィール
HN:
渡辺隼人
性別:
男性
ブログ内検索
カウンター
コガネモチ