../ -- music.html (updated 2005-05-12)
Contents:
See also ultrasonic.html for sounds beyond human hearing.
latest news on computer-generated music.
[FIXME: machine-generated music and technical MIDI info in this file and serialportdocs.html need to be better organized. ]
Wierd and wonderful computer-generated music.
Subject: Bad Music hack From: chess at watson.ibm.com Newsgroups: alt.hackers Date: Thu, 10 Apr 97 12:02:45 edt Organization: IBM T.J. Watson Research Center Lines: 85 Approved: Usenet Approval Authority Years and years ago, I had an IBM Music Feature (a Yamaha FB-01 synth packaged up on a single board) in an IBM AT (hey, it was modern at the time), and I got the Technical Reference Manual and wrote some Pascal programs to compose music and play it out the IMF by talking to the I/O ports. I also bought a used reverb at the local long-haired-guys-in-torn-tee-shirts store, and hooked that up so that the IMF would sound less like a toy phaser. Had lots of fun letting it sit composing and playing very quirky music for hours at a time. But then we moved, and the computer got slower and slower and smaller and smaller, and eventually it and the reverb ended up gathering dust in the attic. Recently, we bought a way-cool IBM Aptiva, with built-in sound and stereo speakers in the monitor, and Windows 95, and all sortsa stuff like that, and I realized that I could now get back into the bad-music business. But having kids now I hardly ever have time to like *compile* stuff at home, so I really wanted an interpreted language. And I didn't know how to actually cause MIDI files to play on the new machine. First problem was solved when someone mentioned casually that REXX.EXE from PC DOS 7.0 is a perfectly fine standalone REXX interpeter, and works great in Win95 DOS sessions. Copied REXX.EXE from the laptop to the Aptiva, and the language problem was solved (don't worry, I do in fact have two DOS licenses lying around). Ported the MIDI-file-writing stuff from Pascal to REXX without much trouble. Hacked together some simple composition rules (I decided to start from scratch on the music part, rather than porting the Pascal, just for freshness). Now how to play it? Someone suggested I should look at PlaySound() on some Microsoft reference CD somewhere. I got no time to spend hunting for Microsoft reference CDs. But I searched for PlaySound() on the Web, and found that Microsoft has that reference CD entirely enWebified. Cool! Poked around in there, and found the fun mciSendString() function there, with which you can say things like 'mciSendString("play c:\tmp\foo.mid")' and it will magically do the right thing. Also cool! Borrowed a machine with the MSVC++ IDE installed on it, and ten minutes later I have an equivalent of telnet for mciSendString(). (IDE's are great when you need a short shallow learning curve and don't care much about ongoing ease of use.) While out in the Web, also found the description of Windows' version of General MIDI, so I'd be using a rational set of instruments (if and when I wanted to, of course!). So now I have (roughly): :top \rexx\rexx makesong.rx foo.mid echo play foo.mid >foo.rsp echo ]quit >>foo.rsp mcichat <foo.rsp goto top and I can annoy the whole family with awful music for hours! And to avoid the toy-phaser effect, I can turn on the Voyetra digital reverb that came with the machine; didn't even have to bring down the real (if dusty) reverb from the attic. Sample bad music attached... DC The following line should contain chars x20 thru x60. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` begin 666 pattan1.zip M4$L#!`H````&`'"B?2(8Y#@=30(``!\$```+````4$%45$%.,2Y-240-`@$2 M(Q05-C=HB9K;/`4&$A-$Q?:6]YM214O&^`T"#`B00/!JWG+7-#]6@/\';C0: MUFW+MF'3L@5I5N[;MB#G#.\RR9OMV[INR9:5X[T%BD0Y-B7(H6_AYI6;]BQ: MNB!CYLQYDR5(HF'MIB4+LJD+[(VV[-PYY1LK08("#2(XWE$'&K1LPGB_!/!- M!W3U[0:;EFG69/,"!,X0(.R#4`%"=DJ6H!/M#95L@.4-8'DC6/XET7M)\582 MO94L3X1+HI,$HC_)]4[2G15O@4J6L^NJ>!-,LAQ60/$?*=Y'BB,2&=]$BK>0 M\2UD>2(D4CP%$NE.$ECN`8_$(P4\[0*VIHJSJHE[F*VY@/&XI#6!H1W!T'B$ M0N*QI-5XEK06D#2>0##PHJM^["VB&1?0W07<F2I*M4GEJ05"R4;$(^I(`Y17 MQQ,T*K?,ZSO8'#O6'!]Y*=0!54RH"8I?*-0"??\GU(,_EN>`I!*J@:1B>6V5 M4!U$?T^H&WN,3P3C?Q3*$!W*4]&]!;S'#=&A[(MF>D>PWC&>!6L!P3S"=4]P M_3BB-X[NR5!(\0PH9#\98+P3V&]9BN4M<,?U3-#/"Q[).P7\[0&*^\$E^Y/` M?BHO,E]>+UB4#F4W6X#"F0*4I=<E*X6Z4`G8W`;]MN&-%5?1.Z`-8ZPX5_C# M[U38HWL.Z'X6UYM%\410_#'J=PRE,B`.J%CT3A#=$RS_C'4]8W\.[$$70O%V MT-TESBB>`F=$9W!656L9:+6,_;FP1_<T\(UZN@5L3<VMI%R(&]V[((ZD&6P< M4$L!`@H`"@````8`<*)](ACD.!U-`@``'P0```L``````````0`@```````` B`%!!5%1!3C$N34E$4$L%!@`````!``$`.0```'8"```````` ` end
Xmcd2make http://freeengineer.org/xmcd2make.html ``Xmcd2make is a set of tools to increase the productivity of gramofile users.''
Similar programs are reviewed at ``Converting Audio from Vinyl to [CD] ?'' http://slashdot.org/article.pl?sid=01/12/10/1652251
-- John Lazzaro and Professor John Wawrzynek http://www.cs.berkeley.edu/~lazzaro/sa/ [FIXME: data_compression ?]MPEG-4 Structured Audio (MP4-SA) is an ISO/IEC standard ... that specifies sound not as sampled data, but as a computer program that generates audio when run. Computer scientists call this approach Kolmogorov encoding.
... MP4-SA is different from standards like the MIDI File Format, because it includes not only the notes to play, but the method for turning notes into sound. As a result, MP4-SA is normative -- an MP4-SA file will sound identical when converted by any compliant decoder.
If the instrument models use algorithmic synthesis instead of wavetables, an MP4-SA file can describe realistic musical performances without using any audio data -- just score data, mixdown cues, and DSP algorithms. In this case, the MP4-SA file is about the same size as a MIDI File, but is a lossless encoding of the audio heard at mixdown. Just like a WAV file -- but 50 to 1000 times smaller!
... I can't tell exactly what year this happened, but it's obviously somewhere between 1939 and ``the mid-1960s''. [FIXME: email link to __ interested in early computers (museum)]...
MRU staffs often tried to break the monotony of their daily routines. When high-ranking officers made inspections, inventive operators assembled "trick" card decks. Syncopated sorting was done by dumping cards into pockets in unison, sorting forward and backward in sweeping rhythms, and dumping alternately into odd and even pockets in cadence. Tabulators could be made to play "music" by printing sets of characters that approximated musical "notes." It was no match for the U. S. Rifle Drill Teams, but it was interesting, fun, and it inspired creativity.
...
From: Adam Sumeth Williams (swilliam at cougarnet.byu.edu) Subject: sound compression Newsgroups: comp.compression Date: 1996/07/11 ... -- o _______________ /\_ _| | _\__`[_______________| ] [ \, ][ ][
Compression It is assumed the signal has the Lapaclian probability den- sity function of exp(-abs(x)). There is a computationally efficient way of mapping this density to huffman codes, The code is in two parts, a run of zeros a bounding one and a fixed number of bits mantissa. The number of leading zeros gives the offset from zero. Signed numbers are stored by calling the function for unsigned numbers with the sign in the lowest bit. Some examples for a 2 bit mantissa: 100 0 101 1 110 2 111 3 0100 4 0111 7 00100 8 0000100 16
Is this talking about the Laplace Distribution http://mathworld.wolfram.com/LaplaceDistribution.html
P(x) = exp(-abs(x-m)/b)/(2*b) ?
m = median; if this isn't zero, it's pretty easy to subtract an integer from the input before compression ... and restore it on decompression.
b = half the variance.
From: Timo Tossavainen (tt at cs.uta.fi) Subject: Re: [q] losless audio compression Newsgroups: comp.compression Date: 1999/08/04
The best lossless audio compression for electronic music is to keep the midi data and the system dumps from the synthesizers; to reconstruct you only need the synthesizers... This even beats .mp3 ;)
Sound commands in Linux .mid : timidity, playmidi .wav : playwave .mp3 : mpg123 .ogg : ogg123 might be what you want, but I don't know DOS well... If you need cross-platform multimedia library, see http://www.libsdl.org/. I hope this helps-- OKAIE Yutaka 2003-02-03
the PIC18CXXX, can easily implement stereo record and playback at an 8KHz sample rate because of the optimized instruction set, architecture and 40MHz operation. ... sample the incoming signal at 8KHz and compress the 12-bit sample down to 4-bits. ... Don't under estimate the power of the 8-bit microcontroller.... also using a
4M x 1 FLASH device [to] store approximately 131 seconds of speech at 8KHz sample rate and uses SPI as the communications interface.
http://www.sonosphere.com/ /* was http://www.lightlink.com/doug */ MIDI software for the Mac
From: "David Cary"Message-ID: <86256AE9.004CA626.00@FDLTest1.mercmarine.com> Date: Thu, 18 Oct 2001 08:56:56 -0500 Subject: Re: [PIC]:Voice synthesis [] Roman Black <fastvid at EZY.NET.AU> on 2001-04-25 12:01:48 AM Please respond to pic microcontroller discussion list <PICLIST at MITVMA.MIT.EDU> Subject: Re: [PIC]:Voice synthesis Sudol, Pete J (L-M) wrote: > I have been reading this news group for several months now trying to learn > some things new and get ideas for hobby projects that I never have a chance > to build. I have been thinking about using a PIC for a Text-to-Speech system > for some time and the following is just some thoughts and some info I have > collected. Now remember this is just thoughts so when i error let me know > gently. > > To do a decent speech synthesis you need at least 8K samples per second. Actually, if you have 8bit DAC then 3k/sec is fine. I recorded music for a game at 8bit 10k, it sounded great. Voice is good at 3k, starts to get scratchy below 2k, and 1k sounds like those kids toys... The secret is never in the playback, it's in the recording. You need a good voice person (pref skilled announcer) and good microphone and audio equipment. Getting a good result is 90% recording, 10% playback... There are a lot of skilled announcers who will work for $100 a day, and many have their own equipment or have connections to borrow/hire some. I have a $300 microphone which is barely good enough. Compared to $8000 mic i've used in a recording studio (with an equally expensive pre-amp) my mic is hopeless. Don't even think about using a cheap mic. I'm not sure about copyright (etc) but have you considered using an existing set of phoneme wavs?? Soundblaster had an app called "Text Ole" that had full phoneme sets in different voices. It read text out. You could get the system up and running using their wavs and do the recording later. :o) -Roman -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email <listserv at mitvma.mit.edu> with SET PICList DIGEST in the body [] Russell McMahon <apptech at CLEAR.NET.NZ> on 2001-04-24 08:41:53 PM Please respond to pic microcontroller discussion list <PICLIST at MITVMA.MIT.EDU> cc: (bcc: David Cary/TULSA/BRUNSWICKOUTDOOR) Subject: Re: [PIC]:Voice synthesis Search for MBrola. University of ?Brussels? Speech synthesis using diphones - joined formant pairs. Has a very low data rate and low processor load for very good quality. Needs a largish stored speech fragment data base (some MBs typically). Not on bottom end micros yet AFAIK but Free for non commercial use. Uuix?Linux / WInxx versions available and many languages. Russell McMahon _____________________________ What can one man* do? Donate food daily free !!! - http://www.thehungersite.com/ Donate Vitamin A! http://www.thechildsurvivalsite.com/ www.rawa.com - one perspective on Afghanistan www.changingourworld.com www.easttimor.com www.sudan.com (* - or woman, child or internet enabled intelligent entity :-)) ----- Original Message ----- From: "Sudol, Pete J (L-M)" <SudolPJ at NAVAIR.NAVY.MIL> To: <PICLIST at MITVMA.MIT.EDU> Sent: Wednesday, 25 April 2001 04:41 Subject: Re: [PIC]:Voice synthesis > source= http://www.piclist.com/postbot.asp?id=piclist\2001\04\22\032021a > > > Hi, > > I have been reading this news group for several months now trying to learn > some things new and get ideas for hobby projects that I never have a chance > to build. I have been thinking about using a PIC for a Text-to-Speech system > for some time and the following is just some thoughts and some info I have > collected. Now remember this is just thoughts so when i error let me know > gently. > -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv at mitvma.mit.edu with SET PICList DIGEST in the body
MacRocks -- Macintosh Audio Music Midi Firewire and MP3http://www.macrocks.com/
Audacity sound editor... professional-quality audio processing ... the ability to speed up, slow down, and alter the pitch of a track; ... Audacity is a fast multitrack audio editor and recorder for Linux, MacOS, and Windows. Supports WAV, AIFF, Ogg, and MP3 formats. Features include envelope editing, mixing, built-in effects and plug-ins, all with unlimited undo.
started before 2002-05-22
Return to index // end