📄 rahinterfazusuario.java
字号:
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 + -