Wai-Yip Chan

122 papers A 16B 7C 5Misc 10Journal 43Unranked 41
YearRankTypeTitle / Venue / Authors
2026 J jnl
IEEE Access
Filippo Villani, Wai-Yip Chan, Zheng-Hua Tan, Jan Østergaard, Jesper Jensen
2026 J jnl
Speech Commun.
Haolan Wang, Wai-Yip Chan, Jesper Jensen
2025 A conf
INTERSPEECH
Filippo Villani, Wai-Yip Chan, Zheng-Hua Tan, Jan Østergaard, Jesper Jensen
2025 A conf
INTERSPEECH
Aymen Bashir, Haolan Wang, Amin Edraki, Wai-Yip Chan, Jesper Jensen
2025 J jnl
Frontiers Artif. Intell.
Maede Ashofteh Barabadi, Xiaodan Zhu, Wai-Yip Chan, Amber L. Simpson, Richard K. G. Do
2024 conf
CCECE
Maede Ashofteh Barabadi, Wai-Yip Chan, Xiaodan Zhu, Amber L. Simpson, Richard K. G. Do
2024 conf
IWAENC
Filippo Villani, Wai-Yip Chan, Zheng-Hua Tan, Jan Østergaard, Jesper Jensen
2024 A conf
INTERSPEECH
Haolan Wang, Amin Edraki, Wai-Yip Chan, Iván López-Espejo, Jesper Jensen
2024 Misc conf
ICASSP
Amin Edraki, Wai-Yip Chan, Jesper Jensen, Daniel Fogerty
2023 conf
WASPAA
Ahmed Alghamdi, Leonard Moen, Wai-Yip Chan, Daniel Fogerty, Jesper Jensen
2023 J jnl
Speech Commun.
Iván López-Espejo, Amin Edraki, Wai-Yip Chan, Zheng-Hua Tan, Jesper Jensen
2023 J jnl
CoRR
Maede Ashofteh Barabadi, Xiaodan Zhu, Wai-Yip Chan, Amber L. Simpson, Richard K. G. Do
2023 conf
Canadian AI
Maede Ashofteh Barabadi, Xiaodan Zhu, Wai-Yip Chan, Amber L. Simpson, Richard K. G. Do
2021 A conf
Interspeech
Amin Edraki, Wai-Yip Chan, Jesper Jensen, Daniel Fogerty
2021 conf
WASPAA
Ahmed Alghamdi, Wai-Yip Chan, Daniel Fogerty, Jesper Jensen
2021 conf
ACSCC
Clinton Lau, Wai-Yip Chan, Xiaodan Zhu
2021 conf
CCECE
Eduardo Gasca Cervantes, Wai-Yip Chan
2021 conf
OFC
Aazar S. Kashi, John C. Cartledge, Wai-Yip Chan
2021 J jnl
IEEE ACM Trans. Audio Speech Lang. Process.
Amin Edraki, Wai-Yip Chan, Jesper Jensen, Daniel Fogerty
2020 conf
CCECE
Ahmed Alghamdi, Wai-Yip Chan
2019 A conf
INTERSPEECH
Amin Edraki, Wai-Yip Chan, Jesper Jensen, Daniel Fogerty
2019 conf
CWIT
Saeed Rezazadeh, Fady Alajaji, Wai-Yip Chan
2019 J jnl
CoRR
Saeed Rezazadeh, Fady Alajaji, Wai-Yip Chan
2018 conf
EUSIPCO
Ahmed Alghamdi, Wai-Yip Chan, Daniel Fogerty
2017 J jnl
IEEE Access
Ye Li, Wai-Yip Chan, Steven D. Blostein
2017 conf
CCECE
Ahmed Alghamdi, Wai-Yip Chan
2016 J jnl
CoRR
Ye Li, Wai-Yip Chan, Steven D. Blostein
2016 J jnl
IEEE Trans. Commun.
Ahmad Abou Saleh, Fady Alajaji, Wai-Yip Chan
2015 conf
SPAWC
Ahmad Abou Saleh, Fady Alajaji, Wai-Yip Chan
2015 J jnl
IEEE Signal Process. Lett.
Ahmad Abou Saleh, Fady Alajaji, Wai-Yip Chan
2015 J jnl
CoRR
Yu Cao, Steven D. Blostein, Wai-Yip Chan
2015 J jnl
J. Commun. Networks
Yu Cao, Steven D. Blostein, Wai-Yip Chan
2015 J jnl
CoRR
Ali Bakhshali, Wai-Yip Chan, Steven D. Blostein, Yu Cao
2015 J jnl
EURASIP J. Wirel. Commun. Netw.
Ali Bakhshali, Wai-Yip Chan, Steven D. Blostein, Yu Cao
2015 J jnl
EURASIP J. Adv. Signal Process.
Ye Li, Steven D. Blostein, Wai-Yip Chan
2015 conf
ECOC
Ali Bakhshali, Wai-Yip Chan, John C. Cartledge, Maurice O'Sullivan, Charles Laperle, Andrzej Borowiec, Kim Roberts
2014 conf
ECOC
Ali Bakhshali, Wai-Yip Chan, Ying Gao, John C. Cartledge, Maurice O'Sullivan, Charles Laperle, Andrzej Borowiec, Kim Roberts
2014 J jnl
IEEE Wirel. Commun. Lett.
Ahmad Abou Saleh, Fady Alajaji, Wai-Yip Chan
2014 conf
SPAWC
Ahmad Abou Saleh, Wai-Yip Chan, Fady Alajaji
2014 J jnl
IEEE Trans. Commun.
Ahmad Abou Saleh, Wai-Yip Chan, Fady Alajaji
2013 B conf
ISIT
Ahmad Abou Saleh, Fady Alajaji, Wai-Yip Chan
2013 conf
GLOBECOM Workshops
Ye Li, Steven D. Blostein, Wai-Yip Chan
2013 A conf
INTERSPEECH
Chenxi Zheng, Wai-Yip Chan
2013 conf
CWIT
Ahmad Abou Saleh, Wai-Yip Chan, Fady Alajaji
2012 J jnl
Speech Commun.
Tiago H. Falk, Wai-Yip Chan, Fraser Shein
2012 J jnl
IEEE Signal Process. Lett.
Ahmad Abou Saleh, Wai-Yip Chan, Fady Alajaji
2012 C conf
MMSP
Ali Bakhshali, Wai-Yip Chan, Yu Cao, Steven D. Blostein
2012 conf
NetCod
Ye Li, Wai-Yip Chan, Steven D. Blostein
2011 A conf
INTERSPEECH
Chenxi Zheng, Tiago H. Falk, Wai-Yip Chan
2011 J jnl
Speech Commun.
Siqing Wu, Tiago H. Falk, Wai-Yip Chan
2011 conf
EUSIPCO
Ahmad Abou Saleh, Wai-Yip Chan, Fady Alajaji
2011 Misc conf
ICASSP
Mohammad Hossein Radfar, Richard M. Dansereau, Wai-Yip Chan, Willy Wong
2011 B conf
PIMRC
Yu Cao, Steven D. Blostein, Wai-Yip Chan
2011 Misc conf
ICASSP
Tiago H. Falk, Richard Hummel, Wai-Yip Chan
2011 A conf
INTERSPEECH
Richard Hummel, Wai-Yip Chan, Tiago H. Falk
2011 J jnl
IEEE Signal Process. Mag.
Sebastian Möller, Wai-Yip Chan, Nicolas Côté, Tiago H. Falk, Alexander Raake, Marcel Wältermann
2010 J jnl
IEEE Trans. Speech Audio Process.
Tiago H. Falk, Chenxi Zheng, Wai-Yip Chan
2010 conf
ICC
Wei Sheng, Wai-Yip Chan, Steven D. Blostein, Yu Cao
2010 J jnl
IEEE Trans. Speech Audio Process.
Tiago H. Falk, Wai-Yip Chan
2010 J jnl
J. Signal Process. Syst.
Mohammad H. Radfar, Richard M. Dansereau, Wai-Yip Chan
2010 J jnl
IEEE Trans. Commun.
Yugang Zhou, Wai-Yip Chan
2010 Misc conf
ICASSP
Mohammad H. Radfar, Willy Wong, Richard M. Dansereau, Wai-Yip Chan
2010 J jnl
IEEE Trans. Instrum. Meas.
Tiago H. Falk, Wai-Yip Chan
2010 B conf
ISIT
Yu Cao, Steven D. Blostein, Wai-Yip Chan
2009 conf
DPS
Siqing Wu, Tiago H. Falk, Wai-Yip Chan
2009 J jnl
EURASIP J. Audio Speech Music. Process.
Tiago H. Falk, Wai-Yip Chan
2009 A conf
INTERSPEECH
Mohammad H. Radfar, Wai-Yip Chan, Richard M. Dansereau, Willy Wong
2009 J jnl
Microprocess. Microsystems
Stephen Warrington, Wai-Yip Chan, Subramania Sudharsanan
2008 J jnl
J. Commun. Networks
Jean-Pierre Thibault, Wai-Yip Chan, Shahram Yousefi
2008 J jnl
IEEE Trans. Speech Audio Process.
Tiago H. Falk, Wai-Yip Chan
2008 A conf
INTERSPEECH
Siqing Wu, Tiago H. Falk, Wai-Yip Chan
2008 A conf
INTERSPEECH
Tiago H. Falk, Wai-Yip Chan
2007 conf
ICASSP (4)
Tiago H. Falk, Hua Yuan, Wai-Yip Chan
2007 C conf
ISCAS
Stephen Warrington, Subramania Sudharsanan, Wai-Yip Chan
2007 J jnl
Eur. Trans. Telecommun.
Yugang Zhou, Wai-Yip Chan
2007 A conf
INTERSPEECH
Hua Yuan, Tiago H. Falk, Wai-Yip Chan
2007 B conf
ISIT
Yugang Zhou, Wai-Yip Chan
2007 A conf
INTERSPEECH
Tiago H. Falk, Svante Stadler, W. Bastiaan Kleijn, Wai-Yip Chan
2007 J jnl
J. Multim.
Tiago H. Falk, Hua Yuan, Wai-Yip Chan
2007 A conf
INTERSPEECH
Tiago H. Falk, Hua Yuan, Wai-Yip Chan
2006 conf
CCECE
Tiago H. Falk, Hagit Shatkay, Wai-Yip Chan
2006 conf
ICASSP (1)
Tiago H. Falk, Wai-Yip Chan
2006 conf
ICASSP (4)
Yugang Zhou, Wai-Yip Chan
2006 J jnl
IEEE Signal Process. Lett.
Tiago H. Falk, Wai-Yip Chan
2006 C conf
ISCAS
Stephen Warrington, Hassan Shojania, Subramania Sudharsanan, Wai-Yip Chan
2006 C conf
ISCAS
Stephen Warrington, Wai-Yip Chan, Subramania Sudharsanan
2006 J jnl
IEEE Trans. Speech Audio Process.
Tiago H. Falk, Wai-Yip Chan
2005 conf
EUSIPCO
Tiago H. Falk, Wai-Yip Chan
2005 A conf
INTERSPEECH
Tiago H. Falk, Wai-Yip Chan, Peter Kabal
2005 conf
ICASSP (1)
Tiago H. Falk, Qingfeng Xu, Wai-Yip Chan
2005 B conf
GLOBECOM
Yugang Zhou, Wai-Yip Chan
2005 conf
ICASSP (3)
Ricky Der, Peter Kabal, Wai-Yip Chan
2004 conf
ICASSP (4)
Ricky Der, Peter Kabal, Wai-Yip Chan
2004 A conf
INTERSPEECH
Tiago H. Falk, Wai-Yip Chan, Peter Kabal
2003 conf
ICASSP (5)
Ricky Der, Peter Kabal, Wai-Yip Chan
2002 conf
ICIP (1)
Dariusz Blasiak, Wai-Yip Chan
2001 J jnl
IEEE Signal Process. Lett.
Jiandong Shen, Wai-Yip Chan
2000 J jnl
Speech Commun.
Wenhui Jia, Wai-Yip Chan
2000 B conf
ICIP
Jiandong Shen, Wai-Yip Chan
1999 conf
IWCC
Wai-kong Cheuk, Chi-Kwong Li, Wai-Yip Chan
1999 J jnl
IEEE Signal Process. Lett.
Dariusz Blasiak, Jiandong Shen, Wai-Yip Chan
1999 conf
ICIP (2)
Jiandong Shen, Wai-Yip Chan
1998 conf
ICIP (3)
Jiandong Shen, Wai-Yip Chan
1998 conf
ICIP (2)
Dariusz Blasiak, Wai-Yip Chan
1998 J jnl
J. Electronic Imaging
Hao Bi, Pattabiraman Subramanian, Jiandong Shen, Wai-Yip Chan
1998 Misc conf
ICASSP
Wenhui Jin, Wai-Yip Chan
1998 J jnl
IEEE Trans. Circuits Syst. Video Technol.
Hao Bi, Wai-Yip Chan
1998 C conf
PDP
Wai-Yip Chan, Chi-Kwong Li
1996 Misc conf
ICASSP
James H. Y. Loo, Wai-Yip Chan, Peter Kabal
1996 conf
ICIP (3)
Hao Bi, Wai-Yip Chan
1996 Misc conf
ICASSP
Hao Bi, Wai-Yip Chan
1994 conf
ICIP (1)
Masoud R. K. Khansari, Awais Zakauddin, Wai-Yip Chan, Eric Dubois, Paul Mermelstein
1994 conf
ICASSP (1)
Wai-Yip Chan, David Chemla
1993 B conf
Data Compression Conference
Wai-Yip Chan, Allen Gersho, S. Soong
1992 J jnl
IEEE Trans. Commun.
Wai-Yip Chan, Smita Gupta, Allen Gersho
1992 conf
Coding And Quantization
Wai-Yip Chan, Allen Gersho
1992 Misc conf
ICASSP
Wai-Yip Chan
1992 conf
ICSLP
Erdal Paksoy, Wai-Yip Chan, Allen Gersho
1991 J jnl
IEEE Trans. Commun.
Wai-Yip Chan, Allen Gersho
1991 Misc conf
ICASSP
Wai-Yip Chan, Allen Gersho
1990 Misc conf
ICASSP
Wai-Yip Chan, Allen Gersho
1983 J jnl
IEEE J. Sel. Areas Commun.
Samy A. Mahmoud, Wai-Yip Chan, J. Spruce Riordon, Salah E. Aidarous
redb/utils/sort_files_by_type.py
← Index redb/utils/sort_files_by_type.py python
import os
import sys
from collections import defaultdict
import tempfile
from magika import Magika
import py7zr
import pyzipper
import shutil

"""
This script is used to sort files by their type. 
It reads all the files in the provided directory and splits them into different 
directories based on their type. Mainly, it classifies the files into the following types:
- PE Binaries
- Mach-O Binaries
- ELF Binaries
- APK 
- Other Files

It outputs the count of files for each file extension and file type.

Command line example:
nohup python3 sort_files_by_type.py /mnt/samples/consilience/malware/vx-bazaar-expanded/Bazaar.2020.12 \
    /mnt/samples/consilience/malware/_sorted_samples/vx-bazaar/2020/ > \
    /mnt/samples/consilience/malware/ops-logs/20241014-SORT_FILES-bazaar_2020.12.output.log 2>&1 &
"""


def process_zip_file(filepath):
    print(f"[INFO] - Processing zip file: {filepath}")
    with tempfile.TemporaryDirectory() as temp_dir:
        try:
            with pyzipper.AESZipFile(filepath) as zf:
                zf.pwd = b"infected"
                filename = zf.namelist()[0]
                zf.extractall(temp_dir)
                extracted_zip_path = os.path.join(temp_dir, filename)
                return process_binary_file(extracted_zip_path)
        except Exception as e:
            print(f"[ERR] - Error processing zip file {filepath}: {str(e)}")
            return None


def process_7z_file(filepath):
    print(f"[INFO] - Processing 7z file: {filepath}")
    with tempfile.TemporaryDirectory() as temp_dir:
        try:
            with py7zr.SevenZipFile(filepath, mode="r", password="infected") as z:
                z.extractall(path=temp_dir)
                for root, _, files in os.walk(temp_dir):
                    for file in files:
                        extracted_file_path = os.path.join(root, file)
                        return process_binary_file(extracted_file_path)
        except Exception as e:
            print(f"[ERR] - Error processing 7z file {filepath}: {str(e)}")
            return None


def process_binary_file(filepath):
    print(f"[INFO] - Processing binary file: {filepath}")
    try:
        with open(filepath, "rb") as f:
            data = f.read(512 * 1024)  # 512KB
        return Magika().identify_bytes(data).output.ct_label
    except Exception as e:
        print(f"[ERR] - Error processing binary file {filepath}: {str(e)}")
        return "ERROR"


def count_file_extensions(path, dest_dir):
    # A defaultdict to store file extension counts
    extension_count = defaultdict(int)
    filetype_count = defaultdict(int)
    tot_files = 0

    # Walk through the directory
    for root, dirs, files in os.walk(path):
        for file in files:
            if file.startswith("."):
                continue

            tot_files += 1
            # Split the file extension from the file name
            _, ext = os.path.splitext(file)
            ext = ext.lower()

            # Count the extensions
            extension_count[ext] += 1
            filepath = os.path.join(root, file)
            filetype = ""

            if ext == ".7z":
                filetype = process_7z_file(filepath)
            elif ext == ".zip":
                filetype = process_zip_file(filepath)
            else:
                filetype = process_binary_file(filepath)

            filetype_count[filetype] += 1

            if filetype == "pebin":
                dest = os.path.join(dest_dir, "pebin")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "macho":
                dest = os.path.join(dest_dir, "macho")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "elf":
                dest = os.path.join(dest_dir, "elf")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            elif filetype == "apk":
                dest = os.path.join(dest_dir, "apk")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            else:
                dest = os.path.join(dest_dir, "other")
                os.makedirs(dest, exist_ok=True)
                shutil.copy2(filepath, os.path.join(dest, file))
            print(f"[STATUS] - Progres: {tot_files}/{len(files)} files processed")

    # Print the results
    # print("- File Extension Statistics:")
    # for ext, count in extension_count.items():
    #     if ext:  # To exclude files with no extension
    #         print(f"\t{ext}: {count} files")

    # if "" in extension_count:
    #     print(f'\t{extension_count[""]} files with no extension')

    print(f"- Total Number of Files: {tot_files}")
    print("\n- File Type Statistics:")
    for filetype, count in sorted(filetype_count.items()):
        print(f"\t{filetype:<15}{count:>8}")


if __name__ == "__main__":
    # Check if the path was passed as a command-line argument
    if len(sys.argv) != 3:
        print("Usage: python3 script.py <input_path> <dest_dir>")
        sys.exit(1)

    # Get the path from the command-line arguments
    input_path = sys.argv[1]
    dest_dir = sys.argv[2]

    # Check if the provided path is valid
    if not os.path.isdir(input_path):
        print(f"The path '{input_path}' is not a valid directory.")
        sys.exit(1)

    # Call the function to count file extensions
    count_file_extensions(input_path, dest_dir)