Projects / mhWaveEdit

mhWaveEdit

mhWaveEdit is a program for playing, editing, and recording sound files. It supports .wav files and a few other formats. It is good at editing both large and small files, and has support for 8/16/24/32-bit signed and unsigned sample formats.

Tags
Licenses
Operating Systems

RSS Recent releases

  •  11 Aug 2013 19:24

    Release Notes: This release fixes a few bugs and contains some improvements to the PulseAudio backend.

    •  25 Jul 2012 22:00

      Release Notes: This release fixes some sample conversion issues and adds a few minor features.

      •  08 May 2011 13:28

        Release Notes: This is a maintenance release containing several bugfixes and minor improvements. It also contains an updated Italian translation and a new Polish translation.

        •  06 Jul 2010 06:34

          Release Notes: This version fixes a few minor bugs, most notably a cursor positioning bug.

          •  17 Mar 2010 22:02

            Release Notes: This release fixes a playback bug affecting Jack and OSS, features some other minor bugfixes and improvements, and has an update to the Italian translation.

            RSS Recent comments

            17 Mar 2010 21:38 magnush

            A bit late, but I have now discovered that it doesn't build with PortAudio version 19. Those idiots changed the API in a backwards-incompatible way.

            20 Jun 2005 09:47 magnush

            Re: problems compiling
            I'm not sure what's causing those errors, but it looks like you unpacked portaudio inside the mhwaveedit source directory. Could you try moving the portaudio directory somewhere else, compile and install portaudio, and then compile and install mhWaveEdit?

            Maybe you don't need portaudio at all? mhwe supports both OSS and ALSA directly. If you don't need portaudio, you can run configure with the --without-portaudio option.

            08 Jun 2005 21:20 xevilstar

            problems compiling
            gcc --version

            gcc (GCC) 3.3.5

            Copyright (C) 2003 Free Software Foundation, Inc.

            This is free software; see the source for copying conditions. There is NO

            warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

            root@xevilstar:/usr/local/src/mhwaveedit-1.4.1# ls po

            po/ portaudio/

            root@xevilstar:/usr/local/src/mhwaveedit-1.4.1# ls portaudio/

            portaudio_v18_1/

            make all-recursive

            make[1]: Entering directory `/usr/local/src/mhwaveedit-1.4.1'

            Making all in m4

            make[2]: Entering directory `/usr/local/src/mhwaveedit-1.4.1/m4'

            make[2]: Nothing to be done for `all'.

            make[2]: Leaving directory `/usr/local/src/mhwaveedit-1.4.1/m4'

            Making all in po

            make[2]: Entering directory `/usr/local/src/mhwaveedit-1.4.1/po'

            make[2]: Nothing to be done for `all'.

            make[2]: Leaving directory `/usr/local/src/mhwaveedit-1.4.1/po'

            Making all in src

            make[2]: Entering directory `/usr/local/src/mhwaveedit-1.4.1/src'

            if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/SDL -D_REENTRANT -DLOCALEDIR=\"/usr/local/share/locale\" -Wall -g -O2 -g -O2 -MT sound.o -MD -MP -MF ".deps/sound.Tpo" \

            -c -o sound.o `test -f 'sound.c' || echo './'`sound.c; \

            then mv -f ".deps/sound.Tpo" ".deps/sound.Po"; \

            else rm -f ".deps/sound.Tpo"; exit 1; \

            fi

            In file included from sound.c:54:

            sound-portaudio.c:46: error: parse error before "PaDeviceID"

            sound-portaudio.c:46: warning: no semicolon at end of struct or union

            sound-portaudio.c:47: warning: type defaults to `int' in declaration of `outstream'

            sound-portaudio.c:47: warning: type defaults to `int' in declaration of `instream'

            sound-portaudio.c:47: warning: data definition has no type or storage class

            sound-portaudio.c:48: error: parse error before '}' token

            sound-portaudio.c:48: warning: type defaults to `int' in declaration of `portaudio_data'

            sound-portaudio.c:48: warning: data definition has no type or storage class

            sound-portaudio.c: In function `portaudio_init':

            sound-portaudio.c:54: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:57: error: request for member `input_buffer' in something not a structure or union

            sound-portaudio.c:58: error: request for member `out' in something not a structure or union

            sound-portaudio.c:58: warning: implicit declaration of function `Pa_GetDefaultOutputDeviceID'

            sound-portaudio.c:59: error: request for member `in' in something not a structure or union

            sound-portaudio.c:59: warning: implicit declaration of function `Pa_GetDefaultInputDeviceID'

            sound-portaudio.c:60: error: request for member `out' in something not a structure or union

            sound-portaudio.c:62: error: request for member `in' in something not a structure or union

            sound-portaudio.c: In function `portaudio_quit':

            sound-portaudio.c:69: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c: In function `portaudio_samplerate_supported':

            sound-portaudio.c:77: error: structure has no member named `numSampleRates'

            sound-portaudio.c:78: error: structure has no member named `sampleRates'

            sound-portaudio.c:79: error: structure has no member named `sampleRates'

            sound-portaudio.c:81: error: structure has no member named `numSampleRates'

            sound-portaudio.c:82: error: structure has no member named `sampleRates'

            sound-portaudio.c: In function `portaudio_fmtparse':

            sound-portaudio.c:102: error: `paPackedInt24' undeclared (first use in this function)

            sound-portaudio.c:102: error: (Each undeclared identifier is reported only once

            sound-portaudio.c:102: error: for each function it appears in.)

            sound-portaudio.c: In function `portaudio_samplesize_supported':

            sound-portaudio.c:114: error: structure has no member named `nativeSampleFormats'

            sound-portaudio.c: In function `portaudio_output_supports_format':

            sound-portaudio.c:120: error: request for member `out' in something not a structure or union

            sound-portaudio.c:121: error: request for member `out' in something not a structure or union

            sound-portaudio.c: In function `portaudio_output_stop':

            sound-portaudio.c:130: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:134: warning: implicit declaration of function `Pa_StreamActive'

            sound-portaudio.c:134: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:135: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:136: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:137: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:140: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:141: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:142: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:143: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c: In function `portaudio_output_clear_buffers':

            sound-portaudio.c:149: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:150: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c: In function `portaudio_output_want_data':

            sound-portaudio.c:155: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c: At top level:

            sound-portaudio.c:160: error: parse error before "PaTimestamp"

            sound-portaudio.c: In function `portaudio_output_callback':

            sound-portaudio.c:163: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:163: error: `outputBuffer' undeclared (first use in this function)

            sound-portaudio.c:164: error: `framesPerBuffer' undeclared (first use in this function)

            sound-portaudio.c:164: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c:165: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c:167: error: request for member `played_bytes' in something not a structure or union

            sound-portaudio.c: In function `portaudio_output_select_format':

            sound-portaudio.c:176: error: request for member `played_bytes' in something not a structure or union

            sound-portaudio.c:177: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:179: error: request for member `out' in something not a structure or union

            sound-portaudio.c:183: warning: passing arg 2 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:183: warning: passing arg 5 of `Pa_OpenStream' makes integer from pointer without a cast

            sound-portaudio.c:183: warning: passing arg 7 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:183: warning: passing arg 8 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:183: error: too many arguments to function `Pa_OpenStream'

            sound-portaudio.c:188: error: request for member `samplerate' in something not a structure or union

            sound-portaudio.c:189: error: request for member `samplesize' in something not a structure or union

            sound-portaudio.c:190: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c: In function `portaudio_output_play':

            sound-portaudio.c:198: error: `PaTimestamp' undeclared (first use in this function)

            sound-portaudio.c:198: error: parse error before "p"

            sound-portaudio.c:199: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:200: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:203: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:204: error: request for member `output_buffer' in something not a structure or union

            sound-portaudio.c:205: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:206: error: request for member `start_time' in something not a structure or union

            sound-portaudio.c:207: error: request for member `delay_time_set' in something not a structure or union

            sound-portaudio.c:209: error: request for member `delay_time_set' in something not a structure or union

            sound-portaudio.c:210: error: `p' undeclared (first use in this function)

            sound-portaudio.c:210: warning: implicit declaration of function `Pa_StreamTime'

            sound-portaudio.c:210: error: request for member `outstream' in something not a structure or union

            sound-portaudio.c:213: error: request for member `start_time' in something not a structure or union

            sound-portaudio.c:214: error: request for member `delay_time' in something not a structure or union

            sound-portaudio.c:216: error: request for member `samplerate' in something not a structure or union

            sound-portaudio.c:217: error: request for member `delay_time_set' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_supported':

            sound-portaudio.c:225: error: request for member `in' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_supports_format':

            sound-portaudio.c:231: error: request for member `in' in something not a structure or union

            sound-portaudio.c: At top level:

            sound-portaudio.c:239: error: parse error before "PaTimestamp"

            sound-portaudio.c: In function `portaudio_input_callback':

            sound-portaudio.c:242: error: request for member `input_buffer' in something not a structure or union

            sound-portaudio.c:242: error: `inputBuffer' undeclared (first use in this function)

            sound-portaudio.c:243: error: `framesPerBuffer' undeclared (first use in this function)

            sound-portaudio.c:243: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c:244: error: request for member `input_buffer' in something not a structure or union

            sound-portaudio.c:246: error: request for member `input_overrun_count' in something not a structure or union

            sound-portaudio.c:248: error: `outputBuffer' undeclared (first use in this function)

            sound-portaudio.c:248: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_select_format':

            sound-portaudio.c:259: error: request for member `input_overrun_count' in something not a structure or union

            sound-portaudio.c:263: error: request for member `instream' in something not a structure or union

            sound-portaudio.c:264: error: request for member `in' in something not a structure or union

            sound-portaudio.c:266: error: request for member `out' in something not a structure or union

            sound-portaudio.c:269: warning: passing arg 3 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:269: warning: passing arg 5 of `Pa_OpenStream' makes integer from pointer without a cast

            sound-portaudio.c:269: warning: passing arg 7 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:269: warning: passing arg 8 of `Pa_OpenStream' makes pointer from integer without a cast

            sound-portaudio.c:269: error: too many arguments to function `Pa_OpenStream'

            sound-portaudio.c:274: error: request for member `samplerate' in something not a structure or union

            sound-portaudio.c:275: error: request for member `framesize' in something not a structure or union

            sound-portaudio.c:276: error: request for member `instream' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_stop':

            sound-portaudio.c:282: error: request for member `instream' in something not a structure or union

            sound-portaudio.c:283: error: request for member `instream' in something not a structure or union

            sound-portaudio.c:284: error: request for member `instream' in something not a structure or union

            sound-portaudio.c:285: error: request for member `instream' in something not a structure or union

            sound-portaudio.c:286: error: request for member `input_buffer' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_store':

            sound-portaudio.c:291: error: request for member `input_buffer' in something not a structure or union

            sound-portaudio.c: In function `portaudio_input_overrun_count':

            sound-portaudio.c:296: error: request for member `input_overrun_count' in something not a structure or union

            make[2]: *** [sound.o] Error 1

            make[2]: Leaving directory `/usr/local/src/mhwaveedit-1.4.1/src'

            make[1]: *** [all-recursive] Error 1

            make[1]: Leaving directory `/usr/local/src/mhwaveedit-1.4.1'

            make: *** [all] Error 2

            30 Nov 2004 15:19 magnush

            Re: Fast play
            Variable speed playback is on my todo list, but it will probably take a while before I get the time to implement it..

            27 Nov 2004 03:36 covexx Thumbs up

            Fast play
            mhWaveEdit still suits my needs best, is fast and reliable. :)

            Now I am editing long files. For that I am missing one usefull feature - fast play, or rewind with listening-in.

            This could shorter time needed for edit, as during editing I only need to quickly find some places in file.

            The only thing is to have a possibility to change frequency the play buttons are playing with (it should not touch the frequency of the file). Good option is to have one more slider that will set the frequency the play should play with (it could also decrease, not only increase the frequency).

            Screenshot

            Project Spotlight

            JStock - Free Stock Market Software

            A stock market application.

            Screenshot

            Project Spotlight

            John The Sorcerer

            An adventure game based on the Simon the Sorcerer series.