import{S as us,i as Ms,s as ms,e as r,k as c,w as j,t as o,M as js,c as i,d as e,m as p,a as d,x as y,h as t,b as u,N as ys,G as l,g as n,y as f,L as fs,q as U,o as J,B as b,v as Us}from"../../chunks/vendor-hf-doc-builder.js";import{I as Js}from"../../chunks/IconCopyLink-hf-doc-builder.js";import{C as h}from"../../chunks/CodeBlock-hf-doc-builder.js";function bs(gl){let E,Ba,I,C,ua,Z,be,Ma,he,Qa,O,we,Wa,L,Ae,Ra,B,Sa,Q,Te,ma,Ee,Na,g,Ie,W,Ce,ge,Fa,M,ve,ja,_e,Ge,ya,qe,ke,fa,$e,Ze,Da,R,Ya,K,Ua,Be,za,S,xa,aa,Qe,Xa,N,Pa,ea,Ja,We,Va,F,Ha,la,Re,Oa,w,v,ba,Se,Ne,ha,Fe,De,Ye,sa,wa,ze,xe,Xe,oa,Aa,Pe,Ve,La,A,He,Ta,Oe,Le,Ea,Ke,al,Ka,D,ae,ta,Ia,el,ee,Y,le,_,ll,Ca,sl,ol,se,T,tl,ga,nl,rl,va,il,dl,oe,G,cl,_a,pl,ul,te,z,ne,na,Ga,Ml,re,x,ie,m,ml,qa,jl,yl,ka,fl,Ul,$a,Jl,bl,de,X,ce,ra,hl,pe,P,ue,V,ia,vl,Me,q,wl,H,Al,Tl,me;return Z=new Js({}),B=new h({props:{code:"cGlwJTIwaW5zdGFsbCUyMGRhdGFzZXRzJTVCYXVkaW8lNUQ=",highlighted:"pip install datasets[audio]"}}),R=new h({props:{code:"ZnJvbSUyMGRhdGFzZXRzJTIwaW1wb3J0JTIwbG9hZF9kYXRhc2V0JTBBJTBBbWluZHMlMjAlM0QlMjBsb2FkX2RhdGFzZXQoJTIyUG9seUFJJTJGbWluZHMxNCUyMiUyQyUyMG5hbWUlM0QlMjJlbi1BVSUyMiUyQyUyMHNwbGl0JTNEJTIydHJhaW4lMjIpJTBBbWluZHM=",highlighted:`<span class="hljs-keyword">from</span> datasets <span class="hljs-keyword">import</span> load_dataset

minds = load_dataset(<span class="hljs-string">&quot;PolyAI/minds14&quot;</span>, name=<span class="hljs-string">&quot;en-AU&quot;</span>, split=<span class="hljs-string">&quot;train&quot;</span>)
minds`}}),S=new h({props:{code:"RGF0YXNldCglMEElMjAlMjAlMjAlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmZWF0dXJlcyUzQSUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnBhdGglMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJhdWRpbyUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnRyYW5zY3JpcHRpb24lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJlbmdsaXNoX3RyYW5zY3JpcHRpb24lMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJpbnRlbnRfY2xhc3MlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJsYW5nX2lkJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbnVtX3Jvd3MlM0ElMjA2NTQlMkMlMEElMjAlMjAlMjAlMjAlN0QlMEEp",highlighted:`Dataset(
    <span class="hljs-punctuation">{</span>
<span class="hljs-symbol">        features:</span> [
            <span class="hljs-string">&quot;path&quot;</span>,
            <span class="hljs-string">&quot;audio&quot;</span>,
            <span class="hljs-string">&quot;transcription&quot;</span>,
            <span class="hljs-string">&quot;english_transcription&quot;</span>,
            <span class="hljs-string">&quot;intent_class&quot;</span>,
            <span class="hljs-string">&quot;lang_id&quot;</span>,
        ],
<span class="hljs-symbol">        num_rows:</span> <span class="hljs-number">654</span>,
    <span class="hljs-punctuation">}</span>
)`}}),N=new h({props:{code:"ZXhhbXBsZSUyMCUzRCUyMG1pbmRzJTVCMCU1RCUwQWV4YW1wbGU=",highlighted:`example = minds[<span class="hljs-number">0</span>]
example`}}),F=new h({props:{code:"JTdCJTBBJTIwJTIwJTIwJTIwJTIycGF0aCUyMiUzQSUyMCUyMiUyRnJvb3QlMkYuY2FjaGUlMkZodWdnaW5nZmFjZSUyRmRhdGFzZXRzJTJGZG93bmxvYWRzJTJGZXh0cmFjdGVkJTJGZjE0OTQ4ZTBlODRiZTYzOGRkNzk0M2FjMzY1MThhNGNmMzMyNGU4YjdhYTMzMWM1YWIxMTU0MTUxOGU5MzY4YyUyRmVuLUFVflBBWV9CSUxMJTJGcmVzcG9uc2VfNC53YXYlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjJhdWRpbyUyMiUzQSUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnBhdGglMjIlM0ElMjAlMjIlMkZyb290JTJGLmNhY2hlJTJGaHVnZ2luZ2ZhY2UlMkZkYXRhc2V0cyUyRmRvd25sb2FkcyUyRmV4dHJhY3RlZCUyRmYxNDk0OGUwZTg0YmU2MzhkZDc5NDNhYzM2NTE4YTRjZjMzMjRlOGI3YWEzMzFjNWFiMTE1NDE1MThlOTM2OGMlMkZlbi1BVX5QQVlfQklMTCUyRnJlc3BvbnNlXzQud2F2JTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyYXJyYXklMjIlM0ElMjBhcnJheSglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlNUIwLjAlMkMlMjAwLjAwMDI0NDE0JTJDJTIwLTAuMDAwMjQ0MTQlMkMlMjAuLi4lMkMlMjAtMC4wMDAyNDQxNCUyQyUyMDAuMDAwMjQ0MTQlMkMlMjAwLjAwMTIyMDclNUQlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBkdHlwZSUzRGZsb2F0MzIlMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjApJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyc2FtcGxpbmdfcmF0ZSUyMiUzQSUyMDgwMDAlMkMlMEElMjAlMjAlMjAlMjAlN0QlMkMlMEElMjAlMjAlMjAlMjAlMjJ0cmFuc2NyaXB0aW9uJTIyJTNBJTIwJTIySSUyMHdvdWxkJTIwbGlrZSUyMHRvJTIwcGF5JTIwbXklMjBlbGVjdHJpY2l0eSUyMGJpbGwlMjB1c2luZyUyMG15JTIwY2FyZCUyMGNhbiUyMHlvdSUyMHBsZWFzZSUyMGFzc2lzdCUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMmVuZ2xpc2hfdHJhbnNjcmlwdGlvbiUyMiUzQSUyMCUyMkklMjB3b3VsZCUyMGxpa2UlMjB0byUyMHBheSUyMG15JTIwZWxlY3RyaWNpdHklMjBiaWxsJTIwdXNpbmclMjBteSUyMGNhcmQlMjBjYW4lMjB5b3UlMjBwbGVhc2UlMjBhc3Npc3QlMjIlMkMlMEElMjAlMjAlMjAlMjAlMjJpbnRlbnRfY2xhc3MlMjIlM0ElMjAxMyUyQyUwQSUyMCUyMCUyMCUyMCUyMmxhbmdfaWQlMjIlM0ElMjAyJTJDJTBBJTdE",highlighted:`{
    <span class="hljs-comment">&quot;path&quot;</span>: <span class="hljs-comment">&quot;/root/.cache/huggingface/datasets/downloads/extracted/f14948e0e84be638dd7943ac36518a4cf3324e8b7aa331c5ab11541518e9368c/en-AU~PAY_BILL/response_4.wav&quot;</span>,
    <span class="hljs-comment">&quot;audio&quot;</span>: {
        <span class="hljs-comment">&quot;path&quot;</span>: <span class="hljs-comment">&quot;/root/.cache/huggingface/datasets/downloads/extracted/f14948e0e84be638dd7943ac36518a4cf3324e8b7aa331c5ab11541518e9368c/en-AU~PAY_BILL/response_4.wav&quot;</span>,
        <span class="hljs-comment">&quot;array&quot;</span>: array(
            [<span class="hljs-number">0.0</span>, <span class="hljs-number">0.00024414</span>, <span class="hljs-number">-0.00024414</span>, ..., <span class="hljs-number">-0.00024414</span>, <span class="hljs-number">0.00024414</span>, <span class="hljs-number">0.0012207</span>],
            dtype=float32,
        ),
        <span class="hljs-comment">&quot;sampling_rate&quot;</span>: <span class="hljs-number">8000</span>,
    },
    <span class="hljs-comment">&quot;transcription&quot;</span>: <span class="hljs-comment">&quot;I would like to pay my electricity bill using my card can you please assist&quot;</span>,
    <span class="hljs-comment">&quot;english_transcription&quot;</span>: <span class="hljs-comment">&quot;I would like to pay my electricity bill using my card can you please assist&quot;</span>,
    <span class="hljs-comment">&quot;intent_class&quot;</span>: <span class="hljs-number">13</span>,
    <span class="hljs-comment">&quot;lang_id&quot;</span>: <span class="hljs-number">2</span>,
}`}}),D=new h({props:{code:"aWQybGFiZWwlMjAlM0QlMjBtaW5kcy5mZWF0dXJlcyU1QiUyMmludGVudF9jbGFzcyUyMiU1RC5pbnQyc3RyJTBBaWQybGFiZWwoZXhhbXBsZSU1QiUyMmludGVudF9jbGFzcyUyMiU1RCk=",highlighted:`id2label = minds.features[<span class="hljs-string">&quot;intent_class&quot;</span>].int2str
id2label(example[<span class="hljs-string">&quot;intent_class&quot;</span>])`}}),Y=new h({props:{code:"JTIycGF5X2JpbGwlMjI=",highlighted:'<span class="hljs-string">&quot;pay_bill&quot;</span>'}}),z=new h({props:{code:"Y29sdW1uc190b19yZW1vdmUlMjAlM0QlMjAlNUIlMjJsYW5nX2lkJTIyJTJDJTIwJTIyZW5nbGlzaF90cmFuc2NyaXB0aW9uJTIyJTVEJTBBbWluZHMlMjAlM0QlMjBtaW5kcy5yZW1vdmVfY29sdW1ucyhjb2x1bW5zX3RvX3JlbW92ZSklMEFtaW5kcw==",highlighted:`columns_to_remove = [<span class="hljs-string">&quot;lang_id&quot;</span>, <span class="hljs-string">&quot;english_transcription&quot;</span>]
minds = minds.remove_columns(columns_to_remove)
minds`}}),x=new h({props:{code:"RGF0YXNldCglN0JmZWF0dXJlcyUzQSUyMCU1QiUyMnBhdGglMjIlMkMlMjAlMjJhdWRpbyUyMiUyQyUyMCUyMnRyYW5zY3JpcHRpb24lMjIlMkMlMjAlMjJpbnRlbnRfY2xhc3MlMjIlNUQlMkMlMjBudW1fcm93cyUzQSUyMDY1NCU3RCk=",highlighted:'<span class="hljs-constructor">Dataset({<span class="hljs-params">features</span>: [<span class="hljs-string">&quot;path&quot;</span>, <span class="hljs-string">&quot;audio&quot;</span>, <span class="hljs-string">&quot;transcription&quot;</span>, <span class="hljs-string">&quot;intent_class&quot;</span>], <span class="hljs-params">num_rows</span>: 654})</span>'}}),X=new h({props:{code:"aW1wb3J0JTIwZ3JhZGlvJTIwYXMlMjBnciUwQSUwQSUwQWRlZiUyMGdlbmVyYXRlX2F1ZGlvKCklM0ElMEElMjAlMjAlMjAlMjBleGFtcGxlJTIwJTNEJTIwbWluZHMuc2h1ZmZsZSgpJTVCMCU1RCUwQSUyMCUyMCUyMCUyMGF1ZGlvJTIwJTNEJTIwZXhhbXBsZSU1QiUyMmF1ZGlvJTIyJTVEJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwKCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGF1ZGlvJTVCJTIyc2FtcGxpbmdfcmF0ZSUyMiU1RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGF1ZGlvJTVCJTIyYXJyYXklMjIlNUQlMkMlMEElMjAlMjAlMjAlMjApJTJDJTIwaWQybGFiZWwoZXhhbXBsZSU1QiUyMmludGVudF9jbGFzcyUyMiU1RCklMEElMEElMEF3aXRoJTIwZ3IuQmxvY2tzKCklMjBhcyUyMGRlbW8lM0ElMEElMjAlMjAlMjAlMjB3aXRoJTIwZ3IuQ29sdW1uKCklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBmb3IlMjBfJTIwaW4lMjByYW5nZSg0KSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGF1ZGlvJTJDJTIwbGFiZWwlMjAlM0QlMjBnZW5lcmF0ZV9hdWRpbygpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwb3V0cHV0JTIwJTNEJTIwZ3IuQXVkaW8oYXVkaW8lMkMlMjBsYWJlbCUzRGxhYmVsKSUwQSUwQWRlbW8ubGF1bmNoKGRlYnVnJTNEVHJ1ZSk=",highlighted:`<span class="hljs-keyword">import</span> gradio <span class="hljs-keyword">as</span> gr


<span class="hljs-keyword">def</span> <span class="hljs-title function_">generate_audio</span>():
    example = minds.shuffle()[<span class="hljs-number">0</span>]
    audio = example[<span class="hljs-string">&quot;audio&quot;</span>]
    <span class="hljs-keyword">return</span> (
        audio[<span class="hljs-string">&quot;sampling_rate&quot;</span>],
        audio[<span class="hljs-string">&quot;array&quot;</span>],
    ), id2label(example[<span class="hljs-string">&quot;intent_class&quot;</span>])


<span class="hljs-keyword">with</span> gr.Blocks() <span class="hljs-keyword">as</span> demo:
    <span class="hljs-keyword">with</span> gr.Column():
        <span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(<span class="hljs-number">4</span>):
            audio, label = generate_audio()
            output = gr.Audio(audio, label=label)

demo.launch(debug=<span class="hljs-literal">True</span>)`}}),P=new h({props:{code:"aW1wb3J0JTIwbGlicm9zYSUwQWltcG9ydCUyMG1hdHBsb3RsaWIucHlwbG90JTIwYXMlMjBwbHQlMEFpbXBvcnQlMjBsaWJyb3NhLmRpc3BsYXklMEElMEFhcnJheSUyMCUzRCUyMGV4YW1wbGUlNUIlMjJhdWRpbyUyMiU1RCU1QiUyMmFycmF5JTIyJTVEJTBBc2FtcGxpbmdfcmF0ZSUyMCUzRCUyMGV4YW1wbGUlNUIlMjJhdWRpbyUyMiU1RCU1QiUyMnNhbXBsaW5nX3JhdGUlMjIlNUQlMEElMEFwbHQuZmlndXJlKCkuc2V0X2ZpZ3dpZHRoKDEyKSUwQWxpYnJvc2EuZGlzcGxheS53YXZlc2hvdyhhcnJheSUyQyUyMHNyJTNEc2FtcGxpbmdfcmF0ZSk=",highlighted:`<span class="hljs-keyword">import</span> librosa
<span class="hljs-keyword">import</span> matplotlib.pyplot <span class="hljs-keyword">as</span> plt
<span class="hljs-keyword">import</span> librosa.display

array = example[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;array&quot;</span>]
sampling_rate = example[<span class="hljs-string">&quot;audio&quot;</span>][<span class="hljs-string">&quot;sampling_rate&quot;</span>]

plt.figure().set_figwidth(<span class="hljs-number">12</span>)
librosa.display.waveshow(array, sr=sampling_rate)`}}),{c(){E=r("meta"),Ba=c(),I=r("h1"),C=r("a"),ua=r("span"),j(Z.$$.fragment),be=c(),Ma=r("span"),he=o("Cargar y explorar una base de datos de audio"),Qa=c(),O=r("p"),we=o(`En este curso usaremos la libreria \u{1F917} Datasets para trabajar con bases de datos de audio. \u{1F917} Datasets es una libreria de
c\xF3digo abierto para descargar y preparar conjuntos de datos de todos los tipos, incluyendo audio. La libreria ofrece un
acceso f\xE1cil a una gran cantidad de conjuntos de datos p\xFAblicos almacenados en el Hugging Face Hub. Adem\xE1s, \u{1F917} Datasets incluye
multiples funcionalidades pensadas para simplificar el trabajo con conjuntos de datos de audio para investigadores y desarrolladores.`),Wa=c(),L=r("p"),Ae=o("Para empezar a trabajar con bases de datos de audio, asegurate de tener la librer\xEDa \u{1F917} Datasets instalada:"),Ra=c(),j(B.$$.fragment),Sa=c(),Q=r("p"),Te=o(`Una de las principales caracter\xEDsticas de \u{1F917} Datasets es la posibilidad de descargar y preparar un conjunto de datos
en una sola linea de c\xF3digo usando la funci\xF3n `),ma=r("code"),Ee=o("load_dataset()"),Na=c(),g=r("p"),Ie=o("Carguemos y exploremos un conjunto de audios llamado "),W=r("a"),Ce=o("MINDS-14"),ge=o(`, el cual contiene
grabaciones de personas haciendo preguntas sobre sistemas electr\xF3nicos bancarios en diferentes lenguajes y dialectos.`),Fa=c(),M=r("p"),ve=o("Para cargar MINDS-14, necesitamos copiar el identificador de la base de datos que aparece en el Hub ("),ja=r("code"),_e=o("PolyAI/minds14"),Ge=o(`) y pasarlo
como argumento a la funci\xF3n `),ya=r("code"),qe=o("load_dataset"),ke=o(". Tambien especificaremos que solo estamos interesados en el subconjunto de ingl\xE9s Australiano("),fa=r("code"),$e=o("en-AU"),Ze=o(`)
y la partici\xF3n de entrenamiento(\u201Ctrain\u201D):`),Da=c(),j(R.$$.fragment),Ya=c(),K=r("p"),Ua=r("strong"),Be=o("Output:"),za=c(),j(S.$$.fragment),xa=c(),aa=r("p"),Qe=o(`El conjunto de datos contiene 654 audios, cada uno acompa\xF1ado de su transcripci\xF3n, una transcripci\xF3n en ingl\xE9s, y una etiqueta
que indica la intenci\xF3n de la pregunta de la persona. La columna de audio, contiene la informaci\xF3n en bruto del audio. Examinemos
ahora uno de los ejemplos:`),Xa=c(),j(N.$$.fragment),Pa=c(),ea=r("p"),Ja=r("strong"),We=o("Output:"),Va=c(),j(F.$$.fragment),Ha=c(),la=r("p"),Re=o("Puedes ver que la columna de audio se compone de las siguiente informaci\xF3n:"),Oa=c(),w=r("ul"),v=r("li"),ba=r("code"),Se=o("path"),Ne=o(": La ruta al archivo de audio ("),ha=r("code"),Fe=o("*.wav"),De=o(" en este caso)."),Ye=c(),sa=r("li"),wa=r("code"),ze=o("array"),xe=o(": Los datos decodificados de audios, representedos como un NumPy array de 1 dimensi\xF3n."),Xe=c(),oa=r("li"),Aa=r("code"),Pe=o("sampling_rate"),Ve=o(". La frecuencia de muestreo del archivo (8,000 Hz en este ejemplo)."),La=c(),A=r("p"),He=o("La columna "),Ta=r("code"),Oe=o("intent_class"),Le=o(` es de tipo categ\xF3rico codificado en enteros. Para convertir este n\xFAmero en una texto con significado
podemos usar el m\xE9todo `),Ea=r("code"),Ke=o("int2str()"),al=o(":"),Ka=c(),j(D.$$.fragment),ae=c(),ta=r("p"),Ia=r("strong"),el=o("Output:"),ee=c(),j(Y.$$.fragment),le=c(),_=r("p"),ll=o("Si miras la columna de "),Ca=r("code"),sl=o("transcription"),ol=o(`, puedes ver que en efecto la persona ha grabado un audio haciendo una pregunta sobre
pagar una cuenta.`),se=c(),T=r("p"),tl=o(`Si planeas entrenar un clasificador de audio en este subconjunto de datos, no necesitas toda la informaci\xF3n contenida en las
columnas del conjunto de datos. Por ejemplo, la informaci\xF3n en `),ga=r("code"),nl=o("lang_id"),rl=o(` sera igual para todos los ejemplos y no nos ser\xE1 \xFAtil.
La columna `),va=r("code"),il=o("english_transcription' seguramente sera un duplicado de la columna "),dl=o("transcription` en este subconjunto, por lo que\npodemos removerla tambien."),oe=c(),G=r("p"),cl=o("Puedes eliminar caracter\xEDsticas irrelevantes usando el m\xE9todo `"),_a=r("code"),pl=o("remove_columns"),ul=o("de \u{1F917} Datasets"),te=c(),j(z.$$.fragment),ne=c(),na=r("p"),Ga=r("strong"),Ml=o("Output:"),re=c(),j(x.$$.fragment),ie=c(),m=r("p"),ml=o("Ahora que hemos cargado e inspeccionado los contenidos del conjunto de datos, \xA1escuchemos algunos ejemplos! Usaremos "),qa=r("code"),jl=o("Blocks"),yl=o(`
y `),ka=r("code"),fl=o("Audio"),Ul=o(" de "),$a=r("code"),Jl=o("Gradio"),bl=o(" para cargar algunos ejemplos del dataset."),de=c(),j(X.$$.fragment),ce=c(),ra=r("p"),hl=o("Podemos visulizar tambien algunos de los ejemplos. Grafiquemos ahora la forma de onda del primer ejemplo."),pe=c(),j(P.$$.fragment),ue=c(),V=r("div"),ia=r("img"),Me=c(),q=r("p"),wl=o(`\xA1Pruebalo! Decarga otro dialecto o lenguaje del conjunto MINDS-14, escucha y visualiza ajgunos ejemplos para tener un
sentido de la variaci\xF3n de toda la base de datos. Puedes ver una lista de todos los lenguajes `),H=r("a"),Al=o("aqui"),Tl=o("."),this.h()},l(a){const s=js('[data-svelte="svelte-1phssyn"]',document.head);E=i(s,"META",{name:!0,content:!0}),s.forEach(e),Ba=p(a),I=i(a,"H1",{class:!0});var je=d(I);C=i(je,"A",{id:!0,class:!0,href:!0});var _l=d(C);ua=i(_l,"SPAN",{});var Gl=d(ua);y(Z.$$.fragment,Gl),Gl.forEach(e),_l.forEach(e),be=p(je),Ma=i(je,"SPAN",{});var ql=d(Ma);he=t(ql,"Cargar y explorar una base de datos de audio"),ql.forEach(e),je.forEach(e),Qa=p(a),O=i(a,"P",{});var kl=d(O);we=t(kl,`En este curso usaremos la libreria \u{1F917} Datasets para trabajar con bases de datos de audio. \u{1F917} Datasets es una libreria de
c\xF3digo abierto para descargar y preparar conjuntos de datos de todos los tipos, incluyendo audio. La libreria ofrece un
acceso f\xE1cil a una gran cantidad de conjuntos de datos p\xFAblicos almacenados en el Hugging Face Hub. Adem\xE1s, \u{1F917} Datasets incluye
multiples funcionalidades pensadas para simplificar el trabajo con conjuntos de datos de audio para investigadores y desarrolladores.`),kl.forEach(e),Wa=p(a),L=i(a,"P",{});var $l=d(L);Ae=t($l,"Para empezar a trabajar con bases de datos de audio, asegurate de tener la librer\xEDa \u{1F917} Datasets instalada:"),$l.forEach(e),Ra=p(a),y(B.$$.fragment,a),Sa=p(a),Q=i(a,"P",{});var El=d(Q);Te=t(El,`Una de las principales caracter\xEDsticas de \u{1F917} Datasets es la posibilidad de descargar y preparar un conjunto de datos
en una sola linea de c\xF3digo usando la funci\xF3n `),ma=i(El,"CODE",{});var Zl=d(ma);Ee=t(Zl,"load_dataset()"),Zl.forEach(e),El.forEach(e),Na=p(a),g=i(a,"P",{});var ye=d(g);Ie=t(ye,"Carguemos y exploremos un conjunto de audios llamado "),W=i(ye,"A",{href:!0,rel:!0});var Bl=d(W);Ce=t(Bl,"MINDS-14"),Bl.forEach(e),ge=t(ye,`, el cual contiene
grabaciones de personas haciendo preguntas sobre sistemas electr\xF3nicos bancarios en diferentes lenguajes y dialectos.`),ye.forEach(e),Fa=p(a),M=i(a,"P",{});var k=d(M);ve=t(k,"Para cargar MINDS-14, necesitamos copiar el identificador de la base de datos que aparece en el Hub ("),ja=i(k,"CODE",{});var Ql=d(ja);_e=t(Ql,"PolyAI/minds14"),Ql.forEach(e),Ge=t(k,`) y pasarlo
como argumento a la funci\xF3n `),ya=i(k,"CODE",{});var Wl=d(ya);qe=t(Wl,"load_dataset"),Wl.forEach(e),ke=t(k,". Tambien especificaremos que solo estamos interesados en el subconjunto de ingl\xE9s Australiano("),fa=i(k,"CODE",{});var Rl=d(fa);$e=t(Rl,"en-AU"),Rl.forEach(e),Ze=t(k,`)
y la partici\xF3n de entrenamiento(\u201Ctrain\u201D):`),k.forEach(e),Da=p(a),y(R.$$.fragment,a),Ya=p(a),K=i(a,"P",{});var Sl=d(K);Ua=i(Sl,"STRONG",{});var Nl=d(Ua);Be=t(Nl,"Output:"),Nl.forEach(e),Sl.forEach(e),za=p(a),y(S.$$.fragment,a),xa=p(a),aa=i(a,"P",{});var Fl=d(aa);Qe=t(Fl,`El conjunto de datos contiene 654 audios, cada uno acompa\xF1ado de su transcripci\xF3n, una transcripci\xF3n en ingl\xE9s, y una etiqueta
que indica la intenci\xF3n de la pregunta de la persona. La columna de audio, contiene la informaci\xF3n en bruto del audio. Examinemos
ahora uno de los ejemplos:`),Fl.forEach(e),Xa=p(a),y(N.$$.fragment,a),Pa=p(a),ea=i(a,"P",{});var Dl=d(ea);Ja=i(Dl,"STRONG",{});var Yl=d(Ja);We=t(Yl,"Output:"),Yl.forEach(e),Dl.forEach(e),Va=p(a),y(F.$$.fragment,a),Ha=p(a),la=i(a,"P",{});var zl=d(la);Re=t(zl,"Puedes ver que la columna de audio se compone de las siguiente informaci\xF3n:"),zl.forEach(e),Oa=p(a),w=i(a,"UL",{});var da=d(w);v=i(da,"LI",{});var Za=d(v);ba=i(Za,"CODE",{});var xl=d(ba);Se=t(xl,"path"),xl.forEach(e),Ne=t(Za,": La ruta al archivo de audio ("),ha=i(Za,"CODE",{});var Xl=d(ha);Fe=t(Xl,"*.wav"),Xl.forEach(e),De=t(Za," en este caso)."),Za.forEach(e),Ye=p(da),sa=i(da,"LI",{});var Il=d(sa);wa=i(Il,"CODE",{});var Pl=d(wa);ze=t(Pl,"array"),Pl.forEach(e),xe=t(Il,": Los datos decodificados de audios, representedos como un NumPy array de 1 dimensi\xF3n."),Il.forEach(e),Xe=p(da),oa=i(da,"LI",{});var Cl=d(oa);Aa=i(Cl,"CODE",{});var Vl=d(Aa);Pe=t(Vl,"sampling_rate"),Vl.forEach(e),Ve=t(Cl,". La frecuencia de muestreo del archivo (8,000 Hz en este ejemplo)."),Cl.forEach(e),da.forEach(e),La=p(a),A=i(a,"P",{});var ca=d(A);He=t(ca,"La columna "),Ta=i(ca,"CODE",{});var Hl=d(Ta);Oe=t(Hl,"intent_class"),Hl.forEach(e),Le=t(ca,` es de tipo categ\xF3rico codificado en enteros. Para convertir este n\xFAmero en una texto con significado
podemos usar el m\xE9todo `),Ea=i(ca,"CODE",{});var Ol=d(Ea);Ke=t(Ol,"int2str()"),Ol.forEach(e),al=t(ca,":"),ca.forEach(e),Ka=p(a),y(D.$$.fragment,a),ae=p(a),ta=i(a,"P",{});var Ll=d(ta);Ia=i(Ll,"STRONG",{});var Kl=d(Ia);el=t(Kl,"Output:"),Kl.forEach(e),Ll.forEach(e),ee=p(a),y(Y.$$.fragment,a),le=p(a),_=i(a,"P",{});var fe=d(_);ll=t(fe,"Si miras la columna de "),Ca=i(fe,"CODE",{});var as=d(Ca);sl=t(as,"transcription"),as.forEach(e),ol=t(fe,`, puedes ver que en efecto la persona ha grabado un audio haciendo una pregunta sobre
pagar una cuenta.`),fe.forEach(e),se=p(a),T=i(a,"P",{});var pa=d(T);tl=t(pa,`Si planeas entrenar un clasificador de audio en este subconjunto de datos, no necesitas toda la informaci\xF3n contenida en las
columnas del conjunto de datos. Por ejemplo, la informaci\xF3n en `),ga=i(pa,"CODE",{});var es=d(ga);nl=t(es,"lang_id"),es.forEach(e),rl=t(pa,` sera igual para todos los ejemplos y no nos ser\xE1 \xFAtil.
La columna `),va=i(pa,"CODE",{});var ls=d(va);il=t(ls,"english_transcription' seguramente sera un duplicado de la columna "),ls.forEach(e),dl=t(pa,"transcription` en este subconjunto, por lo que\npodemos removerla tambien."),pa.forEach(e),oe=p(a),G=i(a,"P",{});var Ue=d(G);cl=t(Ue,"Puedes eliminar caracter\xEDsticas irrelevantes usando el m\xE9todo `"),_a=i(Ue,"CODE",{});var ss=d(_a);pl=t(ss,"remove_columns"),ss.forEach(e),ul=t(Ue,"de \u{1F917} Datasets"),Ue.forEach(e),te=p(a),y(z.$$.fragment,a),ne=p(a),na=i(a,"P",{});var os=d(na);Ga=i(os,"STRONG",{});var ts=d(Ga);Ml=t(ts,"Output:"),ts.forEach(e),os.forEach(e),re=p(a),y(x.$$.fragment,a),ie=p(a),m=i(a,"P",{});var $=d(m);ml=t($,"Ahora que hemos cargado e inspeccionado los contenidos del conjunto de datos, \xA1escuchemos algunos ejemplos! Usaremos "),qa=i($,"CODE",{});var ns=d(qa);jl=t(ns,"Blocks"),ns.forEach(e),yl=t($,`
y `),ka=i($,"CODE",{});var rs=d(ka);fl=t(rs,"Audio"),rs.forEach(e),Ul=t($," de "),$a=i($,"CODE",{});var is=d($a);Jl=t(is,"Gradio"),is.forEach(e),bl=t($," para cargar algunos ejemplos del dataset."),$.forEach(e),de=p(a),y(X.$$.fragment,a),ce=p(a),ra=i(a,"P",{});var ds=d(ra);hl=t(ds,"Podemos visulizar tambien algunos de los ejemplos. Grafiquemos ahora la forma de onda del primer ejemplo."),ds.forEach(e),pe=p(a),y(P.$$.fragment,a),ue=p(a),V=i(a,"DIV",{class:!0});var cs=d(V);ia=i(cs,"IMG",{src:!0,alt:!0}),cs.forEach(e),Me=p(a),q=i(a,"P",{});var Je=d(q);wl=t(Je,`\xA1Pruebalo! Decarga otro dialecto o lenguaje del conjunto MINDS-14, escucha y visualiza ajgunos ejemplos para tener un
sentido de la variaci\xF3n de toda la base de datos. Puedes ver una lista de todos los lenguajes `),H=i(Je,"A",{href:!0,rel:!0});var ps=d(H);Al=t(ps,"aqui"),ps.forEach(e),Tl=t(Je,"."),Je.forEach(e),this.h()},h(){u(E,"name","hf:doc:metadata"),u(E,"content",JSON.stringify(hs)),u(C,"id","cargar-y-explorar-una-base-de-datos-de-audio"),u(C,"class","header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full"),u(C,"href","#cargar-y-explorar-una-base-de-datos-de-audio"),u(I,"class","relative group"),u(W,"href","https://huggingface.co/datasets/PolyAI/minds14"),u(W,"rel","nofollow"),ys(ia.src,vl="https://huggingface.co/datasets/huggingface-course/audio-course-images/resolve/main/waveform_unit1.png")||u(ia,"src",vl),u(ia,"alt","Waveform plot"),u(V,"class","flex justify-center"),u(H,"href","https://huggingface.co/datasets/PolyAI/minds14"),u(H,"rel","nofollow")},m(a,s){l(document.head,E),n(a,Ba,s),n(a,I,s),l(I,C),l(C,ua),f(Z,ua,null),l(I,be),l(I,Ma),l(Ma,he),n(a,Qa,s),n(a,O,s),l(O,we),n(a,Wa,s),n(a,L,s),l(L,Ae),n(a,Ra,s),f(B,a,s),n(a,Sa,s),n(a,Q,s),l(Q,Te),l(Q,ma),l(ma,Ee),n(a,Na,s),n(a,g,s),l(g,Ie),l(g,W),l(W,Ce),l(g,ge),n(a,Fa,s),n(a,M,s),l(M,ve),l(M,ja),l(ja,_e),l(M,Ge),l(M,ya),l(ya,qe),l(M,ke),l(M,fa),l(fa,$e),l(M,Ze),n(a,Da,s),f(R,a,s),n(a,Ya,s),n(a,K,s),l(K,Ua),l(Ua,Be),n(a,za,s),f(S,a,s),n(a,xa,s),n(a,aa,s),l(aa,Qe),n(a,Xa,s),f(N,a,s),n(a,Pa,s),n(a,ea,s),l(ea,Ja),l(Ja,We),n(a,Va,s),f(F,a,s),n(a,Ha,s),n(a,la,s),l(la,Re),n(a,Oa,s),n(a,w,s),l(w,v),l(v,ba),l(ba,Se),l(v,Ne),l(v,ha),l(ha,Fe),l(v,De),l(w,Ye),l(w,sa),l(sa,wa),l(wa,ze),l(sa,xe),l(w,Xe),l(w,oa),l(oa,Aa),l(Aa,Pe),l(oa,Ve),n(a,La,s),n(a,A,s),l(A,He),l(A,Ta),l(Ta,Oe),l(A,Le),l(A,Ea),l(Ea,Ke),l(A,al),n(a,Ka,s),f(D,a,s),n(a,ae,s),n(a,ta,s),l(ta,Ia),l(Ia,el),n(a,ee,s),f(Y,a,s),n(a,le,s),n(a,_,s),l(_,ll),l(_,Ca),l(Ca,sl),l(_,ol),n(a,se,s),n(a,T,s),l(T,tl),l(T,ga),l(ga,nl),l(T,rl),l(T,va),l(va,il),l(T,dl),n(a,oe,s),n(a,G,s),l(G,cl),l(G,_a),l(_a,pl),l(G,ul),n(a,te,s),f(z,a,s),n(a,ne,s),n(a,na,s),l(na,Ga),l(Ga,Ml),n(a,re,s),f(x,a,s),n(a,ie,s),n(a,m,s),l(m,ml),l(m,qa),l(qa,jl),l(m,yl),l(m,ka),l(ka,fl),l(m,Ul),l(m,$a),l($a,Jl),l(m,bl),n(a,de,s),f(X,a,s),n(a,ce,s),n(a,ra,s),l(ra,hl),n(a,pe,s),f(P,a,s),n(a,ue,s),n(a,V,s),l(V,ia),n(a,Me,s),n(a,q,s),l(q,wl),l(q,H),l(H,Al),l(q,Tl),me=!0},p:fs,i(a){me||(U(Z.$$.fragment,a),U(B.$$.fragment,a),U(R.$$.fragment,a),U(S.$$.fragment,a),U(N.$$.fragment,a),U(F.$$.fragment,a),U(D.$$.fragment,a),U(Y.$$.fragment,a),U(z.$$.fragment,a),U(x.$$.fragment,a),U(X.$$.fragment,a),U(P.$$.fragment,a),me=!0)},o(a){J(Z.$$.fragment,a),J(B.$$.fragment,a),J(R.$$.fragment,a),J(S.$$.fragment,a),J(N.$$.fragment,a),J(F.$$.fragment,a),J(D.$$.fragment,a),J(Y.$$.fragment,a),J(z.$$.fragment,a),J(x.$$.fragment,a),J(X.$$.fragment,a),J(P.$$.fragment,a),me=!1},d(a){e(E),a&&e(Ba),a&&e(I),b(Z),a&&e(Qa),a&&e(O),a&&e(Wa),a&&e(L),a&&e(Ra),b(B,a),a&&e(Sa),a&&e(Q),a&&e(Na),a&&e(g),a&&e(Fa),a&&e(M),a&&e(Da),b(R,a),a&&e(Ya),a&&e(K),a&&e(za),b(S,a),a&&e(xa),a&&e(aa),a&&e(Xa),b(N,a),a&&e(Pa),a&&e(ea),a&&e(Va),b(F,a),a&&e(Ha),a&&e(la),a&&e(Oa),a&&e(w),a&&e(La),a&&e(A),a&&e(Ka),b(D,a),a&&e(ae),a&&e(ta),a&&e(ee),b(Y,a),a&&e(le),a&&e(_),a&&e(se),a&&e(T),a&&e(oe),a&&e(G),a&&e(te),b(z,a),a&&e(ne),a&&e(na),a&&e(re),b(x,a),a&&e(ie),a&&e(m),a&&e(de),b(X,a),a&&e(ce),a&&e(ra),a&&e(pe),b(P,a),a&&e(ue),a&&e(V),a&&e(Me),a&&e(q)}}}const hs={local:"cargar-y-explorar-una-base-de-datos-de-audio",title:"Cargar y explorar una base de datos de audio"};function ws(gl){return Us(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Is extends us{constructor(E){super();Ms(this,E,ws,bs,ms,{})}}export{Is as default,hs as metadata};
