sound関数を使う​と「入力引数が多すぎ​ます」とでる

58 次查看(过去 30 天)
L.K
L.K 2023-5-13
评论: L.K 2023-5-14
wavファイルからy1とFs1の情報を取得しsound関数の引数としたら以下のエラーが発生しました.
>> sound(y1, Fs1)
次を使用中のエラー: sound
入力引数が多すぎます。
引数のサイズは
>> size(y1)
ans =
614400 1
>> size(Fs1)
ans =
1 1
です.
どうすればこの音源を再生できますでしょうか.
  1 个评论
Atsushi Ueno
Atsushi Ueno 2023-5-14
sound 関数の受け付ける入力引数の数(1~3)は適当であるにも関わらず当該エラーが出ている事が事実であれば、MATLABの sound 関数と同名の sound 関数が存在し、そちらが優先して呼び出されているのではないでしょうか?

请先登录,再进行评论。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2023-5-14
可能性のある原因を再現するプログラムと添付ファイルを準備しました。
コメントを外して、現在のフォルダ (Pathの通っているフォルダ) にある sound.m を別フォルダ (Pathの通っていないフォルダ) に移動させると、MATLAB組み込みの sound 関数の方が優先して実行される事を確認する事が出来ます。
type sound % 添付ファイル sound.m の中身を表示(入力を出力に渡すだけ)(引数が1つ存在しなければ警告を出す)
function out = sound(in) if nargin~=1, error(message('MATLAB:audiovideo:playsnd:invalidInputs')); end out = in; end
load gong.mat
%mkdir other
%movefile sound.m other
sound(y,Fs);
Error using sound
Too many input arguments.
  2 个评论
Atsushi Ueno
Atsushi Ueno 2023-5-14
どの sound 関数が実行されるのか確認する方法です。MATLAB組み込みの sound 関数が使用出来る場合は、下記に近い結果になり、当該エラーが発生している状況では、パスの通った場所に同名の sound 関数が存在するはずです。
which sound
/MATLAB/toolbox/matlab/audiovideo/sound.m
L.K
L.K 2023-5-14
確認したところ,
MATLABにsound関数と同名のmatlabファイルが優先して呼び出されていました.
そのファイルを消したところ音源を再生することができました.
ご回答頂き大変ありがとうございました.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

产品


版本

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!