AI Music: SUNO versus UDIO

About a week ago, YouTube decided to show me this video:

While I was aware that AI-generated music was a thing, I had no idea it had gotten this good.

I signed up and spent the next few days playing with SUNO. It produced some pretty amazing and surprising results.

Then, a few days ago, I was shown a video speculating on some new AI music generator that was about to be announced. The claim was it would be 2X better than SUNO.

Yesterday, that service was launched — UDIO (like studio with the ST I guess?). It was down most of the day (overloaded) but late last night I got to play with it, mostly letting it produce random lyrics and tunes

Here is an UDIO generated song about being in love with a VCR:

https://www.udio.com/songs/1t4BXqC7FFw9zGZXic5UCf

Udio looks quite promising, with some features missing from SUNO (like the ability to extend a song and add to the START; SUNO allows you to extend from a time code, only).

Initial testing did not let me make any “complete song” like I have been doing with SUNO, but I expect this must be possible with enough attempts – their gallery is full of them.

Vocal quality of Udio is stunning. SUNO sounds great most of the time, but there is an auto-tune/harmonizer digital sound on vocals sometime. I have not heard that yet on any of the dozens of things I have had Udio create.

The music sounds good, but SUNO seems to generate more “wow, I like this song” tracks than Udio. The three “songs” I had SUNO make are just kind of drifting melodies, with no clear chorus or hook or anything. I have certainly heard songs like that, but right now I’d give SUNO the advantage of making “actual songs” versus tunes.

Check them both out and see what you think.

Steve Bjork TRS-80 Model 1 source code…

From “The Big List of TRS-80 Software” I found two early Steve Bjork programs. These appear to be the two programs that appeared on the People’s Software tape:

PeoplesSoftware-TRS80-Model1

The first is a Bio-Rhythm program listed as biortsb.bas (which I assume the “sb” at the end is Steve Bjork):

10 REM  BIO-RHYTHM ------ BY STEVE BJORK
20 DIMA(150)
30 FORX=1TO20
40 READA(X)
50 RESTORE
60 FORX=1TO20
70 READA(X)
80 NEXTX:A=0
90 FORX=9TO20
100 A=A+A(X):A(X+11)=A
110 NEXTX
120 CLS:PRINT" B I O - R H Y T H M"
130 PRINT:PRINT" BY STEVE BJORK":PRINT
140 INPUT"WHO ARE YOU";A$
150 INPUT"WHAT IS YOUR BIRTHDATE (M,D,Y)";M,D,Y
160 INPUT"AND THE DATE FOR CHART (M,Y)";B,C
170 Z=((C-Y)*365)-D-A(M+20)+A(B+20)+INT((C-Y)/4)
180 IF(Y/4=INT(Y/4))*(M<3) Z=Z+1
190 IF(C/4=INT(C/4))*(B>2) Z=Z+1
200 CLS
210 PRINT@960,""
220 FORX=1TO31
230 SET(17,X):SET(18,X):SET(49,X):SET(50,X):SET(81,X):SET(82,X)
240 SET(113,X):SET(114,X)
250 SET(33,X):SET(65,X):SET(97,X)
260 NEXTX
270 FORX=17TO114
280 SET(X,0):SET(X,32)
290 NEXTX
300 FORX=0TO30STEP5
310 SET(16,X):SET(19,X):SET(48,X):SET(51,X):SET(80,X):SET(83,X)
320 SET(112,X):SET(115,X)
330 NEXTX
340 FORX=5TO30STEP5
350 PRINT@INT(X/3)*64+3,X;:PRINT@INT(X/3)*64+58,X;:
360 NEXTX
370 PRINT@713,"LOW";:PRINT@729,"LOW";:PRINT@745,"LOW";
380 PRINT@720,"C";:PRINT@736,"C";:PRINT@752,"C"
390 PRINT@ 724,"HIGH";:PRINT@740,"HIGH";:PRINT@756,"HIGH"
400 PRINT@781,"PHYSICAL";
410 PRINT@796,"EMOTIONAL";
420 PRINT@813,"MENTAL";
430 PRINT@857,"NAME------------";A$
440 PRINT@921,"BIRTHDATE-------";M;"/";D;"/";Y
450 PRINT@985,"CHART DATE------";B;"/";C;
460 IF(C/4=INT(C/Y))*(B=2) A(10)=29
470 FORX=1TOA(B+8)
480 P=Z-INT(Z/23)*23:E=Z-INT(Z/28)*28:I=Z-INT(Z/33)*33
490 S=6.28319*(P/23)
500 GOSUB660
510 SET(INT(S*13)+34,X)
520 S=6.28319*(E/28)
530 GOSUB660
540 SET(INT(S*13)+66,X)
550 S=6.28319*(I/33)
560 GOSUB660
570 SET(INT(S*13)+98,X)
580 Z=Z+1
590 NEXTX:A(10)=28
600 PRINT@832,"FOR A NEW CHART";
610 PRINT@896,;"ENTER A '1'";
620 INPUTA
630 IFA=1GOTO140
640 CLS
650 STOP
660 T=S:U=S
670 FORW=1TO7STEP2
680 U=U*T*T
690 S=S-(U/A(W))+((U*T*T)/A(W+1))
700 U=U*T*T
710 NEXTW
720 RETURN
730 DATA6,120,5040,362880,39916800,6.22702E09
740 DATA1.30767E12,3.55687E14
750 DATA31,28,31,30,31,30,31,31,30,31,30,31

The second is a Perpetual Calendar program listed as percalsb.bas:

5  REM....PERPETUAL CALENDAR PROGRAM
6 REM....FOR RADIO SHACKS TRS-80
7 REM....BY STEVE BJORK
8 DIMA(150)
9 CLS:PRINT@400,"PERPETUAL CALENDER BY STEVE BJORK"
10 PRINT@ 448,"ENTER MONTH AND YEAR (MM,YY)";:INPUT M,Y
11 IF (M>12)+(M<1)THEN10
17 IF Y<100 THENY=Y+1900
18 RESTORE:FOR I=1 TO 12:READ V:NEXT I
19 FOR I=1 TO M:READ A$:NEXT I
20 B$=" ":L=0:IF INT(Y/4)<>(Y/4)THEN50
30 IF INT(Y/100)=(Y/100) THEN50
40 B$="LEAP-YEAR":L=1
50 T=INT((Y-1893)/4)
60 C=(Y-1893+T)/7:C=INT((C-INT(C))*7+.5)
90 RESTORE:FOR I=1 TO 12:READA(I):NEXTI:A(2)=A(2)+L
91 D=0:IF M=1 THEN 100
92 FOR I=1 TO M-1:D=D+A(I):NEXT I
100 D=(D+C)/7
110 D=INT((D-INT(D))*7+.5)
111 IF D=0THEND=7
120 CLS:PRINT@ 22,A$;" ";Y;" ";B$
150 T=0:FOR I=(D-2) TO 0 STEP-1:T=T+1:A(T+12)=(-I):NEXTI
160 P=1:FOR J=D TO 7:A(J+12)=P:P=P+1:NEXT J
164 RESTORE
165 W=0:FOR I=1 TO 12:READ X:NEXTI:FORI=1TO12:READB$:NEXTI
166 FOR J=8 TO 56 STEP 8:READ B$:PRINT@64+J,B$:NEXTJ
167 A$=" ":H=0:READ A,A$:IF A=0 THEN 170
168 IF INT(A)<>M THEN167
169 H=INT((A-INT(A))*100+.5)
170 FOR I=128 TO 832 STEP 128
180 P=0:FOR J=8 TO 56 STEP 8:S=I+J
190 P=P+1:Q=A(P+12)+(W*7)
191 Z=0:IF Q<10 THENZ=1
200 IF (Q<=0)+(Q>A(M))THEN220
210 PRINT@ S+Z,Q
211 IF H<>Q THEN 220
212 PRINT@ S+63,A$
220 NEXT J:W=W+1:NEXT I
270 END
1000 DATA31,28,31,30,31,30,31,31,30,31,30,31
1100 DATAJANUARY,FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST
1200 DATASEPTEMBER,OCTOBER,NOVEMBER,DECeMBER
1300 DATASUN,MON,TUE,WED,THU,FRI,SAT
1400 REM...HOLIDAYS (M.D)
1500 DATA1.01,NEW YR,12.25,XMAS,2.14,VAL,7.04, 4TH,4.01,FOOL
1510 DATA10.31,HAL'WN
1800 DATA0,END

I have so far been unable to locate additional information on People’s Software, but it was produced by:

  • computer information exchange, inc.
  • box 158
  • san luis rey ca 92068

Can you find more about them?

Until then…

SUNO AI creates CoCo songs…

The state of A.I. music generator is far beyond where I expected it to be. In fact, I did not even think this would ever be possible. But here it is.

I wrote up some lyrics and worked with SUNO until it got something interesting. Here is the 80s rock version:

I wrote the words to this, but SUNO is able to create lyrics as well. If you are not a writer, you can just say “country song about a boy and his dog named Fred, down by the lake on a summer evening” and away it goes.

Speaking of country, I used the same lyrics and did a shorter version as a country song…

The styles of music this thing can make is pretty open – rock, country, doo wop, barbershop quartets, opera, death metal, blues, jazz, etc. Just for fun, here’s an 80s new wave kind of synthesizer pop song:

Music production had already gotten very simple thanks to loops you just drag in to build songs, so the real impressive part of SUNO is that it can create the singing.

Check out https://www.suno.ai and have your mind blown, too. If there is any interest, I will do a video showing what I have learned about using this tool.

Until then…

TRON arcade game clones for the CoCo

My all-time favorite arcade game was TRON, probably due to its connection with the Disney movie. I do not know if I played it much when it first came out, but during the time I lived in Broaddus, Texas (1985-1986 era) the local cafe had a TRON machine. I would walk home from school, stop in to get a .25 iced tea, and play TRON. I do not know how good I was at it, but I remember playing past enough levels that the game seemed to repeat and slow down.

Since then, I have only encountered TRON a few times. After moving to Des Moines, Iowa in 1995, I found a TRON in an arcade at our local Adventureland amusement park. I recall playing it there, but the joystick or spinner was in pretty bad shape.

I remember attending an arcade auction and a TRON game came up, but I stopped bidding at $250. I really wish I hadn’t, since years later, a TRON machine was for sale locally … for $1500.

My real interest in TRON came when a local bar-arcade opened and had a machine. I would stop by on my way home from work most days and play until I beat my previous score. Eventually, I had one “perfect” game where I got the score all the way up to where it would flip back over to 0 … and died on purpose. I was concerned that if I rolled the game back to 0, I wouldn’t get to enter my initials ;-)

My TRON high score from 2014.

This earned me a place on Up-Down’s wall of fame.

My TRON high score, immortalized in an instant photo.

To the best of my knowledge, that photo is still there, though the TRON machine died not too long after. They did get a TRON back a few times, but they all had issues — spinners that didn’t work, joystick that wouldn’t go in all directions, sound didn’t work, messed up screen, etc. I am very glad I got to play on a “good” machine all those times.

TRON-less.

Recently, I came across a video for a CoCo game called ElecTRON. I had forgotten about this TRON clone!

Then, I accidentally came across another CoCo game called KRON, which was another clone of TRON.

I now recall seeing both of these “back in the day” (and I likely had a “borrowed” copy of both of them at some point), but neither was a very good home version of TRON. It’s hard to replicate a game that needs a spinner and flight stick with a trigger ;-)

I just thought I’d share my TRON story, so there it is.

You can play these games online here:

Have fun! But probably not…

Steve Bjork’s TRS-80 Model 1 days

Steven Robert Bork (SRB Software) was such an iconic name in the Tandy/Radio Shack TRS-80 Color Computer community. Seeing his name on title screens of games etched it into my memory more than any other game author I can recall.

Recently, Roger Taylor spent over $6700 to acquire some of Bjorks software source code (disks and printouts) from an auction house. He has been discovering some interesting things, such as internal development tools Steve used as well as unfinished and unreleased programs. The archive goes back to Steve’s TRS-80 Model 1 days in the late 1970s.

One year before Steve wrote Popcorn for the CoCo, he had Space Ball for the Model 1:

I had also heard mentions of some multi-voice software music program he wrote. This was Soft Music:

I do not know how to use it, but when I figure it out, I will make a longer video of it. There appears to be several disks of songs available on a TRS-80 archive site, but I do not know how to get them in to the emulator yet.

There is also a Space Balls 2 which seems to be the same except for a countdown before the next ball drops.

Still a mystery is Galactic Fighter (not to be confused with a completely different game by that name released for the CoCo in 1984 by a different author). In a 2007 interview, Bjork described his Galatic Fighter game as similar to Galaxian, but predating it by three months. I see Galaxian listed as a September/November 1979 game, but I do not know when it was released in the USA. Wikipedia says Galaxian was the highest grossing game of 1980. I did manage to find this screenshot:

Roger Taylor has disks for this game, but is still working on safely getting them preserved and, hopefully, in a form that can run in an emulator.

Also during my research were two BASIC programs by Bjork – Perpetual Calendar and Bio-Rhythm. These appeared in a cassette tape collection called People’s Software./

Here is a link to the source of Perpetual Calendar that is supposed to be runnable in a web emulator, but I could not figure out how to start it:

https://willus.com/trs80/?-a+1+-p+10272+-f+1

And here is Bio-Rhythm on the same emulator site:

https://willus.com/trs80/?-a+1+-p+1226+-f+1

I do not know the date these were published, and do not see a date in the source listing. There may be a date in one of the other programs in the collection that might give us a clue.

Steve also created PEN BASIC, a program that added commands to the TRS-80 Model 1 for using a light pen device. I have heard him mention that he worked on a light pen, but never knew anything about it. Here is an ad mentioning it:

I also found a magazine article that goes in to details on the commands that PEN BASIC provides, and discusses how to use it.

And there is more to still be located… I see references to other things he created in the TRS-80 Model 1 days that I have yet to go searching for.

But one thing I have discovered is that Steve was known outside the pages of Color Computer magazines such as Rainbow. I find him referenced in articles in magazines of the day I had heard of (such as K-Power) and plenty I had never heard of (such as Softline and Today). There are some interviews, quotes, and a number of game reviews that mention his name as the author.

I now have a list of questions I wish I could ask Steve. When we were hanging out in Southern California, the subject of CoCo stuff would inevitably come up from time to time, but I wish I had dug deeper and learned more about some of his other works.

To be continued…

Steve Bjork’s Zaxxon, but updated for CoCo 3?

Roger Taylor continues to make discoveries…

https://www.patreon.com/posts/100701156?utm_campaign=postshare_fan

SPECULATIVE UPDATE: Zaxxon ran on the PMODE 4 2-color screen, and used artifact colors. Those did not display on the CoCo 3’s RGB CM-8 monitor. Perhaps this was just a way to make a CM-8 compatible version of the game? Though, changing the title screen and adding the logo (as well as updating the font) does make it appear it was more than just that.

Unreleased CoCo 3 update to the 1983 CoCo Zaxxon???

My VIC-20 Factory TNT for CoCo?

Insert “my first computer was a Commodore VIC-20” story here.

TL:DNR – I figured out how I might port one of my old VIC-20 games to the CoCo so it actually looks like the VIC-20 game ;-)

The VIC-20 has a 22×23 text screen. The CoCo has a 32×16 text screen. At the time, going from a width of 22 characters to 32 seemed like a huge upgrade. After all, you could scroll up and down to get more lines, but you couldn’t scroll left and right to get more columns.

I knew there was no way I could port any of my old character-based VIC-20 games to the CoCo without altering the screen layouts. Games that were written to use the 22×23 display, such as my Sky-Ape-Er, could not be replicated on the CoCo’s 32×16 text screen with 100% size accuracy.

VIC-20 Sky-Ape Er, screen 1.

Without reprogrammable characters, anything on the CoCo’s text screen would look far less graphical. Each text blog could either be a letter/number/punctuation character, or a 2×2 block of one color plus black.

Even if I did try to use these blocky characters to port any of my VIC-20 games, they would not be accurate since the width and height were different. I would have to redesign them to fit the CoCo screen:

Above, you can see I tried to get the “spirit” of the game on the screen, but there are less steps for each level, and 10 more horizontal spaces on each level, so the gameplay would be quite different. (To get to the top takes 12 jumps on the VIC, but only 8 on the CoCo version.)

With 32×16 there is simply no way I could accurately recreate a 22×23 game.

At least, not in text mode.

I knew the CoCo’s 32 column screen was equivalent to the 256 pixel width hi-res screen, and it would be larger than whatever the VIC’s 22 column screen was. Therefore, I figured the VIC’s 23 row screen must be larger than the CoCo’s 16 row screen.

When I started revisiting my VIC-20 programs, I remember that each screen character was 8×8. That made the 22 columns represent 176 pixels (22*8), and the 23 rows represented 184 (23*8). 176×184 is smaller than the CoCo’s 256×192 screen! I had always thought the CoCo’s text characters were 8×8, but that was just the data used to draw them. There were a few extra lines between each row that I had never considered.

On the CoCo, 32 columns at 8 pixels each is 256 — that is what I would expect. But when it came to rows, if each character were 8 pixels high, that would only be 96 pixels tall (16*8)! I had never bothered to “math” this. The 192 horizontal resolution meant that each of the 16 rows was 12 pixels tall! That means the CoCo text font was really more like 8×12.

This led me to experimenting with the VIC-20 font data. I could display a full VIC-20 display of 176×184 with room to spare on the CoCo’s 256×192 screen. I wrote about this in an earlier article and made this example showing the 22×23 VIC-20 character set drawn on the CoCo screen:

VIC-20 20×32 screen displaying PETSCII on a CoCo

The VIC-20 did not have a graphics mode, and did everything by putting characters on the text screen. You were able to reprogram what those characters looked like. You could do some pretty neat things just by PRINTing or POKEing to the text screen.

This is how I made my Factory TNT game. I drew the screen like this…

Factory TNT for the VIC-20

…then remapped the characters to be my graphics:

VIC-20 Factory TNT.

I wanted to accurately represent that screen on a CoCo, I would have to do it using the CoCo’s hi-res 256×192 graphics screen. I could bring over all the actual character data and recreate it accurately, though the aspect ratio would be off a bit… It might look like this:

CoCo Factory TNT concept

Missing is the “MEN:” and “SCORE:” text labels on the top line. Those font characters would have to be brought over, as well. The VIC would let you remap A, B, C, D, etc. to be different characters, and if you used inverse video (or something like that) while in this “reprogrammed character mode”, they would show up as normal uppercase letters on the screen.

This was just a quick experiment, but perhaps I can also bring over just the VIC-20 font letters needed for “MEN:” and “LIVES:”. Maybe I’d want the whole alphabet so I could add a title screen or instructions. Factory TNT 2024, perhaps?

To be continued… Maybe.

(Okay. Definitely. I have already started working on a multi-part article series about this endeavor.)

Atari VCS Pac-Man

I remember the excitement surrounding Pac-Man being released for the Atari VCS (the machine later renamed to the 2600). I was in junior high school and living in Houston, Texas at the time. I recall full page newspaper ads for this cartridge.

I had played Pac-Man in the arcades a few times, but I was not good at it and therefore it was not one of my favorite games to spend a quarter on. A quarter in 1980 would be about $1 today, according to a U.S. government inflation calculator. (And yowza to that. When the Up-Down bar-arcade opened in Des Moines, Iowa about ten years ago, the inflation rate made that quarter worth about .72 then.)

No wonder my grandmother wasn’t keen on me spending money at arcades ;-)

The Pac-Man conversion was very different from the arcade original. Some of the changes made to the game were due to limitations of the hardware — such as the “dots” being replaced by “video wafers” (so said the manual) that looked like dashes. The power pills were squares. This is understandable, though future Atari ports of Pac-Man games such as Ms. Pac-Man and Jr. Pac-Man looked much better, thanks to using twice as much cartridge ROM as the original Atari Pac-Man.

However, other changes to the game — such as playing a tune that was NOT the Pac-Man tune, and having the tunnels at the top and bottom of the screen rather than the sides, along with a maze that did not at all resemble the arcade original, seemed … just wrong. It was “Pac-Man in name only.”

It dawns on me that many of this “in name only” ports were more “inspired by”– new games using elements inspired by the original. This is much like how movies based on books are made–changing the plot so much it is barely recognizable except for some character names and general concepts.

The more movies I see that are quite different than their source material, the more I understand the 1982 Atari Pac-Man.

After all, we have seen modern programmers use the same 4K ROM size and create a much more faithful Pac-man (see video below) though I do not know if they could have written this in the same time constraints the Atari programmer had to do his version in…

For an interesting history on the original Atari Pac-Man, check out this video:

Until next time…

Super Pitfall … 2???

After the passing of Steve Bjork, his personal possessions ended up in an estate sale. Among them were some fantastic Disney collectables (Steve worked at Disneyland in the 1970s), and a bunch of CoCo stuff.

After the estate sale, much of this ended up at an auction. Roger Taylor spent over $6700 to acquire and preserve a huge bundle of Steve Bjork diskettes and source code printouts. To support him in this endeavor, I am now backing Roger’s Patreon with a $50/month “hardcore supporter” level. If you would like to help out, consider chipping in, even at a $5/month level, to help offset these investments.

Yesterday, Roger shared some photos of the source code printouts that had been kept in a storage box:

https://www.patreon.com/posts/here-we-go-100273449

There are listings from pre-CoCo TRS-80 Model I/III software, as well as highly recognizable CoCo programs such as Clowns & Balloons, Mega-Bug, Micro Painter, Rampage, Bash as well as something called Marty Goodman Game which was written in 30 days. This would be released as Marty’s Nightmare for the 1990 Atlanta CoCoFest (the first time I ever met Steve in person).

One of the more curious things in the printout collection is a listing for Super Pitfall 2, which does not exist. It seems Super Pitfall was only released for the original Nintendo Entertainment System (NES), the Color Computer 3, and a Japanese machine called a PC-88. The Wikipedia page has this comment:

Activision initially was going distribute Sunsoft‘s Atlantis no Nazo in the United States in a rebranded form as a sequel to Super Pitfall on the Super Nintendo Entertainment System. This release did not happen.

https://en.wikipedia.org/wiki/Super_Pitfall

YouTube does have a few videos of a game called Super Pitfall 2, described as a prototype and unreleased:

If this Atlantis no Nazo game, which was only released in Japan, was going to be converted to be Super Pitfall 2 for the USA audience, was Activision also going to have a CoCo 3 version done? This seems unlikely, but the source code clearly says “Super Pitfall 2” and also has that text on its title screen! It also shows that Steve worked on this game from 11/11/1987 to 4/6/1988.

Super Pitfall 2 source code listing, from the collection of Roger Taylor.

I do have a theory. Mine Rescue was a game very similar to Super Pitfall that Steve released in 1989. I cannot find the game in the Color Computer Archive (most likely since Steve was still active in the CoCo community and protecting his copyright), but the manual is there:

https://colorcomputerarchive.com/repo/Documents/Manuals/Games/Mine%20Rescue%20(SRB%20Software).pdf

It was very similar to Super Pitfall. (photos from L. Curtis Boyle’s site)

This was much like Steve’s game Bash was very similar to Arkanoid. (photos from L. Curtis Boyle’s site)

Steve had a library of routines he would use in various games. You could see how the scrolling perspective of his port of Zaxxon might have been re-used for one of the levels in his Ghana Bwana game (photos from L. Curtis Boyle’s site):

I am wondering if this “Super Pitfall 2” might have been the code that was later released as Mine Rescue. But, at the moment in time that printout was noted with “4/6/88”, both the source code and the embedded text for the title screen read “Super Pitfall 2”.

I am looking forward to following Roger Taylor’s exploration of this archive of Steve Bjork material. I wonder what other things will be discovered…

Until then, stop by Roger’s Patreon and please consider supporting him at whatever level you can justify.