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

📄 searchlevel.java

📁 这是一个从音频信号里提取特征参量的程序
💻 JAVA
字号:
/* * @(#) SearchLevel.java  1.10 10/09/02 * * Copyright ***,  All Rights Reserved. *  * This software is the proprietary information of ********   * Use is subject to license terms. *  */// import java packages//import java.io.*;import java.lang.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import java.awt.*;/** * This class is to .....  * ..... * ..... * @version 1.00 * @author Kaihua Huang  */public class SearchLevel {        //-----------------------------------------------------------------    //    // instance data members    //    //-----------------------------------------------------------------    // level name    //    public String level_name_d;    // graph names, set to the symbols of the upper levels    //    public Vector graph_names_d = new Vector();        // this is a index to DiGraph map    //    public HashMap graphs_d = new HashMap();    public HashMap work_areas_d = new HashMap();    public Vector symbol_types_d = new Vector();    // different symbol tables    //    public Vector symbols_d = new Vector();    public Vector contexts_d = new Vector();    public Vector non_speech_d = new Vector();    public Vector contextless_d = new Vector();    public Vector dummy_d = new Vector();    public Vector skip_d = new Vector();    public Vector exclude_d = new Vector();        public Vector ST_d = new Vector();        // ui elements    //    public JPanel jGraphPane = new JPanel();    public JScrollPane jWorkPane = 	new JScrollPane(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,			JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);        //public Vector context_d;    //public Map grammar_graph_map_d;    //-----------------------------------------------------------------    //    // function members    //    //-----------------------------------------------------------------    /**     * check errors in the model     *      * @return a flag indicate the status     */    public boolean check(String prefix_a, String msg_a) {	// print message	//	CData.error_message_d += prefix_a + msg_a + "\n";	// checking the symbols	//	if (symbols_d.size() == 0) {	    	    CData.error_message_d += 		prefix_a + CData.ERR_LEVEL_NO_SYMBOLS + "\n";	    CData.err_flag_d = true;	    return false;	}		// checking the graph names	//	if (graph_names_d.size() == 0) {	    	    CData.error_message_d += 		prefix_a + CData.ERR_LEVEL_NO_GRAPHS + "\n";	    CData.err_flag_d = true;	    return false;	}		// store all graph names and graphs	//	for (int i= 0; i < graph_names_d.size(); i++) {	    String graph_name = (String)graph_names_d.get(i);	    DiGraph curr_graph = (DiGraph)graphs_d.get(graph_name);	    if ( curr_graph == null ){		CData.error_message_d += 		    prefix_a + "no graph defined for: " + graph_name + "\n";		CData.err_flag_d = true;		return false;	    }	    String prefix = prefix_a + CData.PREFIX_INDENT;	    String message = "checking graph: " + graph_name;	    System.out.println(prefix + message);	    if ( !curr_graph.check(prefix, message)){		return false;	    }	}		return true;    }    /**     * init the global data     *      * @param none     * @return void     */    public void init() {	// set the layout for the border	//	jGraphPane.setLayout(new BorderLayout());	//jGraphPane.setPreferredSize(new Dimension(6, 10));	jGraphPane.setLayout(new BorderLayout());	jGraphPane.add(jWorkPane, BorderLayout.CENTER);		// set the dimensions of the scroller	//	//jWorkPane.setBackground(Color.white);    }    /**     * init the global data     *      * @param none     * @return void     */    public void setWorkArea(WorkArea work_area_a) {	// set the layout for the border	//	jGraphPane.removeAll();	//jGraphPane.setPreferredSize(new Dimension(10, 40));	//jGraphPane.setLayout(new BorderLayout());	JScrollPane jWorkPane = 	    new JScrollPane(work_area_a, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,			    JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);	jGraphPane.add(jWorkPane, BorderLayout.CENTER);	jGraphPane.revalidate();	// set the dimensions of the scroller	//	//jWorkPane.setBackground(Color.white);    }    /**     * isNonSpeechSymbol     *      * @param none     * @return void     */    public boolean isNonSpeechSymbol(String symbol_a) {	if ( non_speech_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * isDummySymbol     *      * @param none     * @return void     */    public boolean isDummySymbol(String symbol_a) {	if ( dummy_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * isContextLessSymbol     *      * @param none     * @return void     */    public boolean isContextLessSymbol(String symbol_a) {	if ( contextless_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * isDummySymbol     *      * @param none     * @return void     */    public boolean isSkipSymbol(String symbol_a) {	if ( skip_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * isExcludeSymbol     *      * @param none     * @return void     */    public boolean isExcludeSymbol(String symbol_a) {	if ( exclude_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * isSTSymbol     *      * @param none     * @return void     */    public boolean isSTSymbol(String symbol_a) {	if ( ST_d.indexOf(symbol_a) >= 0 ){	    return true;	}		return false;    }    /**     * sortSymbols     *      * @param none     * @return void     */    public boolean sortSymbols() {	Object[] symbols = symbols_d.toArray();	Arrays.sort(symbols);	symbols_d.clear();	for ( int i = 0; i < symbols.length; i++ ){	    symbols_d.add((String)symbols[i]);	}	return true;    }    /**     * store this level     *      * @return void     */    public void store(String prefix_a) {	// get the io to set properties	//	Properties io = CData.io_d;		// tags	//	String level_name_tag = prefix_a + CData.IO_LEVEL_NAME;	String level_graph_size_tag = prefix_a + CData.IO_LEVEL_GRAPH_SIZE;		// store symbol table	//	String level_symbol_size_tag = prefix_a + CData.IO_LEVEL_SYMBOL_SIZE;	String level_symbol_tag = prefix_a + CData.IO_LEVEL_SYMBOL;	CData.storeSymbols(symbols_d, level_symbol_size_tag, level_symbol_tag);	// store context table	//	level_symbol_size_tag = prefix_a + CData.IO_LEVEL_CONTEXT_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_CONTEXT;	CData.storeSymbols(contexts_d, level_symbol_size_tag, level_symbol_tag);	// store non_speech table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_NON_SPEECH_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_NON_SPEECH_SYMBOL;	CData.storeSymbols(non_speech_d, level_symbol_size_tag, level_symbol_tag);	// store context_less table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_CONTEXTLESS_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_CONTEXTLESS_SYMBOL;	CData.storeSymbols(contextless_d, level_symbol_size_tag, level_symbol_tag);	// store dummy table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_DUMMY_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_DUMMY_SYMBOL;	CData.storeSymbols(dummy_d, level_symbol_size_tag, level_symbol_tag);	// store skip table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_SKIP_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_SKIP_SYMBOL;	CData.storeSymbols(skip_d, level_symbol_size_tag, level_symbol_tag);	// store exclude table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_EXCLUDE_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_EXCLUDE_SYMBOL;	CData.storeSymbols(exclude_d, level_symbol_size_tag, level_symbol_tag);	// store ST table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_ST_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_ST_SYMBOL;	CData.storeSymbols(ST_d, level_symbol_size_tag, level_symbol_tag);	// values	//	String graph_size = String.valueOf(graph_names_d.size());		// store all data members	//	io.setProperty(level_name_tag, level_name_d);	io.setProperty(level_graph_size_tag, graph_size);	// store all graph names and graphs	//	for (int i= 0; i < graph_names_d.size(); i++) {	    String graph_name = (String)graph_names_d.get(i);	    String prefix = prefix_a + CData.IO_LEVEL_GRAPH_NAME		+ String.valueOf(i);	    io.setProperty(prefix, graph_name);	    	    String graph_prefix = prefix_a + CData.IO_DIGRAPH_PREFIX		+ String.valueOf(i);	    DiGraph curr_graph = (DiGraph)graphs_d.get(graph_name);	    	    if ( curr_graph == null ){		curr_graph = new DiGraph();		graphs_d.put(graph_name, curr_graph);	    }	    curr_graph.store(graph_prefix);	}    }    /**     * load this level     *      * @return void     */    public void load(String prefix_a) {	// get the io to set properties	//	Properties io = CData.io_d;		// tags	//	String level_name_tag = prefix_a + CData.IO_LEVEL_NAME;	String level_graph_size_tag = prefix_a + CData.IO_LEVEL_GRAPH_SIZE;		// values	//	String graph_size;	int g_size;	// load symbol table	//	String level_symbol_size_tag = prefix_a + CData.IO_LEVEL_SYMBOL_SIZE;	String level_symbol_tag = prefix_a + CData.IO_LEVEL_SYMBOL;	CData.loadSymbols(symbols_d, level_symbol_size_tag, level_symbol_tag);	// load context table	//	level_symbol_size_tag = prefix_a + CData.IO_LEVEL_CONTEXT_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_CONTEXT;	CData.loadSymbols(contexts_d, level_symbol_size_tag, level_symbol_tag);	// load non_speech table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_NON_SPEECH_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_NON_SPEECH_SYMBOL;	CData.loadSymbols(non_speech_d, level_symbol_size_tag, level_symbol_tag);	// load context_less table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_CONTEXTLESS_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_CONTEXTLESS_SYMBOL;	CData.loadSymbols(contextless_d, level_symbol_size_tag, level_symbol_tag);	// load dummy table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_DUMMY_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_DUMMY_SYMBOL;	CData.loadSymbols(dummy_d, level_symbol_size_tag, level_symbol_tag);	// load skip table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_SKIP_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_SKIP_SYMBOL;	CData.loadSymbols(skip_d, level_symbol_size_tag, level_symbol_tag);	// load exclude table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_EXCLUDE_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_EXCLUDE_SYMBOL;	CData.loadSymbols(exclude_d, level_symbol_size_tag, level_symbol_tag);	// load ST table	//	level_symbol_size_tag = prefix_a 	    + CData.IO_LEVEL_ST_SYMBOL_SIZE;	level_symbol_tag = prefix_a + CData.IO_LEVEL_ST_SYMBOL;	CData.loadSymbols(ST_d, level_symbol_size_tag, level_symbol_tag);	// load all data members	//	level_name_d = io.getProperty(level_name_tag);	graph_size = io.getProperty(level_graph_size_tag);	g_size = Integer.valueOf(graph_size).intValue();	// load  all graphs	//	for (int i= 0; i < g_size; i++) {	    String prefix = prefix_a + CData.IO_LEVEL_GRAPH_NAME		+ String.valueOf(i);	    String graph_name = io.getProperty(prefix);	    graph_names_d.add(graph_name);	    	    String graph_prefix = prefix_a + CData.IO_DIGRAPH_PREFIX		+ String.valueOf(i);	    DiGraph curr_graph = new DiGraph();	    curr_graph.load(graph_prefix);	    graphs_d.put(graph_name, curr_graph);	}	// initialize the search level	//	init();    }}

⌨️ 快捷键说明

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