Jump to content
  • entries
    97
  • comments
    63
  • views
    74,850

SAM sings a round


k-Pack

858 views

blog-0646370001549228908.jpg

There was a Korg microKorg under the Christmas tree last year; only because my wife wouldn't let me set it up in November when it was purchased. I did manage to get the manual out of the box before it was wrapped. So for a whole month I read the manual and watched youTube videos.

 

The microKorg has a vocoder. This suggested that the audio output from an Atari running SAM could be hooked up to the line-in on the Korg. Then the Korg could modifiy, modulate, or magically manipulate the signal to yet unheard sonic stimulations.

 

Singing has never been one of SAM's strengths. But if auto-tune can make SAM sound this good then maybe I could have been a pop star. The score for "Row Row Row" was in the book "The Musical Atari" by Hal Glicksman, with music arranged by Laura Goodfriend (cc1984) and it seemed like a good place to start the experiments. The factory preset (A-85 Vocoder Chorus) was used to modify the input. I was a bit supprised.

 

Sam ROW.mp3

 

In case you can't remember what SAM sounds like, the input to the vocoder is in this next file.

 

Sam ROW- vocoder input.mp3

 

This was fun but I can't see SAM being my vocalist of choice. There is a chance that a few program changes and the use of the speed control POKE could change my mind.

 

 

 

How it was done.

 

The score was programmed into MIDI MUSIC SYSTEM software. Voice 1 was the music and was sent to the Korg as MIDI data to play. Voice 2 was programmed to output timing notes on channel 3 to an Arduino. The Arduino would then change the logic state on the STRIG(0) to let the Atari know it should speak the next word. The MIDI data flowed from the MIDIMax interface to the Korg and out the THRU port to the Arduino.

 

The song was recorded twice. Once starting at middle C and then an octave lower. Then they were offset to produce the round.

 

I have used the arduino interface a couple of times in the past to trigger events. This is just one optocoupler hooked up between the Arduino and Joystick port trigger.

 

http://atariage.com/forums/blog/572/entry-14044-sam-raaks-yuw/

 

The Arduino runs this program to read the NOTEON data and set the trigger

 

/* SAM Trigger

* This program accepts MIDI data to sequence SAM voice.

*

* When a NOTE ON command for the sellected channel is

* detected, the joystick trigger is turned on for

* 50 milliseconds to trigger the next word to be said.

*/

int trigger = 3;

byte midiData = 0;

byte noteOnCommand = 146; //number representing channel and Command

// 144(noteon)+2(channel 3)

 

void setup() {

pinMode(trigger,OUTPUT);

digitalWrite(trigger,LOW);

Serial.begin(31250);

}

 

void loop() {

while(Serial.available()<1){}//wait for data

midiData = Serial.read();

if (midiData == noteOnCommand){ // Note On - Channel

digitalWrite(trigger,HIGH);

delay(50);// give atari a chance to read joystick

}

else{

digitalWrite(trigger,LOW); // reset for next word

}

}

 

 

The SAM-Atari runs the following.

 

1 REM SAM ROW VOICE TRIGGERED BY MIDI

2 REM ---kPack 2019

3 REM Arduino monitors midi input and

4 REM sets trigger when word is to be

6 REM said. Audio output from Atari

7 REM is connected to line-in on the

8 REM microKorg.

10 DIM SAM$(255):SAM=8192

15 POKE 8208,50

20 RESTORE 1000:TRAP 20

30 READ SAM$

35 IF STRIG(0)=1 THEN 35

40 A=USR(SAM)

50 IF STRIG(0)=0 THEN 50

60 GOTO 30

70 REM

1000 DATA ROHW,ROHW,ROHW

1030 DATA YOHWR,BOH4T5

1040 DATA JEH5NT,LIY

1050 DATA DAWN1

1060 DATA DHAH4

1070 DATA STRIY4MM

1080 DATA MEHERAXLIY

1090 DATA MEHERAXLIY

1100 DATA MEHERAXLIY

1110 DATA MEHERAXLIY

1120 DATA LAY4F

1130 DATA IH4SS

1140 DATA BAA4T

1150 DATA AH4,DRIY4MM

 

 

The tracks from the microKorg were used as they were recorded. No additional processing was done with Audacity on the PC.

 

The ATR contained in the zip file is a single density 2.5 DOS disk. The Autorun file is SAM . The disk also contains a test program(VOCODER.BAS) used to let SAM speak the words without the timing. This was used when experimenting with the voice programing on the KORG. The MUS file is for use with the MIDI MUSIC SYSTEM.

 

SAMROW.zip

 

These photos were taken to remind future me of the setup before I got organized.

 

blogentry-37655-0-77720700-1549228208_thumb.jpg

 

blogentry-37655-0-85481900-1549228254_thumb.jpg

 

blogentry-37655-0-83179400-1549228299_thumb.jpg

 

blogentry-37655-0-06761800-1549228170_thumb.jpg

  • Like 1

2 Comments


Recommended Comments

I don't know about the Atari version, but the C64 version of SAM included an example where he "sings" The Star Spangled Banner, and it sounds quite alright given all the pitches have been adjusted. I toyed with that in my youth, trying to make it sing other tunes but I never got it to work out as well.

 

However in the modern age, SAM will have to accept there are other speech synthesises who have superceded his capacities, including that Japanese (?) female pop star a couple of years ago which turned out to be entirely produced in software. She was quite believable.

Link to comment

I don't know about the Atari version, but the C64 version of SAM included an example where he "sings" The Star Spangled Banner, and it sounds quite alright given all the pitches have been adjusted. I toyed with that in my youth, trying to make it sing other tunes but I never got it to work out as well.

 

However in the modern age, SAM will have to accept there are other speech synthesises who have superceded his capacities, including that Japanese (?) female pop star a couple of years ago which turned out to be entirely produced in software. She was quite believable.

I had the same problem with singing SAM when I did this blog entry.

 

http://atariage.com/forums/blog/572/entry-14044-sam-raaks-yuw/

 

Each word had to be modified for pitch and speed to get it to sound as good as it did. I would not want to do that much work for even the shortest song.

 

I played around with a speech synthisizer chip from China. It came on an Arduino Shield and the instructions were almost useless to me. It is understandable in English. I used an RS-232 interface to transfer data to the shield. I haven't touched it since I wrote this series of blog entries.

 

http://atariage.com/forums/blog/572/entry-13560-the-42107-voice-synthesizer/

http://atariage.com/forums/blog/572/entry-13602-type-talk-just-3-lines-of-basic-code/

http://atariage.com/forums/blog/572/entry-13654-the-voice-synthesizer-before-i-move-on/

 

I guess you can't make SAM sound to good and still have him sound like SAM.

Link to comment
Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...