⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rahinterfazusuario.java

📁 This is a example about programming a neural network
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        Grafico.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        ScrollGrafico.setViewportView(Grafico);

        PanelSenhal.add(ScrollGrafico, java.awt.BorderLayout.CENTER);

        PanelBGraf.setBackground(new java.awt.Color(255, 255, 255));
        ElimSegInutil.setText("Seg. Inutiles");
        ElimSegInutil.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ElimSegInutilActionPerformed(evt);
            }
        });

        PanelBGraf.add(ElimSegInutil);

        DetPitch.setText("Det. Pitch");
        DetPitch.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                DetPitchActionPerformed(evt);
            }
        });

        PanelBGraf.add(DetPitch);

        PanelSenhal.add(PanelBGraf, java.awt.BorderLayout.SOUTH);

        PanelSenhalVoz.addTab("Se\u00f1al de Voz", PanelSenhal);

        PanelProcRec.setLayout(new java.awt.GridLayout(1, 0));

        jTabbedPane1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        PanelEntrenamiento.setLayout(new java.awt.BorderLayout());

        PanelMostrarCar.setLayout(new java.awt.BorderLayout());

        MostrarCaracteristicas.setColumns(20);
        MostrarCaracteristicas.setRows(5);
        jScrollPane1.setViewportView(MostrarCaracteristicas);

        PanelMostrarCar.add(jScrollPane1, java.awt.BorderLayout.CENTER);

        PanelEntrenamiento.add(PanelMostrarCar, java.awt.BorderLayout.CENTER);

        OpcionEntrenar.setSelected(true);
        OpcionEntrenar.setText("Habilitar/Deshabilitar Entrenamiento");
        OpcionEntrenar.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        OpcionEntrenar.setMargin(new java.awt.Insets(0, 0, 0, 0));
        OpcionEntrenar.addChangeListener(new javax.swing.event.ChangeListener() {
            public void stateChanged(javax.swing.event.ChangeEvent evt) {
                OpcionEntrenarStateChanged(evt);
            }
        });

        PanelBEntrenamiento.add(OpcionEntrenar);

        ListaMetExtCaract.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "MFCC", "LPCC" }));
        ListaMetExtCaract.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ListaMetExtCaractActionPerformed(evt);
            }
        });

        PanelBEntrenamiento.add(ListaMetExtCaract);

        entrenarSenhal.setText("Entrenar");
        entrenarSenhal.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                entrenarSenhalActionPerformed(evt);
            }
        });

        PanelBEntrenamiento.add(entrenarSenhal);

        PanelEntrenamiento.add(PanelBEntrenamiento, java.awt.BorderLayout.SOUTH);

        jTabbedPane1.addTab("Entrenamiento", PanelEntrenamiento);

        PanelProcRec.add(jTabbedPane1);

        jTabbedPane2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        PanelReconocimiento.setLayout(new java.awt.BorderLayout());

        PanelMostrarRes.setLayout(new java.awt.BorderLayout());

        MostrarResultado.setColumns(20);
        MostrarResultado.setRows(5);
        jScrollPane2.setViewportView(MostrarResultado);

        PanelMostrarRes.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        PanelReconocimiento.add(PanelMostrarRes, java.awt.BorderLayout.CENTER);

        Reconocer.setText("Reconocer");
        Reconocer.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ReconocerActionPerformed(evt);
            }
        });

        jPanel1.add(Reconocer);

        PanelReconocimiento.add(jPanel1, java.awt.BorderLayout.SOUTH);

        jTabbedPane2.addTab("Reconocimiento", PanelReconocimiento);

        PanelProcRec.add(jTabbedPane2);

        PanelSenhalVoz.addTab("Proceso de Reconocimiento", PanelProcRec);

        PanelSenhalVoz.getAccessibleContext().setAccessibleName("Se\u00f1al de Voz");

        BarraHerramientas.setBackground(new java.awt.Color(255, 255, 255));
        abrir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/abrir.gif")));
        abrir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                abrirActionPerformed(evt);
            }
        });

        BarraHerramientas.add(abrir);

        Reset.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagenes/hoja.gif")));
        Reset.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ResetActionPerformed(evt);
            }
        });

        BarraHerramientas.add(Reset);

        Archivo.setText("Archivo");
        AbrirArch.setText("Abrir");
        AbrirArch.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AbrirArchActionPerformed(evt);
            }
        });

        Archivo.add(AbrirArch);

        ResetArch.setText("Reset");
        Archivo.add(ResetArch);

        jMenuBar1.add(Archivo);

        ProcSenhal.setText("Procesamiento");
        jMenuBar1.add(ProcSenhal);

        ExtCaract.setText("Caracteristicas");
        ExtCaract.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ExtCaractActionPerformed(evt);
            }
        });

        jMenuBar1.add(ExtCaract);

        Reconocimiento.setText("Reconocimiento");
        jMenuBar1.add(Reconocimiento);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(PanelSenhalVoz, javax.swing.GroupLayout.DEFAULT_SIZE, 964, Short.MAX_VALUE)
                    .addComponent(PanelProc_Info, javax.swing.GroupLayout.DEFAULT_SIZE, 964, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
            .addComponent(BarraHerramientas, javax.swing.GroupLayout.DEFAULT_SIZE, 993, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(BarraHerramientas, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelSenhalVoz, javax.swing.GroupLayout.PREFERRED_SIZE, 319, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(PanelProc_Info, javax.swing.GroupLayout.PREFERRED_SIZE, 322, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void ListaMetExtCaractActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ListaMetExtCaractActionPerformed
// TODO add your handling code here:
        metExtCaract=ListaMetExtCaract.getSelectedIndex();
    }//GEN-LAST:event_ListaMetExtCaractActionPerformed

    private void OpcionEntrenarStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_OpcionEntrenarStateChanged
// TODO add your handling code here:
        if(OpcionEntrenar.isSelected()==false)
        {
          Reconocer.setEnabled(true);
          entrenarSenhal.setEnabled(false);
           
        }
        if(OpcionEntrenar.isSelected()==true)
        {
          Reconocer.setEnabled(false);
          entrenarSenhal.setEnabled(true);
        }
        
    }//GEN-LAST:event_OpcionEntrenarStateChanged

    private void ReconocerActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_ReconocerActionPerformed
// TODO add your handling code here:
         
         double[] DxVoz=ProcDSenhal.filtro_PreEnfasis(datosVoz,0.95);
         double[][] MatrizC=null;
        
        if(metExtCaract==0)
        {
             MatrizC=ExtractC.obtenerMFCC(DxVoz,400,160);   
             
        }
        else
        {
             MatrizC=ExtractC.obtenerLPCC(DxVoz,400,160);   
        
        }
         int p=1;
        // MEJORA
            MatrizC=ExtractC.CMN(MatrizC);
         

                 double[][] MCaracteristicas=(double[][])Caracteristicas.get(0);
                 double min=RecSenhal.DTW(MatrizC,MCaracteristicas,p);         
                 double D=0;
                 int indice=0;
                 if(Caracteristicas.size()>0)
                 {

                     for(int i=1;i<Caracteristicas.size();i++)
                     {
                         MCaracteristicas=(double[][])Caracteristicas.get(i);
                         D=RecSenhal.DTW(MatrizC,MCaracteristicas,p);         

                         if(min>D) 
                         {
                            min=D;
                            indice=i;
                         }
                     }
                 }     


         MostrarResultado.append("Distancia minima es: "+ min + nuevaLinea);
         indice++;
         MostrarResultado.append("La palabra aproximada es la que se encuentra en la posicion: "+ indice + nuevaLinea );
         MostrarResultado.append("Caracteristicas "+ nuevaLinea+ nuevaLinea);  
         MostrarResultado.append((String)ArrayCaractEntrenada.get(indice-1)+ nuevaLinea+ nuevaLinea);
    }//GEN-LAST:event_ReconocerActionPerformed

    private void entrenarSenhalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_entrenarSenhalActionPerformed
// TODO add your handling code here:
    // Obtener MFCC
        double[] DxVoz=ProcDSenhal.filtro_PreEnfasis(datosVoz,0.95);
        double[][] MatrizC=null;
        
        if(metExtCaract==0)
        {
            
             MatrizC=ExtractC.obtenerMFCC(DxVoz,400,160);   
             
        }
        else
        {
             MatrizC=ExtractC.obtenerLPCC(DxVoz,400,160);   
        
        }
        System.out.println("opcion metodo"+metExtCaract);
        // MEJORA
            MatrizC=ExtractC.CMN(MatrizC);
        // Almacenar las nuevas caracteristicas   
            Caracteristicas.add(MatrizC); 

        
        MostrarCaracteristicas.append("-------------------------------------------------------------------------"+nuevaLinea);
        MostrarCaracteristicas.append("ALMACENADO en posicion: "+ Caracteristicas.size()+nuevaLinea);
        int indice=Caracteristicas.size()-1;       
        double[][] MAux=(double[][])Caracteristicas.get(indice);
        int x=MAux.length;
        int y=MAux[0].length;
        MostrarCaracteristicas.append("Tamanho de la matriz de caracteristicas: "+x+"x"+y+nuevaLinea);
        //---------------------------------------------------------------------------------
        ArrayCaractEntrenada.add(CaractSenhalReconocida);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -