No.2ベストアンサー
- 回答日時:
A No.1のKulesです。
補足ありがとうございます。
うーん…なんかぐっちゃぐちゃですね(笑)
1つずつ整理していきましょうか。
>Fs = 48000;
>Freq = 440;
>Freq2= 880;
>time=Fs / 10;
この時点でtime=4800ですね。
>n = 1:time;
time=4800なので、nは1行4800列です。
>tone(n) = 1*sin(2*pi*Freq*(n-1)/Fs);
>n = time:Fs;
time=4800、Fs=48000ですので、nは1行43201列です。
>tone(n) = 0;
>n = 4*Fs+1:6*Fs;
4*Fs=196000、6*Fs=288000なので、nは1行96000列です。
>A = linspace(1,0,2/44100);
2/44100は2*44100のことでしょうか?あるいは、44100/2のことでしょうか?前者の場合、Aは1行88200列、後者の場合Aは1行22050列です。
>tone(n) = A.*sin(2*pi*Freq2*(n-1)/Fs);
この時点でAとnの要素数が違うので、掛け算することはできませんね。
行列のサイズを具体的に数値で書きだしてみると間違いに気付きやすいかも知れませんね。
書き直してまたエラー等でたら補足願います。
参考になれば幸いです。
No.1
- 回答日時:
前回の質問に回答したKulesです。
前回の質問は解決したんですかね?
で、今回の質問ですが、前回あなたが書いたコード
Fs = 48000;
Fq_A = 440;
time = Fs / 10;
n = 1 : time;
tone(n) = 1 * sin(2 * pi * Fq_A * (n-1) / Fs);
soundsc(tone, Fs)
の中で、
tone(n) = 1 * sin(2 * pi * Fq_A * (n-1) / Fs);
の「1」は振幅ですよね?
ここに「1000ms一定で、次の2000msで減衰」という振幅の配列を作り、掛けてやれば所望の音が出せると思います。
多分上手くいかないのは
・そのまま「*」で掛け算をしている(要素ごとの積にする必要があるので、「.*」を使います)
・振幅の配列を作れていない(要素が全て1の配列はonesで、徐々に減衰していく配列はlinspaceで作れます)
辺りでしょうか。
わからないこと等あれば補足していただければと思います。
参考になれば幸いです。
この回答への補足
早速の回答ありがとうございます。
Fs = 48000;
Freq = 440;
Freq2= 880;
time=Fs / 10;
n = 1:time;
tone(n) = 1*sin(2*pi*Freq*(n-1)/Fs);
n = time:Fs;
tone(n) = 0;
n = 4*Fs+1:6*Fs;
A = linspace(1,0,2/44100);
tone(n) = A.*sin(2*pi*Freq2*(n-1)/Fs);
soundsc(tone,Fs);
と組んでみましたが
--------------------------------------------
??? エラー ==> times
行列の次元は一致しなければなりません。
エラー ==> Untitled3 at 17
tone(n) = A.*sin(2*pi*Freq2*(n-1)/Fs);
--------------------------------------------
とエラーを吐いてしまいました。
どうすればこのエラーを回避できますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 実行減衰量([遮断域の損失]-[通過域の損失])30dBのHPF、LPF、BPFの損失-周波数特性を 1 2023/07/05 10:51
- 工学 本来、コルピッツ発振回路はコイルとコンデンサのみで成立するはずである。実際の回路では、トランジスタを 1 2023/01/19 19:14
- スピーカー・コンポ・ステレオ 音漏れしにくいスピーカー、指向性、打ち消し 5 2022/04/06 22:49
- クラシック 楽譜の読み方についての質問 10 2022/09/07 15:00
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
- 作詞・作曲 DTM DAWとmidiキーボードについて 1 2022/10/20 16:41
- 物理学 流体力学の勉強方法 2 2023/04/25 23:18
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- 物理学 風車が回転する理由 5 2023/05/08 08:03
- 物理学 共鳴箱の代わりの言葉 3 2023/05/30 07:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数でEmpty値を設定する方法。
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
VBで作った乱数を一度も重複さ...
-
VB.net 引数で配列変数を渡す際...
-
変数を動的に作るには?
-
Excel VBAで配列の途中から(X)M...
-
EXCEL VBA で、0から?1から?
-
配列の要素数を超えた参照のコ...
-
配列をリサイズする
-
C言語で3次元配列の課題をして...
-
10進数を4桁のバイト配列に格納...
-
C言語 重複しない4ケタの乱数...
-
動的配列が存在(要素が有る)か...
-
2次元配列の、黒いマス目で囲...
-
コンバートした画像をポリゴン...
-
C#の質問
-
C# 配列のスタックは可能でしょ...
-
複数のテキストボックスに同じ...
-
ラジオボタンのチェックをEnter...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで配列の計算
-
パソコンキーボードで時分秒を...
-
IF関数でEmpty値を設定する方法。
-
EXCEL VBA で、0から?1から?
-
変数を動的に作るには?
-
動的配列が存在(要素が有る)か...
-
VB.net 引数で配列変数を渡す際...
-
遅延バインディングを使用でき...
-
VBで作った乱数を一度も重複さ...
-
複数のテキストボックスに同じ...
-
配列の要素数を超えた参照のコ...
-
C言語 重複しない4ケタの乱数...
-
For文と配列
-
C#の質問
-
VBでbyte配列型のインスタンス...
-
Excel VBAで配列の途中から(X)M...
-
マップチップの当たり判定の出し方
-
ジャグ配列とは
-
五目並べのプログラムを配列と...
-
10進数を4桁のバイト配列に格納...
おすすめ情報