negative1 wrote: http://awesame.org/soundmosaic/ i don't get it all. the demo doesn't help. and it doesn't really sound like anything close at all? is there some kind of use, or a better demo/sample? this doesn't seem to be very useful, or artsy at all.
The program is a tool. How it is implemented, anyone can interpret as useful or artsy. The bush-chimp sample is a progression from a low setting (think of a pictorial mosaic made up of 4 images) to a high setting (pictorial mosaic of 2000 images) The last bit you are hearing is George Bush's audio micro-sampled to recreate the chimp's vocals. Figuring out what level of sampling to use to 'hear and understand' the audio of Star Wars but also be able to pick out the audio qualities which represent the PT films will require trial and error.
Funcha wrote: This thread makes my brain hurt.
Go on.
Molly wrote: I think so, yeah. Not having gawk, mawk or nawk is prolly no big deal since awk is there.
Right the compiler seems to stop when it reaches an impasse. (for those learning along (as I am), awk is a program and there are versions. for instance 'new' awk is nawk: http://en.wikipedia.org/wiki/Awk
After almost 10 years, finally figured out how to install soundmosaic and use the program. (me 10 years ago: http://launch.groups.yahoo.com/group/databenders/message/312)
Here's a general description of the tasks/steps. I'm on a Mac so the C compiler is on the system install discs under optional installation. For OS10.6 it's called Xcode. Then in Terminal was able to begin the installation of audiofile-0.3.3. (http://www.68k.org/~michael/audiofile/ ) Following the README, first you cd to the folder and ./configure. (several pages of commands roll by) Then 'make'. (more pages) 'make check' then 'make install'.
$ make install
Making install in libaudiofile
Making install in modules
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
test -z "/usr/local/lib" || .././install-sh -c -d "/usr/local/lib"
/bin/sh ../libtool --mode=install /usr/bin/install -c libaudiofile.la '/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libaudiofile.1.dylib /usr/local/lib/libaudiofile.1.dylib
install: /usr/local/lib/libaudiofile.1.dylib: Permission denied
make[3]: *** [install-libLTLIBRARIES] Error 71
make[2]: *** [install-am] Error 2
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1
Got around the Permission denied by adding 'sudo' before the command which allows you to enter a password. And finally some happy words:
Libraries have been installed in:
/usr/local/lib
So then it's moving onto soundmosaic. which when it plays out correctly goes like this:
$ ./configure && make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether ln -s works... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for pthread_create in -lpthread... yes
checking for afOpenFile in -laudiofile... yes
checking for XOpenDisplay in -lX11... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... rm: conftest.dSYM: is a directory
rm: conftest.dSYM: is a directory
yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking malloc.h usability... no
checking malloc.h presence... no
checking for malloc.h... no
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking X11/Xutil.h usability... yes
checking X11/Xutil.h presence... yes
checking for X11/Xutil.h... yes
checking X11/Xos.h usability... yes
checking X11/Xos.h presence... yes
checking for X11/Xos.h... yes
checking return type of signal handlers... void
checking for getopt_long... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
make all-am
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c: In function ‘soundmosaic_collate_attempts’:
main.c:1219: warning: ‘temp_streams[0]’ may be used uninitialized in this function
mv -f .deps/main.Tpo .deps/main.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT soundmosaic.o -MD -MP -MF .deps/soundmosaic.Tpo -c -o soundmosaic.o soundmosaic.c
mv -f .deps/soundmosaic.Tpo .deps/soundmosaic.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT sm_utils.o -MD -MP -MF .deps/sm_utils.Tpo -c -o sm_utils.o sm_utils.c
mv -f .deps/sm_utils.Tpo .deps/sm_utils.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT server.o -MD -MP -MF .deps/server.Tpo -c -o server.o server.c
mv -f .deps/server.Tpo .deps/server.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT io_buffer.o -MD -MP -MF .deps/io_buffer.Tpo -c -o io_buffer.o io_buffer.c
mv -f .deps/io_buffer.Tpo .deps/io_buffer.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT client.o -MD -MP -MF .deps/client.Tpo -c -o client.o client.c
mv -f .deps/client.Tpo .deps/client.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT http.o -MD -MP -MF .deps/http.Tpo -c -o http.o http.c
mv -f .deps/http.Tpo .deps/http.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT resampler.o -MD -MP -MF .deps/resampler.Tpo -c -o resampler.o resampler.c
mv -f .deps/resampler.Tpo .deps/resampler.Po
gcc -DHAVE_CONFIG_H -I. -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -MT graphics.o -MD -MP -MF .deps/graphics.Tpo -c -o graphics.o graphics.c
mv -f .deps/graphics.Tpo .deps/graphics.Po
gcc -g -O2 -g -O2 -g -Wall -Wnested-externs -Wno-format -L/usr/X11R6/lib -o soundmosaic main.o soundmosaic.o sm_utils.o server.o io_buffer.o client.o http.o resampler.o graphics.o -lX11 -laudiofile -lpthread
May have done sudo for these commands as well.
And now for the testing. Listen to these two short files:
Twin Suns audio clip : http://noneinc.com/SWxTPM-4DWHUXGA/soundmosaic/Source-TwinSuns-SmallPiece.wav Soundmosaic considers this the target file, the one which is to be reproduced. Testing with a 7 second clip from the Twin Suns segment as the music builds.
Source clip : http://noneinc.com/SWxTPM-4DWHUXGA/soundmosaic/Source-TPMLD-TF-Theme1min.wav This is the material soundmosaic will reuse to recreate the target file. This is 25 second of TPM, some dialog before and after the Galactic Trade Federation theme, as they land on Naboo.
and here's the first two tests: (i recommend listening on a loop)
Command: soundmosaic --partition --tilesize=0.1 zsource/Source-TwinSuns-SmallPiece.wav zoutput/sw4d-test-001.wav zsource/Source-TPMLD-TF-Theme1min.wav
returns: http://noneinc.com/SWxTPM-4DWHUXGA/soundmosaic/sw4d-test-001.wav (took a few minutes)
On first listen it's difficult to hear what sound mosaic is up to. Soundmosaic uses a parameter called tilesize which in this case is .1 seconds long. At this length you can pick out that there are different origins, for instance I can hear some Padme dialog in the beginning and a few times at the end.
So for the second test cranked up the tile size from .1 to .01.
soundmosaic --partition --tilesize=0.01 zsource/Source-TwinSuns-SmallPiece.wav zoutput/sw4d-test-002.wav zsource/Source-TPMLD-TF-Theme1min.wav
returns: http://noneinc.com/SWxTPM-4DWHUXGA/soundmosaic/sw4d-test-002.wav (took maybe 10 minutes)
Although it's very choppy, you can begin to hear the Twin Suns theme emerge from the TPM audio.
Then went back to listen to the first test and it's a little clearer how the tones soundmosaic is picking up to recreate. The first quarter of test-001 I think is closer to where i'd like this to go.
Trying a third sample taking the first example and removing the --partition command, which increases the computational time but should be clearer. been processing for awhile.... (zero on the progress *'s after almost a half hour...)
On the visuals, have the RotS frames created and running off some of the Luke before and after the Twin Suns shot. Hopefully be able to post that this weekend or next week.