Menu

Tree [df8495] master /
 History

HTTPS access


File Date Author Commit
 rtaudio 2023-04-09 Walter Schweizer Walter Schweizer [34ad00] prepare for release 2023-04-09
 tests 2024-04-01 Walter Schweizer Walter Schweizer [8994c3] only build sma_2d_test when desired
 .clang-format 2024-04-05 Walter Schweizer Walter Schweizer [3bd298] make clang-format aware of the new event macro ...
 .clang-tidy 2024-04-25 Walter Schweizer Walter Schweizer [1dbc2f] add clang-tidy checks
 .editorconfig 2021-03-04 Walter Schweizer Walter Schweizer [b3a7f0] Add editorconfig file to ease formating
 .gitignore 2024-04-01 Walter Schweizer Walter Schweizer [463230] add cppcheck settings
 .gitlab-ci.yml 2023-12-03 Walter Schweizer Walter Schweizer [51bf1d] fix Gitlab CI settings
 AudMeS.cpp 2024-09-17 Walter Schweizer Walter Schweizer [df8495] fix swapped box labels in generator notebook
 AudMeS.h 2024-07-28 Walter Schweizer Walter Schweizer [02f7ae] prepare release 2024-07-28
 CMakeLists.txt 2024-07-28 Walter Schweizer Walter Schweizer [02f7ae] prepare release 2024-07-28
 COPYING 2018-10-13 Petter Reinholdtsen Petter Reinholdtsen [d292f8] Added copyright headers to source code on reque...
 CtrlOScope.cpp 2024-05-31 Walter Schweizer Walter Schweizer [22c2eb] value of xpos initialization is never used
 CtrlOScope.h 2024-04-05 Walter Schweizer Walter Schweizer [40f3ba] remove unused setUnits methods in CtrlOScope
 Info.plist 2022-04-20 Walter Schweizer Walter Schweizer [10d6f2] Prepare release 2022-04-20
 NEWS 2024-07-28 Walter Schweizer Walter Schweizer [02f7ae] prepare release 2024-07-28
 README.md 2023-11-01 Walter Schweizer Walter Schweizer [6ac38b] rearrange README and add Flatpak section
 RWAudio_IO.cpp 2024-04-05 Walter Schweizer Walter Schweizer [9e5a2d] refine cppcheck settings and apply suggestions
 RWAudio_IO.h 2023-11-11 Walter Schweizer Walter Schweizer [148ba8] refactor sample rate handling
 audmes.desktop 2024-03-03 Walter Schweizer Walter Schweizer [28fdb5] add change for desktop file from Debian patch
 audmes.icns 2020-08-02 Walter Schweizer Walter Schweizer [a9883d] add app info and icon for MacOS
 audmes.ico 2008-08-20 Vaclav Peroutka Vaclav Peroutka [373860] Created trunk/ and files moved inside
 audmes.png 2020-09-27 Walter Schweizer Walter Schweizer [d1605f] Add installation and files for Linux
 audmes.rc 2008-08-20 Vaclav Peroutka Vaclav Peroutka [373860] Created trunk/ and files moved inside
 audmes.xpm 2020-10-22 Petter Reinholdtsen Petter Reinholdtsen [9ec2c7] Make constant icon string 'const' to avoid comp...
 cpp-analyze.cppcheck 2024-04-05 Walter Schweizer Walter Schweizer [9e5a2d] refine cppcheck settings and apply suggestions
 dlg_audiointerface.cpp 2024-05-30 Walter Schweizer Walter Schweizer [898651] remove empty init method in audiointerface
 dlg_audiointerface.h 2024-05-30 Walter Schweizer Walter Schweizer [898651] remove empty init method in audiointerface
 event_ids.h 2023-12-09 Walter Schweizer Walter Schweizer [e875b6] add save function to spectrum and oscillogram
 fourier.c 2018-10-10 Petter Reinholdtsen Petter Reinholdtsen [008481] Avoid compiler warning in CheckPointerDouble() ...
 fourier.h 2008-08-20 Vaclav Peroutka Vaclav Peroutka [373860] Created trunk/ and files moved inside
 net.sourceforge.audmes.audmes.appdata.xml 2024-07-28 Walter Schweizer Walter Schweizer [02f7ae] prepare release 2024-07-28
 sma_2d.cpp 2023-12-27 Walter Schweizer Walter Schweizer [ca50c6] check recordNum in GetSMA when in debug build
 sma_2d.h 2024-04-04 Walter Schweizer Walter Schweizer [8f0dee] remove obsolete #pragma

Read Me

AUDio MEasurement System

About

Multi-platform system for audio measurement through sound card in the
PC. Incorporates Generator, Oscilloscope, Fast Fourier Transform,
Sweep frequency characteristic.

Project page: https://sourceforge.net/projects/audmes/

Source code: https://sourceforge.net/p/audmes/git/ci/master/tree/

Contact: see project page

License: GPLv2 (see COPYING)

Features:

  • generator
  • spectrum analyzer
  • oscilloscope
  • frequency response - just frequency stepping

Operating systems: Linux, Windows, MacOS

Dependencies:

Installation

You can download compiled binaries from SourceForge. You find them under Files.
You need a stereo input and output on your sound card.

Windows

Download the binary from SourceForge. It comes a a ZIP archive.
Extract the archive into a directory of your choice.
Create a shortcut for AudMeS.exe to your desktop.
To run, double-click on the shortcut icon.

MacOS

Download the binary from SourceForge. It comes as a disk image (dmg).
Mount the disk image by double-clicking it.
Drag and drop the app to /Applications.
To run, use LaunchPad and click on the AudMeS icon.

Linux

Go to FlatHub https://flathub.org, search for audmes and install it.

Download the binary from SourceForge.
It comes as a Flatpak or a Debian package (deb).
Install the Debian package with dpkg -i.
The flatpak can be installed with flatpak install.

To run, click on the AudMeS icon when you select "Show Applications".

Troubleshooting

If a popup appears about sound card issues,
make sure you have stereo input and output available.
You may need to plug in a cable.

If you see messages like
WARNING **: invalid source position for vertical gradient
then your Gnome Theme has a bug. It is annoying but harmless.
On Debian the issue disappears when using e.g. materia-gtk-theme.

If you get an error like wxbase30ud_gcc810.dll not found (note the "d_")
when running AudMeS.exe, you compiled in Debug mode. Run cmake again with
"-DCMAKE_BUILD_TYPE=Release".

Compiling on Linux

The following instructions are for Debian, Ubuntu and similar.

Install the basic development tools and dependencies

sudo apt install build-essential git cmake

# Debian 11
sudo apt install libwxgtk3.0-gtk3-dev
sudo apt install libfccp-dev libpulse-dev libasound2-dev

# Debian 12
sudo apt install libwxgtk3.2-dev
sudo apt install libfccp-dev libpulse-dev libasound2-dev

Fetch the source

git clone https://git.code.sf.net/p/audmes/git audmes-git

Compile

cd audmes-git
mkdir build && cd build
cmake ..
cmake --build .

Test the result

./AudMeS

Package and install

cmake --build . --target package
sudo dpkg -i AudMeS-xxxx.xx.xx-Linux.deb

Compiling on Windows 10 with MinGW

Get the following software:

MinGW:

Setup MinGW to i686 (32 bit) version:

Version     8.1.0
Arch        i686
Threads     posix
Exceptions  sjlj
Build       0

If you have a previous MinGW installation, say in "C:\MinGW",
take care not to mix the two. See setting the path below or simply
uninstall the previous installation.

Git:

Cmake:

The next instructions assume that you use git bash (not command.exe).
Use the desktop shortcut "Git bash" you get after after installing git.

Create a directory to store the project.

$ENV{HOMEDRIVE}$ENV{HOMEPATH}/projects

WxWidgets:

Extract the archives to $ENV{HOMEDRIVE}$ENV{HOMEPATH}/projects/wx3.0.5.
CMake expects the libraries in ...\projects\wx3.0.5\lib\gcc_dll.
Copy or rename ...\projects\wx3.0.5\lib\gcc810_dll.

Clone audmes:

cd $ENV{HOMEDRIVE}$ENV{HOMEPATH}/projects
git clone https://git.code.sf.net/p/audmes/git audmes-git

Clone libfccp:

git clone https://github.com/ben-strasser/fast-cpp-csv-parser libfccp

Compiling:

Make sure you have mingw and cmake in your bash path.
You need to add the following using the windows
"System Properties->Environment Variables" window.

"C:\Program Files (x86)\mingw-w64\i686-8.1.0-posix-sjlj-rt_v6-rev0\mingw32\bin"
"C:\Program Files\CMake\bin"

or add it to the path in the bash profile.

Compile 32bit Windows version (git bash in source directory):

cd $ENV{HOMEDRIVE}$ENV{HOMEPATH}/projects/audmes-git
mkdir build && cd build
cmake .. -G "MinGW Makefiles"
mingw32-make

Install libraries:

cp /c/Program\ Files\ \(x86\)/mingw-w64/i686-8.1.0-posix-sjlj-rt_v6-rev0/mingw32/bin/libwinpthread-1.dll .
cp /c/Program\ Files\ \(x86\)/mingw-w64/i686-8.1.0-posix-sjlj-rt_v6-rev0/mingw32/bin/libstdc++-6.dll .
cp /c/Program\ Files\ \(x86\)/mingw-w64/i686-8.1.0-posix-sjlj-rt_v6-rev0/mingw32/bin/libgcc_s_sjlj-1.dll .
cp ../../wx3.0.5/lib/gcc810_dll/wxbase30u_gcc810.dll .
cp ../../wx3.0.5/lib/gcc810_dll/wxmsw30u_core_gcc810.dll .

Alternative to the above:

cmake --build . --target install

Run the program:

AudMeS.exe

Package into a ZIP:

cmake --build . --target package

The ZIP archive contains the executable, libraries and text files for distribution.

Compiling on Windows 10 with Visual Studio 2019

Download Visual Studio 2019 from Microsoft.
The (free) Visual Studio 2019 Community edition is sufficient.
It comes with the necessary C++ compilers, SDK, git client and CMake plugin.

Cmake:

WxWidgets:

Extract the archives to $ENV{HOMEDRIVE}$ENV{HOMEPATH}/projects/wx3.0.5.

Use Visual Studio to clone the project.

Create a CMake configuration x86-release.

{
  "configurations": [
    {
      "name": "x86-Release",
      "generator": "Ninja",
      "configurationType": "Release",
      "buildRoot": "${projectDir}\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "msvc_x86" ]
    }
  ]
}

Now you can build AudMeS.exe with Visual Studio by selecting "Build -> Build All".

Compiling on MacOSX

Xcode:

  • Install Xcode from the App Store. It comes with the necessary compilers and tools for MacOSX.

Tool to fix paths in App: install_name_tool.
The MacOSX equivalent for Linux ldd is otool.

CMake:

Homebrew:

  • Install Homebrew https://brew.sh first and then use brew to install wxWidgets

Turn off analytics

brew analytics off

You may want to get optional install git tools

brew install git
brew install git-gui

wxWidgets:

Now use brew to get wxWidgets

brew install wxwidgets

Brew will get version 3.1 which is fine. On MacOSX wxWidgets 3.0 has issues with AudMeS.

AudMeS source:

mkdir projects && cd projects
git clone https://git.code.sf.net/p/audmes/git audmes-git
cd audmes-git

Libfccp:

Clone into projects/audmes-git/libfccp

git clone https://github.com/ben-strasser/fast-cpp-csv-parser libfccp

Compile on command line:

mkdir build && cd build
cmake ..
cmake --build .

During compilation some deprecation warnings appear which can be ignored.

Now you can run the result AudMeS.app using the Finder. It will ask for permission
to access the microphone. Please allow it.

Package AudMeS as disk image:

cmake --build . --target package

The result is AudMeS-xxxx.xx.xx-Darwin.dmg which can be mounted using the Finder and allows
to install the app in the usual way.

Using Xcode as IDE:

To prepare the project for Xcode and debugging you can use Cmake.

cmake .. -G Xcode -DCMAKE_BUILD_TYPE=Debug

Then open the project in XCode. You may need to remove all in the build directory
first before running cmake.

Flatpak

Check the flatpak data in audmes repository.

vi net.sourceforge.audmes.audmes.appdata.xml

Fork the project for Flathub.

git checkout https://github.com/swwa/net.sourceforge.audmes.audmes.git
cd net.sourceforge.audmes.audmes

Edit commit hash in the manifest.

vi net.sourceforge.audmes.audmes.json

Build the flatpak and test it.

flatpak-builder --repo=repo --force-clean build net.sourceforge.audmes.audmes.json
flatpak build-bundle repo audmes.flatpak net.sourceforge.audmes.audmes
flatpak --user install audmes.flatpak
flatpak run net.sourceforge.audmes.audmes

Now make a pull request on github. Test the build from the build-bot.

As Flatpak administrator merge pull request and test the build.