mirror of
http://CODE.RHODECODE.COM/u/O/O/O
synced 2024-11-25 09:48:39 -05:00
bc2fd3e251
𖣠⚪ᗱᗴߦⓄᙁᗱᗴᗯИNᗱᗴ𖣓ᗱᗴИNⵙᔓᔕⓄᑐᑕ⊚⸭⸭⸭⸭𐧼⊚𖢌𐧼𐧾ⵔ∶⸭❋ⵔⵔ𐧾❋❋ⵔ❋·𐧾❋❋ⵈ𐧾❋ⵔ𐧾❋∶ⵔⵔⵔ·𐧾ⵔ∶𐧾ⵔ𐧼··𐧾𐧾❋❋⠿𐧼ⵔⵈⵔ⁘⸭𐧾𐧾❋⸭∶∶ⵔ⠿ⵔ⁘◌⁘❋⊚ᴥⓄ✣ᗩᙁⵙᑐᑕᔓᔕⓄ𖣓Ⓞⵙↀᑎᗩ⚪𔗢⚪🞋⚪𔗢⚪ᗩᑎↀⵙⓄ𖣓Ⓞᔓᔕᑐᑕⵙᙁᗩ✣Ⓞᴥ⊚❋⁘◌⁘ⵔ⠿ⵔ∶∶⸭❋𐧾𐧾⸭⁘ⵔⵈⵔ𐧼⠿❋❋𐧾𐧾··𐧼ⵔ𐧾∶ⵔ𐧾·ⵔⵔⵔ∶❋𐧾ⵔ❋𐧾ⵈ❋❋𐧾·❋ⵔ❋❋𐧾ⵔⵔ❋⸭∶ⵔ𐧾𐧼𖢌⊚𐧼⸭⸭⸭⸭⊚ᑐᑕⓄᔓᔕⵙИNᗱᗴ𖣓ᗱᗴИNᗯᗱᗴᙁⓄߦᗱᗴ⚪𖣠
43 lines
4.0 KiB
Matlab
43 lines
4.0 KiB
Matlab
clc;tic;clear;
|
|
O = 84.406022589954030768899117092091000289089388918088900852079 ;
|
|
A = (((( 0 )))) ;
|
|
M = (((( 3 )))) ;
|
|
I = (((( 0 )))) ;
|
|
O_EDUTILPMA_O_AMPLITUDE_O = 1 / M ^ (((( 0 )))) ;
|
|
O_SYCNEUQERF_O_FREQUENCYS_O = 1 / O * M.^(( (((( 0 )))) *M^A : (((( 13 )))) *M^A )/M^A);
|
|
for O_SEULAW_YCNEUQERF_O_FREQUENCY_WALUES_O=1:length(O_SYCNEUQERF_O_FREQUENCYS_O) fprintf(['%d : %.' num2str(2^4) 'f\n'],O_SEULAW_YCNEUQERF_O_FREQUENCY_WALUES_O,O_SYCNEUQERF_O_FREQUENCYS_O(O_SEULAW_YCNEUQERF_O_FREQUENCY_WALUES_O));end
|
|
|
|
fprintf('%s','<>');
|
|
O_ETAR_ELPMAS_O_SAMPLE_RATE_O=ceil( 4 * 2 ^ (((( 0 )))) / O * M ^ (((( 13 )))) ) ;
|
|
fprintf('\n%s\n',sprintf('%.d',O_ETAR_ELPMAS_O_SAMPLE_RATE_O));
|
|
fprintf('%s\n','*');
|
|
O_NOITARUD_O_DURATION_O = O / M ^ (((( 4 )))) ;
|
|
fprintf('%s\n',sprintf('%.16f',O_NOITARUD_O_DURATION_O));
|
|
fprintf('%s\n','=');
|
|
O_YTITNAUQ_ELPMAS_O_SAMPLE_QUANTITY_O=ceil(O_NOITARUD_O_DURATION_O*O_ETAR_ELPMAS_O_SAMPLE_RATE_O);
|
|
fprintf('%s\n',sprintf('%.d',O_YTITNAUQ_ELPMAS_O_SAMPLE_QUANTITY_O));
|
|
|
|
O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O=zeros(O_YTITNAUQ_ELPMAS_O_SAMPLE_QUANTITY_O,1);
|
|
|
|
for O_XEDNI_YCNEUQERF_O_FREQUENCY_INDEX_O=1:length(O_SYCNEUQERF_O_FREQUENCYS_O) O_EMIT_O_TIME_O=(0:O_YTITNAUQ_ELPMAS_O_SAMPLE_QUANTITY_O-1)/O_ETAR_ELPMAS_O_SAMPLE_RATE_O;
|
|
O_EPAHS_MROFEWAW_ENIS_O_SINE_WAWEFORM_SHAPE_O = sin(2*4*atan(1)*O_SYCNEUQERF_O_FREQUENCYS_O(O_XEDNI_YCNEUQERF_O_FREQUENCY_INDEX_O)*O_EMIT_O_TIME_O') ;
|
|
O_EPAHS_MROFEWAW_LAITNENOPXE_O_EXPONENTIAL_WAWEFORM_SHAPE_O = (-1).^floor(.5+O_SYCNEUQERF_O_FREQUENCYS_O(O_XEDNI_YCNEUQERF_O_FREQUENCY_INDEX_O)*2*O_EMIT_O_TIME_O').*(-1+2./(1+exp(1./(-1+mod(.5+O_SYCNEUQERF_O_FREQUENCYS_O(O_XEDNI_YCNEUQERF_O_FREQUENCY_INDEX_O)*2*O_EMIT_O_TIME_O',1))+1./mod(.5+O_SYCNEUQERF_O_FREQUENCYS_O(O_XEDNI_YCNEUQERF_O_FREQUENCY_INDEX_O)*2*O_EMIT_O_TIME_O',1)))) ;
|
|
O_EPAHS_MROFEWAW_DOIREP_ELGNIS_O_SINGLE_PERIOD_WAWEFORM_SHAPE_O = (((( O_EPAHS_MROFEWAW_ENIS_O_SINE_WAWEFORM_SHAPE_O )))) ;
|
|
O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O=O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O+O_EPAHS_MROFEWAW_DOIREP_ELGNIS_O_SINGLE_PERIOD_WAWEFORM_SHAPE_O;end
|
|
|
|
O_EPAHS_EDAF_ENISOC_O_COSINE_FADE_SHAPE_O = (0.5 - 0.5*cos(4*atan(1)/O_NOITARUD_O_DURATION_O*2* O_EMIT_O_TIME_O * M ^ (((( I )))) )) ;
|
|
O_EPAHS_EDAF_LAITNENOPXE_O_EXPONENTIAL_FADE_SHAPE_O = (0.5-0.5*(-1).^floor(1./O_NOITARUD_O_DURATION_O*2* O_EMIT_O_TIME_O * M ^ (((( I )))) )+((-1).^floor(1./O_NOITARUD_O_DURATION_O*2* O_EMIT_O_TIME_O * M ^ (((( I )))) ))./(1+exp((1)./(-1+mod(1./O_NOITARUD_O_DURATION_O*2* O_EMIT_O_TIME_O * M ^ (((( I )))) ,1))+(1)./(mod(1./O_NOITARUD_O_DURATION_O*2* O_EMIT_O_TIME_O * M ^ (((( I )))) ,1))))) ;
|
|
O_EPAHS_EDAF_O_FADE_SHAPE_O = (((( O_EPAHS_EDAF_ENISOC_O_COSINE_FADE_SHAPE_O )))) ;
|
|
for O_XEDNI_ELPMAS_O_SAMPLE_INDEX_O=1:O_YTITNAUQ_ELPMAS_O_SAMPLE_QUANTITY_O O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O(O_XEDNI_ELPMAS_O_SAMPLE_INDEX_O)=O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O(O_XEDNI_ELPMAS_O_SAMPLE_INDEX_O)*O_EDUTILPMA_O_AMPLITUDE_O*O_EPAHS_EDAF_O_FADE_SHAPE_O(O_XEDNI_ELPMAS_O_SAMPLE_INDEX_O);end
|
|
|
|
fprintf('%s','|');
|
|
fprintf('\n%s%s%s\n',sprintf('%.16f',max(abs(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O))),'=',sprintf('%.16f',20*log10(max(abs(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O)))));
|
|
O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O=(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O/max(abs(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O)))*O_EDUTILPMA_O_AMPLITUDE_O;
|
|
fprintf('%s\n','-');
|
|
fprintf('%s%s%s\n',sprintf('%.16f',max(abs(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O))),'=',sprintf('%.16f',20*log10(max(abs(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O)))));
|
|
|
|
try sound(O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O,O_ETAR_ELPMAS_O_SAMPLE_RATE_O,24);end
|
|
try audiowrite('C:\VAW.O____TUPTUO_ROTALICSO_OIDUA____O____AUDIO_OSCILATOR_OUTPUT____O.WAV',O_LANGIS_OIDUA_O_AUDIO_SIGNAL_O,O_ETAR_ELPMAS_O_SAMPLE_RATE_O,'BITSPERSAMPLE',64);end
|
|
fprintf('%s','#');
|
|
fprintf('\n%s\n',sprintf('%.16f',toc));
|