トピック
つばさ☆ nsm2116

マイク

マイクについて1から学びたいのですがどうすればいいですか。 全く基礎から分かりません。 とりあえず今の目標は録音・再生ができるプログラムです。
5そうだね
プレイ済み
返信[1]
親投稿
Ϊċăņ ďо įт hikahikaru3
まずXON MIC'これがないと始まらない でMICSTART Rate(0~3で高いほど高音質だが短時間),Biy(0=8,1=16),IsTime(0=ループ,1~=録音する秒数)'ループモードで最大秒数を超えると先頭のDATAから順次上書きされてゆく 最大秒数(16bitは8bitの半分) Rate==0...32s Rate==1...24s Rate==2...12s Rate==3...8s 録音したものを配列に取り込むにはMICSAVE{{Postion,}GetSamples,}ArrayName で録音を止めたい時はMICSTOP でもって再生はWAVESET(だっけわすれた)でいいはず
1そうだね
未プレイ
返信[2]
親投稿
つばさ☆ nsm2116
コメントありがとうございます。 bitのやつの2と3の8bit符号符だっけ?それって何ですか。
0そうだね
プレイ済み
返信[3]
親投稿
一つだけ注意を、マイクは自動でOFFにはなってくれないので、XOFF MICを忘れずに
1そうだね
プレイ済み
返信[4]
親投稿
つばさ☆ nsm2116
あと、サンプリングって何ですか? もうひとつサンプリングレートって何ですか? いっぱい質問しちゃってすみません。
0そうだね
プレイ済み
返信[5]
親投稿
サンプリングレート 時間あたりの記録する回数 8180Hzなら1秒間に8180回値が記録される
1そうだね
プレイ済み
返信[6]
親投稿
れいさんのまとめを見ると手っ取り早い https://miiverse.nintendo.net/posts/AYMHAAACAAADVHkP77VM1g
1そうだね
プレイ済み
返信[7]
親投稿
つばさ☆ nsm2116
ありがとうございます!
1そうだね
プレイ済み
返信[8]
親投稿
つばさ☆ nsm2116
できた! あと追加でPCM系の命令てどんなときに使うの?
0そうだね
プレイ済み
返信[9]
親投稿
買ってないからわからないなぁ…
3そうだね
プレイ済み
返信[10]
親投稿
つばさ☆ nsm2116
れいさんのとこのをちゃちゃっと見てきたけど画像のだと1秒で消費される。 せめて1分ぐらい録音できるようにしたいんですが… どうすればいいですか?
0そうだね
プレイ済み
返信[11]
親投稿
ループモードにしてMICPOSの様子見しながら配列に加える必要がある
1そうだね
プレイ済み
返信[12]
親投稿
つばさ☆ nsm2116
…………? よくわからん。
2そうだね
プレイ済み
返信[13]
親投稿
つばさ☆ nsm2116
MICPOSが一定値になったら処理を行う的な?
2そうだね
プレイ済み
返信[14]
親投稿
MICPOSが変わったら処理をする
2そうだね
プレイ済み
返信[15]
親投稿
つばさ☆ nsm2116
処理って配列に入れていくということですか?
2そうだね
プレイ済み
返信[16]
親投稿
つばさ☆ nsm2116
こういうことかな? まだ4秒だけどね。若干、音の高さがずれてるのは気のせい? 途中で録音を停止してそこまで録音した音声を流すにはどうすれば? 途中で録音を停止してそこまで録音した音声を流すまではできますが、それだと音が高くなり、音声が流れるのも速くなります。どうすれば? あと、途中で抜けると何回も同じ所が流れるんですがどうすれば直せますか?もしかして何秒録音したかを記録して置いてその秒数、曲を流さないとだめなのかな?だから&で繋いで見たけどこれまた違う。という訳です。 ちょいもっかいれいさんの所見てきます。
1そうだね
プレイ済み
返信[17]
親投稿
MICSAVEじゃ第1の時間壁越えられないんだよね…
2そうだね
プレイ済み
返信[18]
親投稿
つばさ☆ nsm2116
1そうだね
プレイ済み
返信[19]
親投稿
ループモードはおしり、もとい末尾にたどりついたら頭から上書きされるからね。 その状態でMICSAVEすると上書きされる前のデータが無くなっちゃうでしょ
2そうだね
プレイ済み
返信[20]
親投稿
つばさ☆ nsm2116
確かにそうだけど…… だとしたらどうするのかな? もしかして配列をいくつか用意して末尾まできたらもう1この配列にMICSAVEしていく。とか? もしくは末尾まできたら一回そこまででWAVSETA 224,…………してループが終わったら、WAVSETA 225,……とか?
2そうだね
プレイ済み
返信[21]
親投稿
配列をいくつか用意もアリだなぁ… 録音データの1要素だけ取り出すMICDATA()というのがあるんだよね
2そうだね
プレイ済み
返信[22]
親投稿
後者の方法もアリだけど保存するとファイルが分割されちゃうね…
2そうだね
プレイ済み
返信[23]
親投稿
つばさ☆ nsm2116
MICDATA()…使い方分からんな。 MICDATA(MICPOS)とかでは使ったことあるが、人のを写したからなぁ。 質問ばっかですみません。 てか、質問してることが違うから違うトピック作った方がいいのかな?
2そうだね
プレイ済み
返信[24]
親投稿
目立つようにしたいなら新しくしてもいいけどそのままでも大丈夫。 MICDATA(取り出す位置)だからMICDATA(MICPOS)は考え方としてはいいんだけど、MICPOSは一気に16増えるとか聞くからそこの工夫がいるんだよね
2そうだね
プレイ済み
返信[25]
親投稿
1.MICPOS==0が16に変わった 2.MICDATA(MICPOS)を記録しよう 3.MICDATA(0)からMICDATA(15)はどこ行った?
2そうだね
プレイ済み
返信[26]
親投稿
くう TTK79054
試行錯誤を繰り返してるが未だにできぬ
3そうだね
未プレイ
返信[27]
親投稿
れい rei-nntnd
何言ってんのかよくわからんよ。 難しく考えすぎなのでは。単純にやるべき。 1.長さ0の配列Dを用意する。ポジションインジケータPを用意する 2.録音開始する。 3.PとMICPOSが一致するなら待つ。 4.位置Pのデータを読んでDに追加。 5.位置Pを一つ進める。もしPがMICSIZEを超えるなら0に。 6.3にもどる こんな感じにすればメモリの許す限り無限に読める。 10行もいらないし。 3の処理が暇なので、録音しながらなんかしたいなら3に入れればいい。
4そうだね
プレイ済み
返信[28]
親投稿
つばさ☆ nsm2116
ポジションインジケーターって何ですか?
2そうだね
プレイ済み
返信[29]
親投稿
用語はそんなに気にしなくてもいいんじゃないからな? 「位置を示すもの」的なことだと思うけど…
2そうだね
プレイ済み
返信[30]
親投稿
なんか「ら」が入ってるけど気にしない。 ポジションは「場所」「位置」 インシゲータは「標示するもの」
2そうだね
プレイ済み
返信[31]
親投稿
れい rei-nntnd
あ、ごめーん。 ブルーボトルいったら西海岸にいたときのこと思い出して無意識にね。 普通の言葉でいうとー アレイインデックス?がインポータント? これくらい僕の仲間内ではふつうなんだけどね。 あー。意識高いのつらい。 このくらいで勘弁して 単に位置示す変数。 配列の要素数使いたいんだけど、MICPOSは0に戻るから、二週目を考えるとどうしても変数ひとつ要る
3そうだね
プレイ済み
返信[32]
親投稿
つばさ☆ nsm2116
こんな感じかな? とりあえず自分の持ってる知識でやってみた。 けどBGMPLAYすると波形のながさ? によって速さが変わったり短すぎると何回も繰り返されたり……… もしかして録音が違うのかな? てかそもそもIF P==MICPOSてたまにしか合わないでしょwもしかしてそれに意味があるのか…… もしくは再生の仕方が違うというのもある。混乱しすぎて日本語がおかしくなりそう。(てかなってる?)
1そうだね
プレイ済み
返信[33]
親投稿
れい rei-nntnd
なんか難しく考えてる感じする DIM D[0]:P=0 MICSTART 2,0,0 REPEAT WHILE P==MICPOS:WEND PUSH D,MICDATA(P) P=(P+1)MOD MICSIZE UNTIL BUTTON()==16 こんなんでいいんでは?動作確認してないけど。もっと負荷低い方法もあるけど、わからないのなら単純なものから。 WAVESETAで波形再生する方法に関しては以前の投稿参照。ひどいので。
2そうだね
プレイ済み
返信[34]
親投稿
つばさ☆ nsm2116
以前の投稿どこだw
0そうだね
プレイ済み
返信[35]
親投稿
つばさ☆ nsm2116
てか、XON MIC忘れてた!!
0そうだね
プレイ済み
返信[36]
親投稿
つばさ☆ nsm2116
とりあえずトピック閉じます。 ここからは自分の力で頑張ります。ありがとうございました!
1そうだね
プレイ済み