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

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

Connectez-vous pour commenter.

Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 14 Mai 2023
可能性のある原因を再現するプログラムと添付ファイルを準備しました。
コメントを外して、現在のフォルダ (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 commentaires
L.K
L.K le 14 Mai 2023
確認したところ,
MATLABにsound関数と同名のmatlabファイルが優先して呼び出されていました.
そのファイルを消したところ音源を再生することができました.
ご回答頂き大変ありがとうございました.

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2023a

Community Treasure Hunt

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

Start Hunting!