私は初心者のMATLABユーザーですので、その質問が非常に基本的であれば謝ります。単一の特定のチャンネルで再生するには.wavサウンドファイルが必要です。左のチャンネルを言いましょう。それがあるので、私のコードは、サウンドファイルを読み込み、私はそうのように、したくないチャンネルを無効にするゼロの列に追加します。MATLABを使用して再生するチャンネルサウンドを制御するにはどうすればよいですか?
currentDir = pwd;
soundFile = [currentDir '\sound1.wav']; % load the file
[y, Fs] = audioread(soundFile); % read the file in
soundData(:,1) = y(:,1); % keeps sound for the left channel
soundData(:,2) = 0; % nullifies the right channel
sound = audioplayer(soundData,Fs);
play(sound);
現状では、コードが現在のサウンドを生成しますそれは左のスピーカーで全音量で、右のスピーカーでは半音量です(それでも音は非常に聞こえます)。私は同じ結果で少なくとも20の.wavファイルでこれを試しました。
それは関連性のケースで、これは私がコードで書く場合にも起こる明示的に0で音の変数の長さと一致して、そのよう:
[y, Fs] = audioread(soundFile);
silentChannel = zeros(size(y));
soundData(:,1) = y(:,1); % keeps sound for the left channel
soundData(:,2) = silentChannel(:,2); % nullifies the right channel
誰も私が間違ってやっているのか分からない、または何か考えている?
これはトリックでした - ありがとう! – treismanwolfe