Reconocimiento de vocales por formantes lpc con matlab

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 17

  • @mecagodzilla2443
    @mecagodzilla2443  4 роки тому +26

    %Reconocimiento de Vocales
    seg = 2;
    frec = 10000;
    tam = frec*seg;
    recObj = audiorecorder (frec, 16, 1); %8000Hz, 16 bits, canal 1
    disp('grabando audio...')%mensaje de aviso de grabación
    recordblocking(recObj,seg);%duración de la funcion de grabación
    Y = getaudiodata(recObj);%audio en bruto
    figure(1)
    plot(Y);%gráfica del audio de entrada
    sound(Y,frec);
    disp('Reproduciendo audio...')
    %reducimos la amplitud de ruidos ajenos al principal con la ventana hamming
    %aplicada a cada punto de la señal (proximamente sólo de silencio a silencio)
    reduced = Y.*hamming(tam);
    %hacemos transf fourier
    ft_f=fftshift(fft(reduced));
    nfft = tam; %tamaño de la señal en dominio del tiempo
    nfft2 = 2^nextpow2(nfft); % tamaño de la señal en potencia de 2
    ff = fft(reduced,nfft2);%para limitar a valores positivos la respuesta en frecuencia
    fff=ff(1:nfft2/2);
    xfft=frec*(0:nfft2/2-1)/nfft2; %se necesita que las muestras en x sean igual a muestras en y
    %lpc (predicción lineal) para la respuesta en frecuencias
    preemph = [1 0.63]; x1 = filter(1,preemph,reduced);
    A = lpc(x1,12); rts = roots(A);
    rts = rts(imag(rts)>=0);
    angz = atan2(imag(rts),real(rts));
    [frqs,indices] = sort(angz.*(frec/(2*pi)));
    bw = -1/2*(frec/(2*pi))*log(abs(rts(indices)));
    nn = 1;
    for kk = 1:length(frqs)
    if (frqs(kk) > 90 && bw(kk)

  • @Futmolaus
    @Futmolaus 4 роки тому +6

    Like si estas aqui por DSP :v

  • @fabriziotorres262
    @fabriziotorres262 4 роки тому

    Buen video, y para reconocer palabras cómo sería ? te agradecería bastante. Gracias

  • @angel.macias9571
    @angel.macias9571 Рік тому

    como podria hacer para que detecte todas las vocales en una oracion y las coloque en orden
    :C es que llevo semanas intentandolo

  • @adrianespada4957
    @adrianespada4957 3 роки тому

    Quisiera hacer un reconocedor de vocales y vos femenino y masculino, y que la detección sea online, como debería hacer?

  • @Oceanside-Music
    @Oceanside-Music 4 роки тому

    Hola, una pregunta, no se deberia de segmentar la señal para asegurar cuasiperiodisidad??? Generalmente en las señales de voz se hace eso.

  • @hernandezhernandezjuandani458
    @hernandezhernandezjuandani458 4 роки тому

    estuve trabajando sobre matlab on line y he tenido problemas para que se ejecute el programa, ¿debe estar instalado?

    • @franciscodanielsalayandias4207
      @franciscodanielsalayandias4207 3 роки тому

      Si, por que necesitas permiso de usar el micrófono y el online no pide esos perisos.

    • @adrianespada4957
      @adrianespada4957 3 роки тому

      @@franciscodanielsalayandias4207 entonces este código es online? y si no lo fuera, como podría hacer para que lo fuese?

    • @mecagodzilla2443
      @mecagodzilla2443  3 роки тому

      @@adrianespada4957 no es online, sin embargo debería funcionar para cualquier versión incluyendo la online, el único problema es que necesitas poder habilitar el permiso para el uso del micrófono en la página que estés usando

  • @huertabenitezmelissa5617
    @huertabenitezmelissa5617 4 роки тому

    sabras porque solo me reconoce dos vocales?

    • @raymohn6454
      @raymohn6454 4 роки тому +1

      Juega con los valores que indico que se pueden manejar durante el video, fijate en dónde caen los puntos de tus propias vocales, haz un promedio y reemplaza esas nuevas coordenadas en tu código! 😊

    • @raymohn6454
      @raymohn6454 4 роки тому +1

      Este código viene con coordenadas típicas de varón, siempre varía

    • @adrianespada4957
      @adrianespada4957 3 роки тому +1

      @@raymohn6454 y cómo seria hacer para que reconociera la voz masculina y la femenina?

    • @mecagodzilla2443
      @mecagodzilla2443  3 роки тому

      @@adrianespada4957 podrías realizar una función que detecte el rango de frecuencias de la voz entrante para luego compararlas con dos promedios, uno de voz masculina y otro de femenina, según al que más se acerque enviar a una función con valores para voz masculina o para voz femenina