pabloducato

Play_Piano

Dec 1st, 2018
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.48 KB | None | 0 0
  1. %Funkcja generująca zadany dźwięk
  2. %
  3. %   Graj(dzwiek, czas);
  4. %
  5. %dzwiek - nazwa dźwięku, który ma być wygenerowany,
  6. %czas - czas trwania dźwięku w sekundach.
  7. %
  8. function Graj(dzwiek, czas);
  9.  
  10. if dzwiek(1) == ' ',
  11.     return;
  12. end;
  13.  
  14. Fs = 8192;
  15. Vol = 0.8;
  16.  
  17. mnoznik_polton = 1.059463;
  18. C = 261.6;
  19. Cis = C*mnoznik_polton;
  20. D = 293.7;
  21. Dis = D*mnoznik_polton;
  22. E = 329.6;
  23. F = 349.6;
  24. Fis = F*mnoznik_polton;
  25. G = 391.9;
  26. Gis = G*mnoznik_polton;
  27. A = 440;
  28. B = A*mnoznik_polton;
  29. H = 493.9;
  30. C2 = 523.2;
  31.  
  32. dzwiek = upper(deblank(dzwiek));
  33. if strcmp(dzwiek, 'C') || strcmp(dzwiek, 'DO'),
  34.     f = C;
  35. elseif strcmp(dzwiek, 'CIS'),
  36.     f = Cis;
  37. elseif strcmp(dzwiek, 'D') || strcmp(dzwiek, 'RE'),
  38.     f = D;
  39. elseif strcmp(dzwiek, 'DIS'),
  40.     f = Dis;
  41. elseif strcmp(dzwiek, 'E') || strcmp(dzwiek, 'MI'),
  42.     f = E;
  43. elseif strcmp(dzwiek, 'F') || strcmp(dzwiek, 'FA'),
  44.     f = F;
  45. elseif strcmp(dzwiek, 'FIS'),
  46.     f = Fis;
  47. elseif strcmp(dzwiek, 'G') || strcmp(dzwiek, 'SOL'),
  48.     f = G;
  49. elseif strcmp(dzwiek, 'GIS'),
  50.     f = Gis;
  51. elseif strcmp(dzwiek, 'A') || strcmp(dzwiek, 'LA'),
  52.     f = A;
  53. elseif strcmp(dzwiek, 'AIS'),
  54.     f = B;
  55. elseif strcmp(dzwiek, 'H') || strcmp(dzwiek, 'SI'),
  56.     f = H;
  57. elseif strcmp(dzwiek, 'C2') || strcmp(dzwiek, 'DO2'),
  58.     f = C2;
  59. end;
  60.  
  61. %czas = 1; %czas trwania pojedynczego dzwieku w sekundach
  62. t=0:1/Fs:czas;
  63. for i = 1:length(F),
  64.     %f = Fr(i);
  65.     %disp(f);
  66.     y = sin(f*2*pi*t);
  67.     sound(y*Vol,Fs);
  68.     %pause(czas);
  69. end;
Add Comment
Please, Sign In to add comment