2010 ˘ˇˆ˙˝˛ - kthrlab · 2010-09-07 · 7 54”• Ü‘fÛ˘ˇˆ]˘Ý˝ y t Þß a nÞn4 gmr...
TRANSCRIPT
1
2010��������
�� �����������������
�� ����� !"�#$%&'�(
)*+,-
http://virgo.cssa.chs.nihon-u.ac.jp/~kitahara/
2
�������.�/?
�������01
234567�89:�;<=>?@
ABC MOTIF XF6
http://www.yamahasynth.com/�D
E�F�G JUNO-STAGE
http://www.roland.co.jp/�D
�������4HI
� J�:6K5LMNOPQ67R�ST6U NVWX�04YUR
� Z[�P\]�4^_��D`5a�bc�defg>
�hijklmn�U>o;jpU
3
�������1��qr�[s
�������4k�M<
���������
t�#q�u�
hi
���4vw�
vw���G�45�xy0z{
�G�454|�[�}~��D_<
_<mnT5|�[�x�
5|�[�_>T�4
�m6��qr�[
N5|�[�_>T�4
�E�F%j�.�U>R
�������k�45�_>
��qr�[0���41`
��uFV�f���n�U>�
4
5�;<=>3\4��� ��:;<��
� ��6�����TDde=>�0f5�_Dx=
+ + U�U� =
� PCM;<��
� ��4235�|�[W�5�`�4����U>
�5 ���k4+¡¢£�¤¥
� J�¢|W;<��
� 234K5LM���qr�[kf�¦r§�¨��5�_>
�¦r§��©���qr�[k4ª
«¬23
5
|¢
�n4Z[��®=0`G¯�45j1°±²n>
�4#F�³�´µ=0`
5¶P5aj·¸fg>�
N=¹��º�=>05¶»0�6>R
�4��f1`�4�E�F%�_>T�4
�1��4¼½�]f�¾D¿�]=�
6
����5.�/?
#q�u�jÀÁ�®=
®mnTÀÁjÂ4ÀÁ�®=
�njÃÄ:�ÅDÆmn>
ÇÈj®mnɱj5�ÊË=>
®�TÌ1®�TÍ´fÎ.�Ï>
ÐÑ
�4��6`�4jÒ.TDÓTD=>Ô´j`ÕµÖÏ]f×�>
ØÙ��´N]T1�R0U�
#q�u�jÀÁ�74ÚU
®=4µ���0��Û=
y
t
� http://www.wakariyasui.sakura.ne.jp/2-2-0-0/2-2-1-1onnpa.html� http://www.ne.jp/asahi/tokyo/nkgw/gakusyu/hadou/tate-yoko-wave/wave1.html
7
54����f���]��
y
t
AÞßNÞn4 gmR
1/f f = Þ´Ü Nà�ÜR + NÞn4ámR
y(t) = A sin(2� f t)
� ���
� ���
Þß» Þß»�
54 gm
54âm
8
f1`����4���_.��]��
y
t
/�_nã�U4µ t [°] y
0 0.0000
1/48000 0.0057
2/48000 0.1149
äää äää
10/48000 0.5446
äää äää
26/48000 0.9979
27/48000 0.9999
28/48000 0.9991
äää äää
54/48000 0.0314
55/48000 -0.0261
äää äää
81/48000 -0.9989
82/48000 -0.9999
93/48000 -0.9979
äää äää
Nm�åÏR
æ4���`ç4��6
t 0 y 4èéÛ0��_<=>
æ4��1Ãå��f|�[jêë�
ì>4f`1/48000°í0�±îU�
_<��U> N���£��0U�R
�n�FreeMat��.�_<
9
�FreeMat�������
10
�FreeMat���.����
���`��qr�[�myTU}~�ðÏ
ñ��`ò4���óôõöf����
a = 20
b = 10
c = a + b
11
12
f1`÷á`54���_.����
FreeMat�ò4��óôõöf����
t = 0 : 1/48000 : 1;
f = 440;
a = 0.1;
y = a * sin(2 * pi * f * t);
/�Ûømn]yöj`¡¢£4ù�1ôúö0��jfg�U]=�
&û
t = 0 : 1/48000 : 1;
t4ü1`1/48000ý�f0µ1]f0�]=�
f = 440; à�Ü1440[Hz]0�]=�
a = 0.1; Þß1`5jþn> D D4Þß4� � 0.1 0�]=��
y = a * sin(2 * pi * f * t);
y4ü�`y(t) = A sin(2� f t) f}~�]=�
13
fgT��� ��]���
FreeMat� plot(t, y); 0óôõöf�]�Ý��
ìn ��. Ï6U� � �
7����
��j µ= �`� �
j\ n� ��
6.��].T�
14
��4¼�s Ûø���]�Ý��
FreeMat�ò4���óôõöf�]�Ý��
plot(t(1:1000), y(1:1000));
�t4�ô`1 �µ� 1000 �4|�[�4 �� �
�y4�ô`1 �µ� 1000 �4|�[�4 �� �
15
fgT��� U��]���
FreeMat�ò4���óôõöf�]�Ý��
wavplay(y, 48000);
�
/� � 6U0g1` G �45¶ j� � �� �� �� 0�6.�U>
jìD]=� �]�Ý����� ��
����0U�5j`1°± G �µ � >1 f=��� �� � � �
16
��]f4k ��E�F%��]�Ý����]f1��qr�[�myTU}~67�1Ò1Ò���]�Tj`
��=>41 64f` �W� �� g]��� ! " �# $% &
�4���`��qr�[�myTUk � �ðUT�4�� '�
��E�F%�0UU]=�
��� º4�E�F%���(
function maketone
t = 0 : 1/48000 : 1;
f = 440;
a = 0.1;
y = a * sin(2 * pi * f * t);
wavplay(y, 48000);
��j �.T`)
�maketone.m�0U�
f*+ $%
�E�F%(1)
17
�E�F%�������
���`�E�F%4 �*+ maketone��
óôõ �,
à�ÜPÞß�U�U� �-�
����
18
2\45�x�����2\45µ6> 5�_.��]�Ý��.
mg 74�E�F%� º4���ðg �`�Ò���]�Ý��/ ( 0�
function maketone
t = 0 : 1/48000 : 1;
f1 = 440;
f2 = 660;
a1 = 0.1;
a2 = 0.1;
y = a1 * sin(2 * pi * f1 * t) + ...
a2 * sin(2 * pi * f2 * t);
wavplay(y, 48000);
à�ÜPÞß�U�U� �`-�
gnU6 5PgT6U 5�_.�����. .
�E�F%(2)
19
à�Ü0G§¦41234 56
G 130.8128
G# 138.5913
§ 146.8324
§# 155.5635
¦ 164.8138
�# 174.6141
�## 184.9972
195.9977
# 207.6523
F 220.0000
F# 233.0819
� 246.9147
ù 4G7 261.6256
G# 277.1826
§ 293.6648
§# 311.1270
¦ 329.6276
�# 349.2282
�## 369.9944
391.9954
# 415.3047
F 440.0000
F# 466.1638
� 493.8833
G 523.2511
G# 554.3653
§ 587.3295
§# 622.2540
¦ 659.2251
�# 698.4565
�## 739.9888
783.9909
# 830.6094
F 880.0000
F# 932.3275
� 987.7666
[Hz] [Hz] [Hz]
äää äää
1V [� º8 9 : à�Üj1/2 1V [� æ8 9 :à�Üj�
�n V [� æj>� » �à�Üj8 9 2n ��
20
2\45j1\�6>!?�4à�Ü�; 440Hz`�� ��; 880Hz����]�Ý��
function maketone
t = 0 : 1/48000 : 1;
f1 = 440;
f2 = 880;
a1 = 0.1;
a2 = 0.1;
y = a1 * sin(2 * pi * f1 * t) + ...
a2 * sin(2 * pi * f2 * t);
wavplay(y, 48000);
7�6D]�Tµ?
f2jf14ôÝ�72�40gs `� 1\454��� � >1 �� � �
f2�ac �` µ���]�Ý��-� �
�E�F%(3)
21
3\45�1\�6>!?mg 745�`/ 1320Hz45�d ��]����
function maketone
t = 0 : 1/48000 : 1;
f1 = 440;
f2 = 880;
f3 = 1320;
a1 = 0.1;
a2 = 0.1;
a3 = 0.1;
y = a1 * sin(2 * pi * f1 * t) + ...
a2 * sin(2 * pi * f2 * t) + ...
a3 * sin(2 * pi * f3 * t);
wavplay(y, 48000);
�E�F%(4)
7�6D]�Tµ? �ô�1\45� � ]�Tµ� � ?
22
ì> O��`à�Üj�4 Ü 4 O�� �;�y>0`< = � < 3
1\45� � >�� �
5� => 65 > �?
440Hz
880Hz
1320Hz
3\4.
@
@
A
��N 5RB B
â �N 5RC �
;5D
23
P.����1. ��E�F%(3) �4 f2 � � \ ���`74ÚU nTE � -� �
2\45� � >���6>µ`��������� �
2. ��E�F%(3)�]T1��E�F%(4)�4ÞßNa1, a2, a3R�U�U�
>0 � �N5aRj74��� =>µ`��������-� � � -F
GH
GH
24
]0�
� Ü 4à�Ü4 O�� �;�y>0`= � < 3 1\45� � >� �
� �n n4 O�4Þß� >0`5aj �>I < -� -
� âUà�Ü4 O�4Þßj gU0` âU5�< J
N¨F� ¨4��6RK�
� âUà�Ü4 O�4Þßj�mU0` U5�< L
N W�¨4��6R�
� Ts�`�ns f 4ù42345� fg>� f1� M NO �
6U
�6µ.TP!Q RS
� 5¶·¸Nsösö5j�mÏ6>67R
� F�¨T9
� ó235N�54âm�j6UR
25
� |¢f�.T����7g�E�F%4�Ò�1U 4 V
1. ç4�E�F%����`
�mysynth.m�0U� f*+
=>�$%
function mysynth
global sliders
fig = figure
sliders = [ makeslider(20, 20, 's1')
makeslider(40, 20, 's2')
makeslider(60, 20, 's3')
makeslider(80, 20, 's4')
makeslider(100, 20, 's5') ]
buttons = [ makebutton('Do', 20, 180, '262')
makebutton('Do#', 50, 140, '277')
makebutton('Re', 80, 180, '294')
makebutton('Re#', 110, 140, '311')
makebutton('Mi', 140, 180, '330')
makebutton('Fa', 200, 180, '349')
makebutton('Fa#', 230, 140, '370')
makebutton('So', 260, 180, '392')
makebutton('So#', 290, 140, '415')
makebutton('La', 320, 180, '440')
makebutton('La#', 350, 140, '466')
makebutton('Ti', 380, 180, '494') ]
function h = makeslider(x, y, tag)
h = uicontrol('Style', 'slider', 'Position', [x, y, 10, 100], ...
'Tag', tag)
function h = makebutton(text, x, y, f)
h = uicontrol('Style', 'pushbutton', 'Position', [x, y, 50, 30], ...
'String', text, 'Callback', ['maketone2(' f ')'])
26
2. ç4�E�F%����`
�maketone2.m�0U�
f =>�*+ $%
function maketone2(f)
global sliders
fs = 48000;
t = 0 : 1/fs : 1;
a1 = 0.1 * get(sliders(1), 'Value');
a2 = 0.1 * get(sliders(2), 'Value');
a3 = 0.1 * get(sliders(3), 'Value');
a4 = 0.1 * get(sliders(4), 'Value');
a5 = 0.1 * get(sliders(5), 'Value');
y = a1 * sin(2 * pi * 1 * f * t) + ...
a2 * sin(2 * pi * 2 * f * t) + ...
a3 * sin(2 * pi * 3 * f * t) + ...
a4 * sin(2 * pi * 4 * f * t) + ...
a5 * sin(2 * pi * 5 * f * t);
wavplay(y, fs);
3. FreeMat4 {�óôõ 0���`W ,
mysynth
0óôõ �,
mysynth.m 0 maketone2.m 1` 4X Web��¨µ�³ �E�Gfg]=�Y