clc
clear
close all

t_end = 3;
Fsc = 50000;
nBits = 24;
Nchannel = 1;
Gain = 1024;
nm = Fsc*30e-3;
Noise_level = 1500;
nbits = 2^14;
Offset = 2047;

recObj = audiorecorder(Fsc, nBits, Nchannel);% comando para declarar la grabacion de voz
recObj.StartFcn = 'disp('' Start speaking '')'; %mensaje para a grabar voz

input('Press to record voice');%input para empezar grabar voz
recordblocking(recObj, t_end);%comando para grabacion
disp('End of recording. Playing back ...');%mensaje para terminar grabacion
Audio = Gain*(getaudiodata(recObj)) + Offset;%comando para terminar grabacion
fileID =  fopen('Test.txt','w');% comando para crear archivo de texto de formato de escritura
fprintf(fileID, '%d\n', Audio);%se sobre escribe en el archivo txt los datos de audio obtenidos, se usa el %d para que cada dato ocupe una fila
fclose(fileID);%se cierrar la escritura en el archivo de texto
%play(recObj)% reproduccion del audio obtendio
%plot(Audio)
load Test.txt %cargar el archivo de texto

jj = 0;
S = zeros(1,Fsc*t_end); %Vector donde se guarda la Señal de Voz de entrada
for i = 1:1:Fsc*t_end
    S(i) = Test(i,:);%creacion vector que tendra los archivos de audio
end

N = length(S);

[evolucionUmbral, umbral] = AnalisisUmbral(S);

%format long
%disp(umbral)

[palabradelimitada, longPal] = detectorExtremos(S);

figure('Name','Nuevo Recorte')
subplot(2,1,1),plot(Audio),title('Audio'),xlabel('Numero de muestras'),ylabel('Amplitud'),grid
subplot(2,1,2),plot(palabradelimitada),title('Audio recortado'),xlabel('Numero de muestras'),ylabel('Amplitud'),grid

% [o,p] = size(palabradelimitada);
% for k = 1:1:p
%     palabradelimitada(k) = (palabradelimitada(k)/Gain)-Offset;
% end

soundsc(palabradelimitada,Fsc);

%plot(palabradelimitada)
% fileID =  fopen('AudioR.txt','w');% comando para crear archivo de texto de formato de escritura
% fprintf(fileID, '%d\n', palabradelimitada);%se sobre escribe en el archivo txt los datos de audio obtenidos, se usa el %d para que cada dato ocupe una fila
% fclose(fileID);
% %Recor = load ('AudioR.txt');
% 
% Memo = load('AudioR.txt'); 
% save('AudioR.mat', 'Memo');
% 
% 
% 
% filename = 'AudioR.wav';
% y = load ('AudioR.mat');
% 
% playerObj = audioplayer(palabradelimitada,Fsc);
% start = playerObj.SampleRate;
% 
% play(playerObj,start);
% 
% audiowrite(filename,Memo,Fsc);
% 
% [y,Fsc] = audioread(filename);

% A=importdata ('AudioR.txt'); 
% sound (A,8000); 

play(y);
close