Projects / mhWaveEdit / Comments

Comments for mhWaveEdit

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

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).

04 Oct 2004 11:45 magnush

Re: Changing Pitch
Hi!

There is a simple speed adjustment function built into mhWaveEdit, not perfect sound quality-wise but probably works well enough for your purposes.

For pitch shifting without adjusting speed, there is an effect in the sox program that can be used through mhwaveedit. I also think there are Ladspa plugins that can do this, but I haven't tried any of those.

04 Oct 2004 10:11 Progman3K

Changing Pitch
Hi,

I'm trying to figure out if mhWaveEdit can help me with a problem I'm having.

I'm trying to learn songs by playing along with them as they playback from a CD.

I am working on lots of songs, and for all but ONE CD, my approach has been working pretty well.

That is the problem; I have ONE CD that is NOT recorded with Middle A at 440 hz.

This CD is just a little sharp. It ends up that the notes fall between the frets on my instrument, so I can't just transpose it on my instrument.

I know I could simply re-tune my instrument to play with this one CD, but it is a real pain, as I keep changing CDs during a session.

What I'd like to do is rip all the audio from the CD into .WAV files, correct their pitch and burn them back onto a new CD that WILL playback on 440 hz.

Can mhWaveEdit do (the .WAV processing part of) this?

I know some programs are able to change the pitch without changing the tempo or anything, but I really don't mind if the tempo were to slow down a little. It's more a question of having the notes come out in proper concert tuning.

Thanks for any insights or advice in to the matter.

24 Jun 2004 10:34 covexx

Does what I need.
Great. This editor really does what I need. Without any worthless things. And 1.3.0 is even better...

23 Jun 2004 10:24 Frankzen

Sweep and Audacity killer :)
What a great editor - I have been testing out a bunch...and so far MHwaveedit does everything I need and more. The previous posters suggestions are good ones I'd like to see as well. Please don't leave GTK 1.xx behind either. Support for LADSPA plugins would be good but not mandatory.

Thanks

31 May 2004 05:03 tbandelo

keyboard shortcuts
Hi.

Until now have been using broadcast2000 as a dictation

machine and for splitting very large audio files (up to 3

GB) which i record from radio. But this program is not

supported anymore and doesn't work at all with

recent linux versions. So I'm looking for a good

replacement.

After checking several alternatives, it seems your

mhWaveEdit is the best to fulfill that task. Especially I

like it's handling of large files.

I only have a few tiny suggestions to enhance it even

more. The available keyboard shortcuts are already

very good. But to make the handling even faster, it

would be nice, if I could toggle the play/stop mode

with the space bar instead of alternating between ","

and ".". I would also appreciate a way to scroll left and

right with the arrow keys instead of the mouse.

Thanks for the good work.

Screenshot

Project Spotlight

ReciJournal

An open, cross-platform journaling program.

Screenshot

Project Spotlight

Veusz

A scientific plotting package.