Home

SoundHack manual

image

Contents

1. SpectHeader 517730 for Csound files Erbe for SoundHack files byte offset from start to data usually sizeof SpectHeader number of bytes of data not includi ng the header short format specifier always 36 for floating point number of points in FFT number of bands 2 number of new samples each frame frames overlap bytes in each file frame frameBsize sizeof float frameSize gt gt 1 1 lt lt 1 this is either 3 for SoundHack files amplitude amp phase or 7 for Csound files amplitude amp frequency 0 0 maxFreq samplingRate 2 0 flag for log lin frequency always 1 for linear extendible byte area The subsequent frames of spectral data are organized asfollows frameFormat 3 typedef struct float amplitude float phase band band frameFormat 7 typedef struct float amplitude float frequency band band SpectralFrame frameSize gt gt 1 spectralframe l frameSize gt gt 1 amplitude and phase pairs amplitude and frequency pairs SoundHack file from 0 0 to 1 0 from 0 0 to 2 0 pi 1 Csound file from 0 0 to 1 0 from 0 0 to samplingRate 2 0 1 If the spectral file is stereo the frames are interleaved first left then right Included with SoundHack isthe source code fora simple spectral data processor Spectral Assistant which should illustrate how to read and write this format Command U QTCod
2. Create File If you have an input device this will allow you to record an AIFF soundfile You should first set your desired sample rate sample size and numberof channels and then click Create File to create the soundfile Once you have initialized the soundfile the popup menus will no longer be accessible Options allows you to change settings peculiarto your input device You will then be able to start recording by clicking Record Stop will stop the recording open the soundfile and add it to the SoundFile menu Some slower hard disks may cause glitches while recording at the highest rate Command O Open Hawaii alls 1 HawaiiCalls2 HenryMancini e HugoWinterhalter SamMakia SantofJohnny WebleyEdwards Sound Designer Il 44100 Stereo 16 Bit Linear Clicking Open All will open all of the soundfiles in the current folder Clic king Play will play the soundfile Soundfiles with the following file types will appear in this dialog box Al FF Audio Interchange File Format AI FC Audio Interchange File Format Compressed DSPs DSP Designer RCM BI CSF I RCAM MSND Ma c Mi x NxTs NeXT snd Sun au PICT PICT SCRN CSCR PICT Resource MooV QuickTi me Movie RIFF WAV Microsoft WAVE Sd2f Sound Designer Audi omedi a If the file doesn t have a Macintosh 4 character file type it will still appear in the open file dialog box provided it hasone ofthe following name extensions aifc aiff au irc sf snd
3. users manual version 0 888 Tom Erbe School of Music CalArts INTRODUCTION SoundHack isa soundfile processing program forthe Macintosh It performs many utility and esoteric sound processing functions available nowhere else These functions make SoundHack invaluable to computer musicians sound effects designers multimedia artists webmasters and anyone else who enjoys working with sound Sound Processing Time stretching or pitch shifting with the phase vocoderor varispeed Spatialize with the binaural filter e Cross synthesis between two soundfiles with soundfile convolution ring modulation or spectral mutation e Noise reduction spectral expansion or compression with the spectral dynamics processor Separate transient and steady state components with the spectral extractor e Use your own spectral algorithm with spectral analysis resynthesis and the spectral assista nt example code Save sonograms of your soundfile in QuickTime movies or convert QuickTime movies into sound by sonographic analysis Utility Functions Play almost any type of soundfile including AU AIFF and WAVE Record any size soundfile from the Macintosh sound input Import soundfiles from audio CDs e Convert between different types of soundfiles with optional gain scaling and sample rate conversion Change valuesin the soundfile header sample rate numberof channels loop points and marker info e Read and write Sound
4. Heu Rate EJ larispeed Hlarispeed Function Uory by Pitch Hor by Sc le Cancel Process One of the main features of SoundHack isthe ability to distort the timebase and or pitch of the soundfile In this example we will use a simple varispeed variable sample rate conversion to modulate both the pitch and timebase Open a soundfile as before command O Fume tion HIlnadnom 60 000000 Fs des HAP Cycles Clear Reverse L mert _ smm smanth write Read mene 24 553434 Semitones 20 22222 Bring up the Varispeed dialog by typing command V To enable varispeed ratherthan simple sample rate conversion click on the Varispeed box Now bring up the Draw Function Window by clicking on the Varispeed Function button see mouse arrow in picture above When the Draw Function Window appears draw a varispeed function by click dragging the mouse in the function drawing area see mouse arrow at left This varispeed unlike a tape varispeed is capable of a 12 octave range That is equivalent to a tape machine that has speeds from 0 5 to 1 920 inches per second so take advantage of this broad range Click Done in the Draw Function Window and Process in the Varispeed dialog to start processing On a 33MHz 68040 with the varispeed quality set to Medium the average processtime to real time ratio is 43 to 1 Slowing the soundfile takes more processing time as more sound is created
5. Try starting with the simplest ones the USIM a simple spectral crossfade and the ISIM a spectral replacement These two mutations unlike the UUIM and LCM actually arrive at the source ortarget depending on which direction you mutate that is you will actually hearthe source ortarget with Q 0 0 0r Q 1 0 respectively The IUIM UUIM and the LCM will with Q 1 0 give an image of the target These incomplete mutations mutate either the sign or the magnitude but not both of the intervals between the amplitudes of successive spectral bands The concatenations LCM IUIM LCM UUIM are pipes they apply the second mutation to the output of the first The concatenations are complementary foreach frame the LCM mutates sign while the IUIM and UUIM mutate magnitude Different frequency bins are used foreach stage of the concatenation so the mutation trajectory can be rather unpredictable Mutation Index OO Each of the mutation functions uses an index called Q omega oran Q function This determinesthe amount of spectral mix from O to 1 between the source and target resulting in the mutant Q 0 results in all source file Q 1 all target Q may vary overthe course of the mutation A constant index will result in a sound which isa spectral mix of the source and target More dynamic sounds are produced with an index function which changes Q overtime Absolute Interval There are two methods used by the mutation functio
6. AE Cycles 2 01 Clear Reverse L iwert samt 5manth ume Tone 20 210000 Degrees 154 66666 0 000000 then click on the ramp function icon see the mouse arrow in the picture to the left This createstwo cyclesof a ramp function which will control the azimuth angle during processing Now click the Done button in this dialog the Draw Function Window will disappear and then click the Process button in the binaural function dialog The Save Soundfile as dialog will now appear which hasoptionsto set the soundfile type and format You will probably just want to set the soundfile type to Audio IFFand 16 Bit Linear as this is the format most commonly used by sound editors After you clic k Save SoundHack will start processing All you need to do now is wait On a 33MHz 68040 the compute time to real time ratio is 55 to 1 that is it takes 55 seconds to compute 1 second of C narpsichord mpg E harpsichard snad L apt Soup SoundFile as T sound While processing the status playback window shown below will show the current positions in the input and output soundfilesaswellasa progress bar At any time you can pause the processing by typing command and listen to the output soundfile by pressing the spacebar After it is finished playing another command will start the processing again Ty Taa A Pa Toa Fa Fa Ta Fa 2 Time distortion nr 1 Quality Best Medium Fast
7. Designer Il Audio IFC Audio IFF BIC SF IRCAM DSP Designer Quic kTime AIFF Microsoft WAVE RIFF NeXT snd Sun au ULa w IMA4 TEXTand headerless raw soundfiles The rest of this document is a small tutorial in progress then a menu by menu description of SoundHack Please write me if you have any problemsor suggestions Tom Erbe CONTENTS Introduction Contents System Requirements Shareware Info On the Intemet New Featuresand Bug Fixes Tutorial File Menu Record New Open Open Any Close Close amp Edit Save a Copy Split Into Mono Files Pla y File Import SND Resource Export SND Resource Import CD Track Quit Edit Menu HackMenu Header Change Loops amp Markers Binaural Filter Convolution Gain Change Mutation Phase Vocoder Spectral Dynamics Varispeed Spectral Extractor Spectral Ana lysis QTCoder Normalize Draw Function SoundFile Menu Control Menu Show Signal Show Spectrum Show Sonogram Pause Process Continue Process Stop Process Load Settings Save Settings Default Settings Preferences Future Plans History of Bug Fixes And Revisions Bibliography Acknowledgments 15 16 17 18 19 20 22 26 27 28 29 31 32 33 34 35 36 37 38 SYSTEM REQUIREMENTS SoundHack requires System 7 0 to operate Sound Manager3 0to playback soundfiles and Quicktime 2 0 to import CD audio tracks and read and write sonogram
8. For a high fidelty encoding 120 dB seems sufficient Color Inversion inverts the RGB color values Afterthe QTCodercreatesthe QuickTime movie you will be able to open it in any QuickTime application and view edit or modify the sonogram After doing this you will be able to open the modified movie in SoundHack and convert it back into sound using the QT Coderagain One could also use the QTCoderto convert any QuickTime movie into a soundfile The resultant sound will tend to be repetitive it will also tend to be bia sed toward the high frequencies since the frequency in the frame is interpreted in a linearfashion Fall NFIH This function is rather experimental and am not quite sure what it will be good for yet For future versions am working on an exponential frequency encoding scheme as well ascolor schemes which follow visual perception models name that tune Command Nommalize This doesa simple no questions asked normalization of the selected soundfile Draw Function Window This window allowsforthe creation of control functions It actually createsa function of 400 entries one per pixel which isthen interpolated on during processing The function controls either binaural position mutation index degree of time stretching amount of pitch shifting or degree of varispeed depending on which process you are using To create a control function you can simply draw in the function window your mou
9. Foran interesting convolution it is good to start with sounds that have spectra which are neithertoo similar nor dissimila r Lanuolue with Impulse Response Length U sed 0 1 KBytes Needed 682 bain GU dE 24 dB 42 dB Window Dee Ring Modulate J Brighten k J Moving Normalize Cancel vein Pick Impuise Process Open one of the two source soundfiles by typing command O Type command C to bring up the Convolve dialog Open the second of the source soundfiles by clicking on the Pick Impulse button Click Moving to have convolution move through the second soundfile otherwise this process will convolve against a fixed segment of the second soundfile Click Brighten to avoid over attenuation of high frequencies Select Tangle in the Window popup menu to smooth the convolution If you preferan unsmoothed convolution select Rectangle Now set the Length Used number This is used to designate how much sound gets processed in each block You can treat this number like the decay time of a reverb because convolution hasa sound which is like a very complex i Rindiltlilliams E TennesseeErnieFord E tliclBamone E Wayneking Desktop Ses C AndyWilliams TennessaeErnieFarid Cancel Fue Format 32 Bit Floating P w Soup SoundFile as tuned reverb A length of 0 1 seconds 100 milliseconds isa good place to start For higher settings of Length Used the memory requirement increases
10. exponentially Now that everything is set click Process Because the gain in convolution is unpredictable save the new soundfile in a format with a large dynamic range When the Save Soundfile as dialog appears select a File Type of NeXT snd and a Hle Format of 32 Bit Hoating Point Click Save and wait dB O Fined Channel 1 Channel 2 Peak Value 46 9037 39 0939 Peak Position 2126 2735 Ris Value 71 0970 63 5911 DC Offset 0 000000 0 000000 Added Offset Analyze Cancel Changg Gain Once your convolution is done you will need to convert the new soundfile from a floating point format to something usable usually 16 bit linear You will also need to adjust the optimum gain forthis conversion To do this select the new soundfile then type command G The Gain Change dialog will appear Clic k Analyze to find the peak amplitude then click Change Gain to create a new normalized soundfile In the Save Soundfile as dialog set the File Format to 16 Bit Linear Convolution isthe fastest of SoundHack s functions Fora moving convolution with a 33MHz 68040 and 44100 monaural soundfiles the processtime to real time ratio is 14 to 1 6 Noise reduction As you have seen in the previous examples much of SoundHack s processing involvesthe spectral analysis of an input soundfile and subsequent resynthesis of an output soundfile One very practical use of spectral analysis resynthesis is noise reduction where noise
11. minor updates from now on Make a suggestion for final features Time is running out Port to IRIX Linux Solaris Rhapsody Wintel AppleEvents and scriptablity MPEG Spectral plugi ns 89 Mark Dolson phase vocoder enhancements Simple graphic filtering SDS SDI TX16W OMF Sonic ProTools AIFF resource soundfile formats QT coder log frequency sonograms new color encodings Buffered read and write routines BUG FIXES AND REVISIONS 88 QT coder changes soundfiles into QuickTi me movies into soundfiles 248632 bit SDII files IMA4 MACE3 MACE6 alaw and uLaw AIFC files aLaw Sun files 32 bit float AIFC files compatible with Mills Csound Peak sample saved in all 32 bit float files 32 bit float playback QuickTi me ALFF files fixed Increased sample rate conversion quality Motorola s libmoto library integrated into app Looping playback WAVE loops and markers Enhanced Draw Function dialog Functions work much more predictably with varispeed no more fast high pitch slow low pitch Tiny soundfile playback fixed 3rd octave band grouping added to spectral dynamics and irregular mutation 87 Spectral files are now treated as soundfiles Simple spectral analysis resynthesis added Quick normalization added Many cosmetic GUI changes New binaural filters added Spectra dynamics will trigger on an averaged amplitude value good for hiss removal Draw function debugged for the umpteenth ti me Preferences are now savable 8
12. to which successive mutation intervals are emphasized in the resulting mutant DE values range from 1 0 to 1 0 with the default at 0 0 no emphasis or de emphasis Forpositive DE values the current frame s intervalic characteristics will be emphasized more than the previous mutant frames For negative values the current frame will be damped emphasizing the previous information One way to think about this isasa way of slowing down the mutation a negative DE value will keep the more chaotic mutations from getting out of control A negative DE value will function asa low pass filter averaging the previous spectral frames into the current output Positive DE values will accentuate the often high frequency activity of the mutations Delta Emphasis can be useful in tailoring the relative interval mutations especially the incomplete ones Band Persist Imegular Mutations Only Band Persist pertains only to iregular mutations the LCM ISIM IUIM and the concatenations and not to uniform mutations the USIM and UUIM It will only appearon the screen when irregular mutation is selected High values for Band Persist towards 1 0 will produce more stable mutations Low values towards 0 0 will introduce a kind of frequency pumping atthe frame rate Try changing the number of bands for unusual results In iregular mutations not every frequency band is mutated foreach FFT frame Q determinesthe percentage of bandsthat are mutated fora g
13. wav WAV ESE awakening of the city Sample Rate 44100 000000 Length 19 999660 Channels 2 Type Audio IFF Format 16 Bit Linear Once the soundfile isopen itisadded to the SoundFile menu and the soundfile information dialog box appears Thisdialog box givesthe name sample rate length in seconds number of channels type and numeric format of the soundfile You are no longerrestricted as you were in earlier versions of SoundHack to having only one soundfile open at a time The file with the front most dialog box which I will referto asthe selected soundfile is used asthe input soundfile to the processes underthe Hack menu Files can be opened with the open document Apple Event O DOC in SoundHack version 0 860 and later Command A Open Any This doesthe same asabove but makes no attempt to read the soundfile header This is useful when opening headerless damaged and text soundfiles Text soundfiles should be formatted so that each line isa fixed point sample Here isan example of how the text should look 0 054688 0 015625 0 007812 0 015625 0 000000 0 117188 Soundfiles opened with Open Any must be saved to anotherformat before being processed You should set the proper sample rate and data format with the Header Change dialog before making this conversion Command W Close Closesthe selected soundfile Close amp Edit This is available if you have selected a soundfile editor i
14. 3 Pitch shifting SoundHack provides pitch shifting without time scaling with a technique known asthe phase vocoder In this technique the sound to be shifted is sent into a bank of band pass filters which are evenly spaced from 0 Hz to half the sample rate SoundHack measuresthe amplitude and phase for each frequency atthe output of this filter bank These amplitudes phases and frequencies are used to control a bank of oscillators Pitch shifting simply involves multiplying each frequency by a factor Phase locoder Bords 512 Dverkap is Band Freq Spacing 45 066406 Window Hemming semitone Shirt se 12 000000 CC Time Scale a Pitch Scale O scaling Function 4 Resynthesis Gating Minimum Amplitude der ED Threshold Under Mas ldbl 6D Inthisexample you will shift a soundfile up one octave You should open a soundfile as you did in the previous example command O Pitch shifting is not limited by sample rate ornumber of channels any type of soundfile will work However this effect sounds best with sounds that are not harmonically dense If more than one partial appearsin any band ofthe filter bank inter modulation distortion will result in that band Once you have opened the soundfile to be processed type command P and the Phase Vocoderdialog will appear see box at left Here there are many options most are related to particulars of the analysis filter bank and most can remain at their default set
15. 6 The shareware version now is just the 68k version Multiple soundfiles supported Another sample rate conversion bug errant pointer deallocation squashed CD Audio import added Channe splitting added 85 Soundfile playback now works for all soundfiles which are 8 bit twos raw or uLaw or 16 bit linear twos The apple events for open and quit application added Spectral dynamics fixed again 84 Separate display windows for most signals added Sonogram wi ndow added Off screen drawing keeps windows updated Most all dialogs now modeless 83 Popup bugs fixed convolution brightening added 82 Soundfile recording has been added 815 24 and 32 bit AIFF and AIFC supported 81 Spectral extraction added Spectral dynamics now allows threshold to be set relative to the peak amplitude in a block of sound 803 6 Various bug fixes A full disk now stops any process Samples which are too loud now clip instead of going out of range Greater post convolution gain is now possible Normalization no longer clips The packmode no longer changes when a new soundfile type is selected Mixed stereo mono mutation no longer crashes 80 Split into shareware 0 74 and commercial 0 80 versions Added Mutation functions Ported to the Power Macintosh 14 Fixed early ending sample rate conversion problem Fixed the Spectral display Added attack decay time to spectral dynamics A moving binaural effect is added Allow raw data files to have text packmo
16. 92 Binaural filtering and process control added Convolution and NeXT Sun file formats added Sound Designer II files and Header change added First release of SoundHack converts AIFF files to IRCAM and back Fall 1991 BIBLIOG RAPHY Apple Computer Inc Inside Macintosh Volume 1 6 Addison Wesley Reading Mass 1985 91 Begault Durand R Control of Auditory Distance Ph D dissertation University of Califomia San Diego 1987 Begault Durand R 3 D sound for virtual reality and multimedia Academic Press Professional Cambridge MA 1994 Blauer J Spatial Hearing MIT Press Cambridge Mass 1983 Dolson Mark The Phase Vocoder A Tutorial Computer Music Joumal 10 4 1986 Ellis Dan pvanal c part of the Csound distribution MIT 1991 Gordon J W and Strawn J An Introduction to the Phase Vocoder Digital Audio Signal Processing An Anthology editor Stra wn Kaufmann Los Altos Calif 1985 Mark David and Reed Cartwright Macintosh C Programming PRIMER Volume I Addison Wesley Reading Mass 1989 Moore F Richard Elements of Computer Music Prentice Hall Englewood Cliffs NJ 1990 Polansky L More on Morphological Mutations Recent Techniquesand Developments Proceedings of the ICMC San J ose 1992 Polansky L and McKinney M Morphological Mutation Functions Applications to Motivic Transformations and to a New Class of Cross Synthesis Techniques Proceedings of the ICM
17. C Montreal 1991 Reed C E and Passin T B Signal Processing in C John Wiley New York NY 1992 Settel Z and Lippe C Real time Musical Applications using FFTI ba sed Resynthesis Proceedings of the 1994 Intemational Computer Music Conference Diem Aarhus Denmark 1994 Vaseghi S and Frayling Cork R Restoration of Old Gramophone Recordings J oumal of the AES 40 10 1992 ACKNOWLEDG MENTS Betsy Edwards for unending support forteaching me how to write and for editing this long winded and technical document e m we Larry Polansky for his mutation functions for helping me edit this document and for his unending encouragement criticism and support Dr Durand Begault of NASA Amesfor letting me use his binaural filter coefficients F Richard Moore D Gareth Loy and Mark Dolson for my initial exposure to the wonders of computer music Dan Ellis of MITs Media Lab forhelping me with the Csound analysis feature Zack Settel for relating his work on spectral extraction to me Scott Morgan and Geoff Hufford for all their Macintosh toolbox help Tim Walters J eanne Parson Kent Clelland Vincent Carte George Taylor Zach Belica Phil Burk Curtis Roads Richard Boulanger douglasrepetto and many others for their many comments bug reports and encouragement The Bregman Electro Acoustic Music Studio at Dartmouth College for sponsoring my initial PowerMacintosh development The Center for Contemporary Music at
18. M UUIM LCM LCM IUIM LC M UUIM produce different typesof timbral cross fades Each mutation takes 2 soundfiles a source and a target and retums a third soundfile called the mutant The mutation functions operate on the phase amplitude pair of each frequency band of the source and target spectra The output of the functionsisa phase amplitude pairfor each frequency band in the mutant soundfile Each phase amplitude pair in the mutant is some combination of the phase amplitude pairs of the source and target forthe comesponding frequency band The mutations work on the sign Contour orthe magnitude of an interval orboth They change completely a selected numberof bands from the source to the target Irregular or partially change all frames Uniform Type The Type box allows you to select between seven quite different mutation functions USM Uniform Signed Interval Mutation ISIM Iregular Signed IUIM Imegular Unsigned UUIM Uniform Unsigned LCM Linear Contour Mutation and the concatenations LC M IUIM and LCM UUIM For specific definitions of the functions see below For more information see the two articles cited in the bibliography Bands Type Mutation Index 9 0 500000 Function Band Persist 0 gt 1 0 96000 E Absolute Interval Source Abs Value 0 gt 1 0 10000 Target Abs Value 0 gt 1 0 10000 Time Scale Target Pick Target Mutation Target holiday for Cancel Process
19. Mills College and the CalArts School of Music for sponsoring all of the rest of my activities All the wonderful people who sent me their music including cw4t7abs Murray Anderson Michael Angell Marc Battier Eve Beglarian Eric Belgum Dan Bertolet Philippe Blanchard Greg Boddy Gregory G Booth Chris Brown Richard Brown Ray Brunelle Kim Cascone Damian Casta ldi Rudolfo Caesar Jim Croson Matthew Davidson Xopher Davidson Bruno Degazio Rohan De Livera Paul DeMarinus Denis Dion Paul Doombusch John Duesenberry David Eagle Ambrose Field Devin Fleenor Ryan Francesconi Howard Fredrics S rgio Freire Joshua Fried Christopher Frye Alex Garvin Raviv Gazit Mark Geller Marco Giommoni Robert Gibson Chris Grigg Ray Guillette Bemard G nter Jose Halac Geln Hall J eff Hass Patrick Heilman Peter Heijens Robert Henke Brian Hill Steev Hise Naut Humon John Hudak Joseph Hyde ivind Id so Katchy Utah Kawasaki Leif Keane Jim Keiser Mendel Kleiner Michael Lande Richard Lerman Gregory Lenczycki Daniel Lenz Polar Levine Eirik Lie Eric Lyon Alistair MacDonald A M McKenzie Chris Meyer Steve Miller Toshika zu Mina mi Diego Minciacchi Eric Moe Gary Lee Nelson Loren Nerell Yuko Nexus6 NORSCQ Joao Oliveira Jim O Rourke Bob Ostertag John Oswald Bernard Parmegiani Nye Parry Michel Pascal Maggi Payne Heather Perkins Richard Pinhas John Pospisil Richard Power Christopher Preissing Trent Reznor R
20. analyzing a soundfile This soundfile s amplitude spectrum is used for the thresholds for each band This is especially useful if there isa sound that one wants to emphasize or de emphasize hiss or hum Most controls are self explanatory The first popup menu allows you to select the type of processto use gating ducking expansion or compression The second popup sets the number of filter bands to separate the sound into 512 isa good compromise forthe number of bandsata 44100 sample rate as each band is about 43 Hz apart and the filters used have a 512 2 44100 or 023 second delay In other words a pretty good frequency resolution provided no partials are closer than 43 Hz and not too much time smearing The Highest Band and Lowest Band boxes allow one to limit the frequency range affected 3rd Octave Band Grouping causesthe bandsto be grouped with a 3rd octave spacing with a threshold triggerforeach group instead of each band This octave grouping may give a more natural sounding dynamics process The next box is either labelled Gain Reduction Expand Ratio or Compress Ratio It allows you to set the amount of gain or reduction for the bands which are past the threshold when gating For compression and expansion it allows you to set the gain ratio When affecting sounds below the threshold the compressorand expanderhold the highest level steady and affect lower levels also known as downward expansion or compression When the pr
21. arispeed calculations cleaned up memory allocation especially for convolution added ring modulation spectral convolution cleaned up dialog annoyances Made output window resizable and made it white on black like a scope Added bibliography Screen Added varispeed processing added many things to the function dialog Added TEXT soundfile format Added interpolation sinc and number of cycles to function dialog Added ramp enveloping of impulse to convolution Added popup menus Added function window for multirate phase vocoder Sped up pitch transposition significantly allowed pitch transposition by semitone and time warping by desired length Added the phase vocoder phase vocoder Csound analysis and show output Fixed problem with normalization after moving convolution Added moving convolution Fixed problems with 8 bit AIFF files AIFF files used to read everything from SSND chunk to EOF now only SSND chunk is read The Binaural processor often destroyed AIFF headers think have this fixed DSP Designer files are now written as well as read though have no way of checking please DSP Designer users give me feedback Filter files are now closed properly after convolution Normalization feature disabled Binaural filtering now fixed Filter sensitivity added to Convol ve Normalize after processing feature added Dialogs adjusted for small monitors Gain change added 8 bit linear 8 bit mulaw and 32 bit float added Jan 19
22. at band in the previous frame of the output sound Relative Interval or some absolute amplitude value between 0 0 and 1 0 Absolute Interval Tint Sint and Mint are the signed magnitude intervals between the amplitude of the curent frame fora given band and the amplitude of that band in the previous frame Relative orto some fixed amplitude Absolute Each of the equationsbelow applies to one frequency band of the source target and mutant soundfile spectra In other words forall of these functions Si Ti and Mi run from O to the number of bandsin the FFT Si Sj Smag and Si Sj Si Sj Ssgn Uniform Signed Interval Magnitude USI M Mi M Sint Q Tint Sint where Sint and Tint are Ssgn Smag and Tsgn Tmag respectively Uniform Unsigned Interval Magnitude UUI M Mi Mj Ssgn Smag Q Tmag Smag Linear Contour Mutation LCM Mi Mj Tsgn Smag for mutated intervals Mi Mj Ssgn Smag general form for non mitated intervals Irregular Unsigned Interval Magnitude IUIM Mi Mj Ssgn Tmag for mutated intervals non mutated intervals same as LCM above Irregular Signed Interval Magnitude ISI M Mi Mj Tsgn Tmag for mutated intervals non mutated intervals same as LCM above Notes 1 In Absolute Interval mutations Mj the absolute amplitude to which the new interval isadded isinterpolated between the absolute values for source and target accord
23. cel Just asthe phase vocodertechnique allows pitch shifting without time scaling it also allows time scaling without pitch shifting In this example you will stretch a soundfile to twice its length Open a soundfile command O Asin the previous example Pitch shifting the results will be better for sounds which are not harmonically dense Type command Pto bring up the Phase Vocoder dialog Thistime click the Time Scale button and selectthe Scaling popup menu Type 2 0 in the boxto the right of the Scaling popup menu and click Process to start processing Foran interesting special effect set Threshold Under Max dB to 6 before processing This will allow only a few loud partialsto be resynthesized Phase vocodertime scaling is relatively fa st With a 33M Hz 68040 the process time to real time ratio is 69 to 1 5 Cross synthesis nr 1 Cross synthesis is the combining of two soundsto create a new sound This is done by analyzing and extracting significant characteristics from the two source soundfiles then combining these characteristics in the synthesis of the new soundfile SoundHack has two functions which perform cross synthesis convolution and mutation In this example you will try convolution Convolution takes two sounds analyses them for spectral content then multiplies the two spectra to create a new sound This emphasizes frequencies which are held in common and greatly reduces frequencies which are not
24. components are identified and reduced before resynthesis A very simple scheme for identifying noise components isto assume that any spectral component with an amplitude below a certain threshold is noise This works well when the noise isfairly constant and not too loud tape hiss for instance Open the soundfile as usual command O Type command Dto bring up the Spectral Dynamics dialog This is similarto a typical analog multiband dynamics processor except that here there are up to 4096 separate bands Expand Bands 2048 Lowest Band o 0 000000 Highest Hand 22050000 Expand Ratio 1 N zu se moothed Amplitude Affect Sounds Below Thresh CO Above Thresh C Threshold Relative to Peak Amp Threshold Level dE 70 0000C Use oundTile for Thresholds Hein Cancel Process For noise reduction set Bands to 2048 Set Type to Expand You could also use Gate for noise reduction but expansion givesa gentler amplitude reduction and sounds more natural The Lowest Band and Highest Band should be set to 0 and 2048 unless you want to limit the noise reduction to a particular frequency area as you would in 60 Hz hum removal Set the Expand Ratio anywhere from 1 5 to 3 0 A higher ratio will be more effective in reducing noise but may cause artifacts Set the Threshold Level anywhere from 50 to 90 dB slightly above the hisslevel If you are too close to the hiss level the dynamics processor will t
25. de and text files to have raw packmodes Fixed various GU complaints 0 743 Double clicked soundfiles now open correctly in all versions 13 12 ep 1 68 67 66 65 64 63 02 61 60 KE 58 bt 56 x99 54 Fixed varispeed clicking for the third time Fixed the output soundfile dialog Ported the code from Think C to Codewarrior Spectral display is now broken and needs to be redone disabled for the present Fixed 16 bit Microsoft RIFF WAVE file bug Fixed a minor bug which caused spectral dynamics crashing Also fixed a typo thank you Phil Burk Added spectral dynamics process Added AIFC and Microsoft WAVE file support Added 4 bit ADPCM Opens double clicked documents More types show up in Open menu item Fixed stupid error about number of bands in the phase vocoder and the spectral dynamics processor It used to refer to the number of FFT points used it now correctly refers to the number of filter bands used Added import and export of SND resources Limited soundfile playback to AIFF and AIFC until Apple comes up with a stable sound manager Sound Manager 3 0 is required for playback of 16 bit files Added a limited spectral gate to the phase vocoder Fixed old bug in pitch shifting Added soundfile playback Added windowing selection for both convolution and the phase vocoder Added Vary by Pitch Vary by Scale selection in varispeed Fixed crashing at the end of long v
26. e This is also done automatically on startup to the SoundHack Preferences file in the System Folder Preferences folder Save Settings This will create a settings file which containsthe current settings from the binaural convolution spectral analysis spectraldynamics mutation phase vocoder varispeed gain and preferences dialog panels This is done automatically when you quit SoundHackto the SoundHack Preferences file in the System Folder Preferences folder Default Settings This will reset all intemal settingsto a default set Recommended if you suspect your SoundHack Pref file is corrupt Preferences Select Editor JPeak 2 0045 PPC M4 Default Soundfile Type File Type Audio IFC File Format 32 Bit Floating Po This allows you to set a few things You can set SoundHackto automatically play a soundfile when it isopened Thisisa very nice wayto setthings if you are using SoundHack as your web browserhelperapplication If you set an editor then you can use the Close amp Edit command described earlier The Default File Type when set will give you the selected file type and format whenever you create a new soundfile Pay On Open will play the file as soon asit isopened Play After Processing will pla y the output file assoon asthe Current Hack process is done with it FUTURE PLANS 1 0 SoundHack is finished Tom and Betsy take a holiday 90 Last major release only bug fixes and
27. er Bands Band Freq Spacing 172 265625 window APhase Center Color Amplitude Range dB 120 00000 Color Inversion This function will convert your soundfile into a QuickTime movie and will convert the QuickTime movie back into the same sound You can also tum any QuickTime movie into a soundfile The QuickTime movie will contain a series of sonograms representing your sound The sonograms have linear frequency on the vertical axis and time on the horizontal axis Color saturation is used to represent ampiltude and hue is used to represent delta phase There are very few settings in this function The numberof bandsone chooses will affect the size of the movie frame 256 bands will require a 343x257 frame a 4 3 aspect ratio Since the QTCoderuses 32 bit uncompressed images it consumes a lot of memory and the memory need increases exponentially as the number of bandsincrease For example a 512 band monaural QT Coding will require about 3 megabytesallocated to SoundHack Window selects the FFT windowing function Kaiser is best forband separation Hamming is best for smooth band transition The choice of window is probably not critical to most uses of this function APhase Center Color selects which color will represent a A phase change of zero degrees This color usually becomesthe predominant color in the sonogram Amplitude Range dB determines which sounds are encoded in the QuickTime movie
28. es specify the amount of change allowed during each analysis frame In this exa mple if the harmonic deviates by more than 5 hertz in 0 035 seconds it is put into the transient soundfile if the harmonic deviates by lessthan 2 hertz in 0 035 seconds it is put in the stable soundfile This function draws heavily from the work of Zack Settel and Cort Lippe on the ISPW workstation using Max DSP Thank you Zack and Cort for sharing a great idea Command Spectral Analysis Resynthesis Spectral Analysis Bands Overlap 18 v Band Freq Spacing 43 066406 windows Hamming Type 5 SoundHack amp Csound Cancel Process This function will create a Csound orSoundHack format spectral data file from a soundfile analysis or create a soundfile from either format spectral data file resynthesis With this you can create filesto be used with Csound s pvoc unit generator or for you to use with yourown programsto processthe spectral data directly The format of the spectral data file a limited version of the Csound pvanal format is a header followed by multiple frames of spectral data Here isa C structure describing the header typedef long long long long float long long long long long float float long char struct magic headBsize dataBsize dataFormat samplingRate channels frameSi ze framel ncr frameBsize frameFormat mi nFreq maxFreq freqFor mat info 4
29. functions can be classified as follows Uniform Sign Magnitude USI M yes yes yes I SIM no yes yes UUI M yes no yes I UI M no no yes LCM no yes no Note that the opposite of imegular is uniform Uniform mutations do something to every frequency band How much they do dependson Q Iregular mutations change a given frequency band completely from source to target sign magnitude orboth but the numberof frequency bandsthey operate on depends on Q Note that there is no UCM given here it wouldn t make sense The USIM and the ISIM are the simplest mutations a spectral cross fade and spectral band replacement respectively The UUIM and the IUIM are two different ways of pasting the magnitude differences of the target spectra onto the sign of the source resulting in a mutant which when completely mutated is still some combination of the source and target The LCM perhaps the most unusual sounding and difficult mutation to control doesthe opposite pasting the signs of the target onto the magnitudes of the source The functions are defined below Sand Tare the source and target soundfiles Si Ti are the amplitudesfora given frequency band of the FFTforthe ith frame of the sound Sj Tj are eitherthe amplitudes of the same band in the previous frame Relative Interval or some absolute amplitude Absolute Interval Mi isthe new amplitude of the given frequency band of the current frame of the output sound Mj isthe amplitude forth
30. here is also a MP3 station for SoundHack users Go to http shoko calarts edu tre freesound pl for infomation on listening or submitting work RELEASE 0 880 New Features The QTCoder a sound to QuickTime Movie to sound converter Put your sounds through After Effects synthesize a graphic score Tum your home movie into a rhythm track The varispeed function now mapscorrectly to the output file time Playback enhancements looping playback with control space and a playback after processing option is added to the Preferences dialog Loop amp Markerfeatures WAVE loop and markers are now read and written the loop and marker dialog now uses sample numbers instead of time The fast motorola PPC math library is built into this version New read and write types SDII 24 amp 32 bit linear Sun Next alaw AIFF C aLaw uLaw 32 bit floating point MACE3 MACE6 and IMA4 New playbacktypes alaw and 32 bit floating point DrawFunction panel enhancements a random function a mean value can be set and the function can be normalized Increased sample rate conversion quality An even stranger auto naming function A new splash screen with flashy messages Bug Fixes AIFF usesthe common chunk order AIFF uses correct blocking and chunk boundaries AIFF AIFF C and WAVE no longeroverrun the end of the sound chunk no end of file click c Large Kaiser windows don t crash program T Playback retums to beginning af
31. ing to the value for O 2 The Imegular mutations are in two forms one for the case when that particularfrequency band is chosen for mutation one for when it is not More Information and Acknowledgments For more on morphological mutations including their use in other contexts please contact Larry Polansky at Dartmouth College Bregman Electro Acoustic Music Studio Music Dept Hanover NH 03755 email larry polansky dartmouth edu Various students at Dartmouth including Chris Langmead Eric Smith Steve Berkley and Martin McKinney have provided invaluable assistance overthe past few yearsin helping me to formulate both the spectral mutation ideas and accompanying software techniques Ken Overton Sergei Kossenko and Chris Langmead all contributed valuable suggestionsto this documentation Command P Phase Vocoder m Phase Vocoder Bands verlap 1w v Band Freq Spacing 10 766602 Window Hamming 7 i Time Scale 4 Pitch Scale O Scaling Function C Resynthesis Gating Minimum Amplitude dB 79 Threshold Under Maus dB This process allows one to change pitch without changing the length of the soundfile orto change length without changing pitch It doesthisby extracting amplitude and phase information for from 8 to 4096 frequency bands with a bank of filters If time stretching is desired these phase and amplitude envelopes are lengthened or shortened fortime compression and then g
32. iven frame If a band is mutated it completely assumesthe particular characteristic interval sign or magnitude of the target interval and retains eitherthe sign orthe magnitude of the source interval For example the LCM takesthe sign of the target interval and pastes it onto the magnitude of the source However it only does that for Q of bands The selection of which bandsto mutate in imegular mutations is done stochastically but setting Band Persist high will ensure that once a band is mutated it will keep being mutated aslong as possible That is why a high value for Band Persist will stabilize these highly unusual mutations making them a bit more well behaved A good experiment isto try an iregular mutation LCM IUIM ISIM the concatenations with a fixed Q and two different values of Band Persist one high and one low Time Scale Target The form of the mutation functions used in SoundHack require that each soundfile source target mutant be of equal length The default technique is to truncate the longer of the two files producing a mutant which is the length of the shorter file If Time Scale Target is checked the target soundfile will be time stretc hed or compressed to be of the same length asthe source Other techniques are of course possible including windowing and zero padding and we encourage other software developers to investigate these Theoretical Descriptions of the Mutation Functions The mutation
33. iven to a bank of oscillators with corresponding frequenciesto the filters For pitch shifting the envelopes are untouched and given to a bank of oscillators with frequencies related by the pitch ratio To use the phase vocoder set the number of Bands to the number of filter oscillator pairs one would like to use A large numberof bands will give one better frequency resolution a small number of bands will give one better time resolution The Window menu allows one to chose different pre FFT windows for different filtering characteristics Only the Hamming von Hann and Kaiser will give good results the others are there only because wanted to use a single menu throughout the program forall window selection The Overlap setting adjusts the size of the filter window relative to the numberof filter bands for analysis and synthesis and thus the sharpness of the filter A large setting 4x will give the sharpest filter A sharper filter will differentiate betterbetween frequencies which are between bands but respondsto amplitude changes sower Clickthe Time Scale button fortime scaling Pitch Scale for pitch scaling Type the scale factorin the Scale box Click on the word Scale a popup menu to specify time scaling by the length desired or pitch scaling by equal tempered semitones If one wants the time expansion factor or the pitch transposition factorto change during processing click the Scaling Function box and the Draw Function but
34. me asno window atall Checkthe Normalize box if you want the output to be normalized after computation The Moving box allows you to perform a moving impulse response convolution In this processa window movesthrough the impulse response file selecting a new impulse response after every block of processing The window size is set in the Length Used field This window movesthrough the impulse response file at a rate which insuresthat the endsof the impulse response file and the input file are reached atthe same time For example if your input file is 10 secondslong and your impulse response file is 5 secondslong and you have set Length Used to 1 0 for 1 second impulse response windows the process would look something like this Input File 10 seconds long PAP Bic DIE F s uxtit os Impulse Response File 5 seconds long alslelalelsfelnlili Output File A ab B bc C cd D de E ef F fe G gh H hi I ij 510 g The first 1 0 second frame of the input file A will be convolved with the first 1 0 second frame of the impulse response file ab Then the window on the input file is moved 1 0 second forward to B but the window on the impulse response file is moved only 0 5 secondsto bc Thisis so both files will finish at the same time Actually the impulse response file reachesthe end first and the last impulse response is zero padded In the other case when the impulse response file islongerthan the soundfile sections of
35. n Preferences It closesthe selected soundfile sets its file type to be the same asthe selected editor and sendsan AppleEvent to the Finderto open the document Occasionally this does not work the file just reopens in SoundHack because the Finder does not alwayscatch that you have changed the file type Command S Save A Copy Save SoundFile as HugoWinterhalter Copy File Type Sound Designer e File Format 16 Bit Linear T Savesa copy ofthe selected soundfile in any supported soundfile format This isthe main command for those of you who are just copying from one soundfile format to another Split Into Mono files This will divide a stereo or quad soundfile into multiple monaural soundfiles This will be useful forthose users who create quad soundfiles with C sound or C mix and need to get the files into a more portable format This may also be useful to those who are using Pro Tools Deck or Sonic Solutions which currently imports only monaural AIFF files Soundfile splitting does not work with 24 bit soundfiles Space Play File This will pla y the selected soundfile if it is 16 bit linear 8 bit linear unsigned ulaw encoded alaw encoded 32 bit floating point or ADPCM You cannot play soundfiles while processing sound However playback will be enabled if you pause the process Command You can start playback from any point in the file by using the slider in the process windo
36. n the open soundfiles The first ten soundfiles open are given command key equivalents Command 1to Command 0 CONTROL MENU Show Signal Output Signal ALL 0 371519 0 743039 This will bring up a window to show the sound wheneverSoundHack readsor writes sound except during file copying and normalization There are separate windows available forall active soundfiles Show Spectrum Input Spectrum rin 16537 Input Channel 1 Peak Frequency Band 129 1992 This will bring up a window to show the spectral data in all spectral operations most everything but varispeed which I do in the time domain There are separate windowsavailable forall active soundfiles Show Sonogram Input Sonogram This will also show spectral information but overtime Intensity isrepresented by different colors where purple red isthe lowest intensity green is mid intensity and bright red isthe highest intensity This display will Slow down any Macintosh dramatically Pause Process This allows you to pause during a long process This is especially useful if you would like to here the sound you have processed so far If you are running a convolution it sometimes takes a while to pause up to 3 minutes on a slow Mac Il Continue Process This will resume processing where you left off Stop Process This will kill your process and close the output soundfile Load Settings This loadsa previously created settings fil
37. nds The bandsare spaced evenly between OHz DC and the Nyquist frequency half the sample rate For example if you choose 1024 bands and your sample rate is 44100 you will have a new frequency band every 21 53 Hz 44100 1024 x 2 Command H Header Change Length Sample Rate 44100 000000 Channels 31 amp 2 54 File Format Allows you to change the sample rate numberor channels and data format of the selected soundfile If you open a headeness file you should use this dialog to set things properly before saving a copy Command L Loops amp Markers Marker No Markers Marker Time Loop No Loops Loop Start Time Loop End Time Below values for AIFF amp AIFL only Low note Base note High note Detune bain o High Velocity Low Velocity This menu allows you to change loop pointers and marker locations for soundfiles in AIFF AIFC WAVE and Sound Designer Il formats It also allows you to change AIFF AIFC specific information Command B Binaural Filter This process allows you processa monaural soundfile creating a stereo file The result isa signal at a simulated position around the head This is done by using a Binaural Position Filter Angle Height Moving Angle Cancel Process HRTF head related transfer function asa filter with a separate function for each position around the head To use the binaural filter e
38. nsto compute intervals between frequency bands Absolute the default and Relative You may checkoruncheckthe Absolute Interval boxto get these two methods If Absolute intervals are used you may specify an absolute amplitude value between 0 0 and 1 0 forthe source and target Source Abs Value Target Abs Value from which all intervals will be taken The choice of valuescan produce interesting effects often centering the frequencies in which the mutation happens making the mutations themselves less extreme If two different values are used amplitudes will be transposed from the source to the target The use of Absolute intervals ratherthan Relative will be most noticeable forthe LCM IUIM and UUIM aswell asthe concatenated mutations Low values around 1 2 are a good place to start note that 1 means 1 10th of the total amplitude of the soundfile s spectra If Absolute isunchecked Relative intervals each mutation function uses amplitude intervals between successive framesof the spectra multiplied by Q to create the corresponding frame of the mutant sound Relative interval mutations will tend to drift often in extreme ways and the ISIM and concatenated mutations may never arrive However some very interesting sonic results may be produced in this way Delta Emphasis If the mutation uses Relative Intervals Absolute Interval box unchecked you can set a value for Delta Emphasis DE DE allows control overthe degree
39. nter the desired position in the Angle text box in degrees orclick the appropriate radio button This processing module has filter data for 12 positions If you enteran angle between 2 positions you will get a filter which is the mix of the 2 filters around it The Moving Angle box will allow you to do moving spatialization These HRTFs were obtained by Durand R Begault using methods described in 3 D Sound for Virtual Reality and Multimedia Academic Press ISBN 0 12 084735 3 Command C Convolution kBytes Needed 754 Gain 20 dB CO 24dB 42 dB Window Rectangle e Ring Modulate Brighten O moving Normalize This process takes 2 soundfiles an input the selected soundfile and an impulse response file It multiplies the spectra of the 2 files together producing a new soundfile The effect isa type of cross synthesis in which common frequencies are reinforced In this implementation of convolution the sound is processed block by block with each blockaslarge asthe impulse response The Length Used window allows you to designate how much of the impulse response file to use The kilobytes Needed number is an estimate of the application memory size that needsto be set for processing If you want to use large impulse responses that is convolutions which cause this numberto go over 1200 the default size you will have to quit SoundHack and reset the application memory size SoundHack attempts to automatically
40. obert Rich Jeremy Roberts J ran Rudi Dirk Specht Bruno Spoerri Can Stone Hans Timmermans Mark Tinley Felix Tod Barry Truax Hans Vallden Chris Vrenna Tim Walter Jeremy Wells Micheal White Beth Wiemann Bob Willey Michael Winnerholt J ustin Winokur Stephan Wittwer Erling Wold James Wood
41. ocessis set to affect sounds above the threshold the compressor and expander hold the threshold level steady and compress expand up from there Use Smoothed Amplitude to avoid abrupt gating Instead of comparing the input soundfile directly to the threshold a windowed average ofthe input is compared to the threshold This setting allowsone to reduce the martian voices effect a common problem in spectral dynamics processing and is particularly nice for hiss and hum removal Attack Decay Time allows one to set the speed that each triggered band opensorcloses The default is the minimum time forthe number of bands used If this value is set too slow one loses tra nsients too fast and you start modulating the soundfile whistling sounds Threshold Level is where you set the threshold level If you check Threshold Relative to Peak Amp the threshold is now set relative to the peak amplitude for each block of sound processed For example if you are using the spectral gate and the loudest frequency band forthe current block of sound hasan amplitude of 12 dB and the threshold is set at 40 dB the gate will be active for sounds below 52 dB Command V Varispeed BU Quality gt Best Medium i Fast Nei Rate Uarispeed Darispeed Function Vary by Pitch Vary by Scale Cancel Process This function isa high quality sample rate convertoraswellasa variable sample rate conversion utility varispeed The Varispeed b
42. ox enables this feature The Varispeed Function button will bring up the Draw Function Window giving one control overa 10 octave varispeed The Quality buttons give one control overthe size of smoothing filter used and the resultant quality of interpolation decimation The Vary by Scale and Vary by Pitch buttons allow one to draw a curve for either pitch or scaling factor Command X Spectral Extraction This function attemptsto separate the stable pitched and transient unpitched partsofa sound It doesthisby measuring the speed of frequency deviation Ifthe deviation istoo quick itismarked unpitched information and output to the transient soundfile If it is too stable it is marked pitched information and output to the stable soundfile Bands Frames Analysis frame size sec 0 034830 Transients are partials that have an average change greater than 3 000000 hertz per analysis frame Stable sounds are partials that have an average change less than hertz per analysis frame Her You can control the separation with this dialog box Set the Bands to a high number if the sound being processed isharmonically dense otherwise keep it around 512 Setting the number of Frames allows you to set the size of the analysis frame in multiples of FFT fra mes Set this higher if you are having difficulty separating the pitched material lower if you are having difficulty separating the transient material The two frequency valu
43. rack make sure you know the one you want before hand the Quicktime Audio CD Import Options dialog box willappear From this box you can set the sample rate sample size number of channels and the portion of sound to import forthe AIFF soundfile You can also preview the sound though with only 8 bit quality Importing soundstakesa long time so be prepared to wait Quicktime 2 0 and a CD ROM drive is required for this feature Importing may only work reliably on an Apple CDROM drive though some have reported success with the HDT CDROM Tool kit and third party drives Command Q Quit This command allows you to do something else EDIT MENU The required Macintosh functions They are not too useful in this program though as SoundHack is not an editor HACK MENU This is where all the soundfile processing is Most of the things in this menu involve a lot of calculations and take time SoundHacktakes over your Mac to do these so if it appearsthat your Mac hasfrozen up it probably hasn t Spectral Mutation isthe slowest of these functions so have patience In most of these functions sound is processed in blocks a group of samples After each block is processed you will see the soundfile time window update You will be able to pause or stop a process between blocks but not while a block is being processed In the functions which process sound spectrally each block is analyzed foramplitude and phase ata numberof frequency ba
44. s It comesin 3 fla vorsto accommodate different hardware platforms SoundHack NF runs on all Macintoshes albeit very slowly Thisisthe only version that will work on 68LC 040 based Macintoshes SoundHac k FPU runs on 680x0 Macintoshes with hardware floating point The following 3 CPU FPU configurations will work 68020468881 68030468882 and 68040 It will also run on FPUless Macintoshes except 68LC 040 machines with John Neil s excellent SoftwareFPU floating point emulator SoftwareFPU is available on most Macintosh software archives orfrom John Neil amp Associates johnneil netcom com SoundHack PPC runs on Power Macintoshes It is from 10 to 40 times faster than Sound Hac kNF SHAREWARE INFO SoundHack was once shareware musicware but no more You may freely do whatever you want with it If you still want to send me some of your art music orfavorite postcard my address is Tom Erbe 608 Carla Way La Jolla CA 92093 If you do not have intemet access you can buy it for 65 from my distributor Frog Peak Music PO Box 1052 Lebanon NH 03766 603 448 8837 Email frogpeak sover net URL http www sover net frogpeak ON THE INTERNET The current shareware version of SoundHack SoundHack SoundHackNF and documentation isavailable at www soundhack com There isa SoundHack mailing list To join send email to listp roc Gmusic c alarts edu and include the text subscribe freesound Your Full Name in the message body T
45. scale the amplitude of filter gain but this value is impossible to predict The Gain buttons gives you additional control over this Set it to 42 dB for most cases but if the input and impulse response have similar spectra extreme resonance will oc cur and the button should be set to 24 dB or 0 dB However the best way to deal with the uncertain gain problem in convolution isto avoid it altogether Save the output in NeXT Sun or BICSF floating point format which has enormous dynamic range then use the Gain module to normalize it backto an integer format Checking the Ring Modulate box allows for ring modulation or convolution in frequency between 2 soundfiles The Brighten box appliesa simple 6dB per octave high passfilter to the impulse This is useful as most natural sounds have a roll off from 6 12 dB peroctave Convolve two of these soundsand your result will have a roll off from 12 24 dB peroctave much too dull Brighten isa simple probably too simple fix for this Checking the Window popup will cause SoundHackto apply the selected envelope onto the impulse before convolution resulting in a smoother convolution A smoothing window is desirable when performing a moving impulse response convolution described below since the impulse response will be changing foreach block of samples processed This is also true for moving ring modulation The triangular window is probably the best for smoothing a rectangular window isthe sa
46. se position is continually tracked and translated into relevant units or click on one of the preset waveform buttons The waveform buttons will fill the function with as many cyclesasare set in the Cycles box If you click a wa veform afterthere is something already in the function window the waveform will modulate the function ratherthan replace it The Setbutton will allow you to set all of the pointsto the same value The Reverse button will time reverse the function The Invert button will flip it It Shift button will rotate the function by up to 399 positions The Smooth button will average adjacent entries in the function This smoothing wraps around the beginning and end of the function so watch out The Normalize function will inc rease decrease the magnitude of the function to fit the range of the window The Set Mean button will scale the function so that the value you enterbecomesthe mean or average value mure NCO UNIDO R Reverse Invert Normalize 2373222 Bot 0 03125 The boxes in the upper right and lower right comers allow a very primitive type of zooming There is no facility for selecting copy paste orcut One can read or write control functions as soundfiles by clicking the Read and White buttons The Time legend refers to the time in the input soundfile and the other legend Scaling is updated depending on how the control function is applied SOUNDHLE MENU This simply allows you to select betwee
47. seemsto just fluctuate between the source and target sounds without producing many interesting merged sounds Open one of the soundfiles the source with command O Type command M to bring up the Spectral Mutation Function dialog and open the second soundfile the target by clicking on the Pick Target button Set the mutation Type to LCM IUIM The differences between various mutation types are discussed later in this manual page 21 Click the Q Function box so that you can vary the mutation index For the LCM IUIM type an indexof 0 0 producesa mutant of all source and an index of 1 0 produces a mutant of all target Now click Edit Function to bring up the Draw Function Window Function Window LJ Cycles 4 0 Reverse To keep the mutation index near the center of its range set the function limits to 0 7 and 0 3 Set the number of cycles to 4 0 and click the sine wave preset icon see mouse arrow in picture This will produce a mutant which oscillates slowly from almost the source to almost the target Click Done in this window and Process in the Spectral Mutation Function dialog Mutations are very hard to predict so a lot of experimentation is required before you will get satisfying results The main factor in the successorfailure of a mutation isthe choice of source and target soundfiles SOUNDHACK REFERENCE FILE MENU Command N Record New Input Built in Sample Rate 44100 e Sample Size 16 Bit Lin Y
48. stant flute tone In addition to the ITD keep in mind that most of the spectral differences between the nearand farearare above 1500 Hz as frequencies below this point will diffract around your head Sounds with little high frequency energy will therefore spatialize poorly Once the soundfile is open type command Bto bring up the binaural filter dialog Here you can set the various parametersfor a binaural spatialization For instance you could set a specific azimuth angle by typing in the Angle boxorby Hinaural Position Filter Angle jo Heignt Mnuing Angle Angle Function Cancel Process clicking on one of the radio buttons You can setthe height to be above below orat earlevel though the detection of height isusually dependent on head movement so it is not well simulated with a static filter To spin the sound around your head click the box called Moving Angle When you do this the Angle Function button will appear Click on this button to bring up the Draw Function Window This window allows you to draw a curve to control the angle of the sound as it moves around yourhead You will see two legendson the bottom of this window Time which indicatesthe current time in the input soundfile and Degrees which isthe azimuth 0 degreesis straight ahead You will now use one of the presetsto smoothly spin a sound twice around yourhead First type 2 0 in the Cycles box Fume tion Window 360 000000 Ha
49. ter reaching end t Very short soundfiles playback OK c Lack of QuickTime doesn t crash PPC version T Better memory conservation c QuickTime files now contain proper Moov resource TUTORIAL 7 points of departure In this section will take you step by step through some common sound processing operations For all of these you will need a source soundfile to process and enough disk space to hold the result 1 Spatialization SoundHack provides spatialization of monaural soundfiles with its binaural filter This filter known asthe head related transfer function HRTF emulates the filtering action of yourhead and outer earforany position around your head The following example willspin a sound twice around yourhead Cancer Play Audio IFF 44100 Mono 16 Bit Open All Type command O to open the soundfile to be processed This should be a monaural file with a sample rate of 44100 as the filters are tuned for this sample rate The open dialog box will show both the sample rate and number of channels for the selected file Note that some sounds spatialize better than others One of the main cues for spatia lization isthe interaural time difference or ITD This isthe delay from the moment the sound is heard at the near ear to the time the sound isheard at the farear Because the ITD isso important sounds with little temporal vanation will not spatialize well Forexample a snare drum is much easier to locate than a con
50. the impulse response file will be skipped over It isa good idea to save the output in a floating point format if using the moving impulse Since the impulse is continually changing the scaling is unpredictable Command G Gain Change Peak llalue 2 90725 1 39566 Peak Position 165176 16517 RMS Value 22 4522 21 1984 DE Offset 0 00112 0 00065 Added Offset 0 00065 Gain Factor The equivalent functions in Sound Designer Il and Alchemy are faster so in most cases you will want to use those However SoundHack will give you an RMS value forthe file and will allow a different gain factorforeach channel It will also work on floating point ADPCM and uLaw files Finally it will allow you to correct for DC offset in your file Click on Analyze and the peak amplitude peak position in samples RMS values and DC offset will be calculated The gain factors will be set to normalize both channels independently and the additional offsets a number between 1 0 and 1 0 will be setto correct the file Change Gain will create a new file adjusted by the gain factors set If you are dealing with a monaural file only the channel 1 information isapplicable Analyze will tie up your machine when it is doing its stuff so please be patient will fix this in a future version Command M Mutation This section of the manual is written by Larry Polansky The seven different spectral mutation functions USIM ISIM IUI
51. ting The phase vocodercan be setfora one octave pitch shift with just a few steps First click on the Pitch Scale button Second click on the Scaling Semitone Shift popup menu and select Semitone Shift Third enter 12 0 in the boxto the right of the Semitone Shift popup menu Atthis point you could click on Process and start processing but there isanother parameter you might want to adjust first Bands setsthe number of bands in the filter bank aswell asthe number of oscillators for resynthesis This will allow you to work with sounds of varying degrees of harmonic density You might think that a large number of bandsis always preferable but more bands require tighter filters which in tum causes more phase distortion So it isa trade off have found 512 1024 and 2048 to be the most useful settings You should also try the Scaling Function option This will bring up the Draw Function Window and allow you to have vanable pitch shifting with a 12 octave range Pitch shifting is one of the slowest processes in SoundHack With a 33MHz 68040 default settings and a 44100 sample rate monaural file as the source the processtime to real time ratio is 290 to 1 4 Time distortion nr 2 Phase locoder Bands 512 Dverkap as Band Freq Spacing 45 066406 Window Hemming gt 2 000000 oe Time Scale C Pitch Scale O sealing Function 3 Resynthesis Gating Minimum Amplitude dBi 80 Threshold Under Man ddbi 60 Help Can
52. ton This will bring up the Draw Function Window which is described later in this document Resynthesis Gating performs a simple spectral gate which lets only some of the spectral data through If a band isbelow the Minimum Amplitude it is not let through Threshold Under Max cuts off all bands which are lowerthan the threshold below the peak band in a given block of samples So if the peak band hasan amplitude of 7 dB and Threshold Under Max is set to 40 dB all bands below 47dB will be cut off Command D Spectral Dynamics Spectral Dynamics Processor Banas 2038 13 Lowest Band o 0 000000 Highest Band 1123 12090 893 v 3rd Octave Band Grouping Expand Ratio 1 N 1 500000 Use Smoothed Amplitude Affect Sounds amp Below Thresh Above Thresh Thresh Abowe File dB 4 000000 kd Use Soundfile for Thresholds Threshold File sun city girls This process performs standard dynamics processing gating ducking expansion compression on each spectral band individually It has individual threshold detection foreach band so that one band could have the dynamics process active while another is inactive The processcan be limited to affect only a specific frequency range One can select whether to affect sounds which are above the threshold or sounds which are below the threshold The threshold level can be set to one value forall bands oritcan be set to a different value foreach band by reading in and
53. um on and off too much and this will cause weird modulation noises It is best to set the Threshold Level about 9 dB above the hiss level Click the Use Smoothed Amplitude box This feature is essential for good hiss removal as it will anticipate abrupt sounds by using an averaged amplitude forthreshold detection Now click Process and let it go After SoundHack creates a few secondsof sound it is probably a good idea to pause processing and play the output soundfile The parameters for noise reduction usually take a lot of experimentation With a 33MHz 68040 and 44100 monaural soundfiles the processtime to real time ratio for spectral dynamics is 70 to 1 7 Cross synthesis nr 2 Spectral Mutation Function Bands Type LEMI n Mutation Inder op ET Function Edit Func tig Band Persist 0 gt 1 0 92000 2 Absolute Interval Source Abs Value In Tk Target Abs Walwe 0 gt 1 O Time Scale Target Pick Target Mutation Target wah_wah T2 00000 Mei tancer Process In this final example you will use the second form of cross synthesis in SoundHack spectral mutation Mutation measuresthe spectral change over time in two soundfiles called the source and target and resynthesizes a new soundfile the mutant through various strategies of combination For mutation you should choose soundfiles that have similar spectral characteristics When the soundfiles are too different the mutant
54. w shown below Pressing the spacebaraltemately starts and stops playback Pressing the retum key stops playback and retumsthe sliderto the beginning of the soundfile Control Space engages looping playback SoundManager3 0 or an AV machine is required for sound playbackto work properly play idie out 6 BR play 25 320320 File playback can be triggered through the print document Apple Event PDOC in SoundHack version 0 863 and later Command I Import SND resource Number 128 Mame Harpsichard Lhannels 1 Sample Rate 22255 000000 Header Type Hypercard SND This will allow you to convert an Apple sound resource snd to a soundfile This does not yet work with compressed snd resourcesor 16 bit resources Command E Export SND resource EH port section To Res Maximum Length 1 350635 Start 0 000000 End 1 350635 This will allow you to write part ofthe selected soundfile into an Apple sound resource also known asa double click able soundfile The length ofthe sound resource exported is limited to the amount of memory allocated to SoundHack This will only make 8 bit snd resources Command gt Import CD Track Audio CD Import Options settings e EE M i Rate 44 100 kHz w Size O8 bit ww 16 bit Use O Mono Stereo Track Track 5 Tie dllows vod to import a CD audio fackand save it to an AIFF soundfile Afterselecting the t

Download Pdf Manuals

image

Related Search

Related Contents

Installation and operating instructions electric shower  Radiesthésie & TéléRadiesthésie  MANUAL DEL OPERADOR  Philips 6000 series Smart LED TV 37PFL6777H  Community Edition dieser Ausgabe  Samsung SGH-B130 Vartotojo vadovas  ITALIANO  Cornelius 2849959xxx User's Manual  Tarjeta Adaptadora Controladora PCI Express PCIe 2 Puertos  Sprint Nextel NNTN7985A_040810 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file