Results 1 to 4 of 4

Thread: New profile: Monkey's Audio encoding

  1. #1
    Join Date
    Apr 2008
    Posts
    126

    Default New profile: Monkey's Audio encoding

    There's a problem with the PTS WAV file: the encoder segfaults because of its RIFF chunk (WAV metadata). FLAC and oggenc also report a warning about it, but are able to ignore it.

    I'd really like a Monkey's Audio profile because it's a very good lossless codec and features excellent 64-bit MMX ASM routines. Michael, I know you're going to scream at me (or maybe just in your head), but would it be possible for the final WAV file to be a vanilla WAV file, with no metadata or any other additions/transformations?
    Edit: a simple way of doing that, is to encode the WAV file to FLAC, and decode that FLAC file back to WAV.

    Code:
    diff -Naur a/pts/test-profiles/encode-ape.xml b/pts/test-profiles/encode-ape.xml
    --- a/pts/test-profiles/encode-ape.xml	1970-01-01 01:00:00.000000000 +0100
    +++ b/pts/test-profiles/encode-ape.xml	2008-06-01 12:13:49.133115401 +0200
    @@ -0,0 +1,23 @@
    +<PhoronixTestSuite>
    +	<TestProfile>
    +		<Version>0.1.0</Version>
    +		<TestType>Processor</TestType>
    +		<SoftwareType>Utility</SoftwareType>
    +		<License>FREE</License>
    +		<Status>VERIFIED</Status>
    +		<Maintainer>apaige</Maintainer>
    +		<DownloadSize>0.4</DownloadSize>
    +		<EnvironmentSize>5</EnvironmentSize>
    +	</TestProfile>
    +	<TestInformation>
    +		<Title>Monkey's Audio Encoding</Title>
    +		<Version>3.99u4b5</Version>
    +		<SubTitle>78MB WAV File To APE</SubTitle>
    +		<Executable>encode-ape</Executable>
    +		<TimesToRun>3</TimesToRun>
    +		<ResultScale>Seconds</ResultScale>
    +		<Proportion>LIB</Proportion>
    +		<Description>This test times how long it takes to encode a sample WAV file to APE format.</Description>
    +        <ExternalDependencies>build-utilities</ExternalDependencies>
    +	</TestInformation>
    +</PhoronixTestSuite>
    diff -Naur a/pts/test-resources/encode-ape/downloads.xml b/pts/test-resources/encode-ape/downloads.xml
    --- a/pts/test-resources/encode-ape/downloads.xml	1970-01-01 01:00:00.000000000 +0100
    +++ b/pts/test-resources/encode-ape/downloads.xml	2008-06-01 12:13:33.530376922 +0200
    @@ -0,0 +1,13 @@
    +<PhoronixTestSuite>
    +	<Downloads>
    +		<Package>
    +			<URL>http://etree.org/shnutils/shntool/support/formats/ape/unix/3.99-u4-b5/s4/mac-3.99-u4-b5-s4.tar.gz</URL>
    +			<MD5>5de801a6f4d4b356b4675f5a1f586737</MD5>
    +		</Package>
    +		<Package>
    +			<URL>http://www.phoronix-test-suite.com/benchmark-files/pts-trondheim-wav-2.tar.gz, http://www.phoronix.net/downloads/phoronix-test-suite/benchmark-files/pts-trondheim-wav-2.tar.gz</URL>
    +			<MD5>3ae2f03b722fb2b8805ea0cdb8ca60e2</MD5>
    +			<DownloadTo>SHARED</DownloadTo>
    +		</Package>
    +	</Downloads>
    +</PhoronixTestSuite>
    diff -Naur a/pts/test-resources/encode-ape/install.sh b/pts/test-resources/encode-ape/install.sh
    --- a/pts/test-resources/encode-ape/install.sh	1970-01-01 01:00:00.000000000 +0100
    +++ b/pts/test-resources/encode-ape/install.sh	2008-06-01 12:15:36.670717177 +0200
    @@ -0,0 +1,26 @@
    +#!/bin/sh
    +
    +if [ ! -f ../pts-shared/pts-trondheim-2.wav ]
    +  then
    +     tar -xvf ../pts-shared/pts-trondheim-wav-2.tar.gz -C ../pts-shared/
    +fi
    +
    +THIS_DIR=$(pwd)
    +mkdir $THIS_DIR/ape_
    +
    +tar -xvf mac-3.99-u4-b5-s4.tar.gz
    +cd mac-3.99-u4-b5-s4/
    +CXXFLAGS="-DSHNTOOL" ./configure --prefix=$THIS_DIR/ape_
    +make -j $NUM_CPU_JOBS
    +make install
    +cd ..
    +rm -rf mac-3.99-u4-b5-s4/
    +
    +echo "#!/bin/sh
    +./ape_/bin/mac ../pts-shared/pts-trondheim-2.wav /dev/null -c4000 1>/dev/null 2>/dev/null
    +exit 0" > ape_process
    +chmod +x ape_process
    +
    +echo "#!/bin/sh
    +/usr/bin/time -f \"WAV To APE Encode Time: %e Seconds\" ./ape_process 2>&1" > encode-ape
    +chmod +x encode-ape
    diff -Naur a/pts/test-resources/encode-ape/parse-results.php b/pts/test-resources/encode-ape/parse-results.php
    --- a/pts/test-resources/encode-ape/parse-results.php	1970-01-01 01:00:00.000000000 +0100
    +++ b/pts/test-resources/encode-ape/parse-results.php	2008-06-01 12:15:46.484832096 +0200
    @@ -0,0 +1,5 @@
    +<?php
    +
    +$BENCHMARK_RESULTS = substr($argv[1], strrpos($argv[1], "WAV To APE Encode Time:") + 23);
    +echo trim(substr($BENCHMARK_RESULTS, 0, strpos($BENCHMARK_RESULTS, "Seconds")));
    +?>
    In the mean time, I guess I'll make a WavPack profile.
    Last edited by apaige; 06-01-2008 at 07:22 AM.

  2. #2

    Default

    In git, thanks. The WAV file is now also corrected.

  3. #3

    Default

    apaige: Is there a new version of Monkey audio for Linux anywhere? I see there's a new version and a Windows binary, but I can't find an updated source package.

  4. #4
    Join Date
    Aug 2008
    Posts
    233

    Default

    It's good to have options to choose, but MAC isn't free/open software, and having alternatives like FLAC or WavPack...

    FLAC has lots of advantages, it's open source, encoding/decoding is vary fast, it's multiplataform, the CPU usage is not big when playing files, etc. The only advantage that MAC has is that the size of the files is ~5% smaller.

    Not many programs support MAC, and much less hardware, Also the MAC license is a bit wierd http://www.monkeysaudio.com/license.html

    I only use MAC to transform the files to FLAC The latest version ported to GNU/Linux that I know is the same, 3.99-u4-b5

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •