Search the Community
Showing results for tags 'korg'.
-
Getting Started: Been thinking long and hard about programming a patch editor for the Korg NTS-1 synth. There are patch editors out there, but none will output the Continuous Controllers (CC#) as program change commands used in the MIDI MUSIC SYSTEM (MMS) voice file format. Since I'm aware that I may be the only person to use this program, I have decided to write the program in assembly (MAC65) to run using the Diamond GOS 3. I should be able to write the code in stages and test as I go. This is going to take a greater amount of preplanning and am hoping to avoid the helter-skelter approach normally used when I program in BASIC. I know that there will never be a spit-n-polished version. I'm not delusional enough to believe that Korg will ever add it to their catalog. I am going to blog as the plan is executed. It may be of interest to those that want to develop Diamond programs. Dialog boxes, the Dropdown menu, icons and the event handler will all be used in the program. The Diamond 3.0's internal File Select routine will be used; one of those Diamond macros that can never have enough examples. There might be a little bit of 2-byte math, limited to screen positioning. MIDI is all done with 8-bit numbers with much of it limited to 7 bits. I like that. The biggest problem is how to handle the lack of a 5pin-Din MIDI output from the NTS-1. If the knobs are adjusted on the NTS-1 the Atari will never know. If the program can output the CC# values to the NTS-1, save the set of numbers that define the patch, and load the values for later use, then it will be of some use. If it does that and is compatible with MMS , I will feel the time I put into this project is well spent. The second problem is discovering what I need to relearn about Diamond programing after a 4-year hiatus. Step 1 Always my first step is to build and test the Info Dialog box. It gives me something to do while I think about screen designs and drop-down menu options. It also gives an idea on how much Diamond knowledge has been forgotten over the last 4 years. The "How to build a Simple Info Dialog Box" sheet was Greek to me. By the time the Dialog box was correctly displayed, the sheet made perfect sense. Seeing the program title on the screen also symbolizes a commitment to see the project to the end. DLOGTEST.M65 is the source code to display the "Info…." dialog box. Running the DLOGTEST.APP will show the program information. Click anywhere within the box to exit back to the desktop. INFODLOG.M65 is the DLOGTEST.M65 modified to be a subroutine. This subroutine will be #INCLUDEd in the program in hopes of keeping program versions form together. DMACRO01.M65 is the set of Diamond macros, some of which I have modified for various reasons. Check back in the blog for why changes have been made. And to check my logic. Step 2 Building the drop-down menu and starting to develop the EVENT logic is going to be the start for many test routines. I already know that the Note and Octave categories should be removed if possible. In this test the Desk-INF… will display the Info dialog box and the FILE-QUIT option takes you back to the desktop. All other program options have been defined as inactive. The LOAD and SAVE options look inactive only because the MENUENABLE macro prints them in italic. Also MENUCHECK was used to indicate the current setting for Channel, Note, and Octave. MENUTEST.M65, MENUTESTAPP. It’s a start. nts1 blog1.atr What's next: Get the MIDI data flowing through the MIDI port out to the NTX-1. This way I can tell if any future additions to the program interfere with the data as they are added. I know that the ICON event returns the X,Y position of the mouse but not so sure if they are in reference to the screen or within the icon? Also, I need to start thinking of the ICONs in groups of objects that share attributes and methods. Should be easier to write subroutines, if they all share the same data structure. I think there's a name for that.
-
Putting your 8-bit computer audio through one or more effect processors will make a big difference to the listener. Better or worse will be a matter of opinion. I just think that a little reverb never hurt anyone. Korg's NTS-1 has three effects processors for MODulation, DELAY, and REVERB. Changing their settings will effect the sounds from the NTS-1 oscillators and any sound source that is hooked up to the AUDIO IN jack. Even if it's our older computers or game machines. Recordings were made using an Atari 130XE hooked up to a TV's composite inputs. The headphone outputs from the TV were routed to the NTS-1 Audio IN. The headphone jacks on the NTS-1 was then connected to the audio line in on the PC. Music Studio software on the Atari was used to play the demo file of Pachelbel's Canon in D. First was with all processors off. Cannon with out effects.mp3 The second was with MOD=Flanger, DELAY = Stereo, and REVERB = Hall. The adjustments were lost the moment the NTS-1 was powered down. There are add on processors that can be downloaded to the NTS-1; none were used on this file. Cannon with effects.mp3 The settings of the effects have all been assigned CC#(control code #). If you're running MIDI software that can send CC# commands, they can be changed anytime during the composition. I've done some experimenting using MIDI Music System software to send CC# to control the arpeggiator. Didn't save the MMS file or take notes. Trying a second time should indicate how much I learned from the first. I'll take some notes and save the files.
-
- 1
-
- music studio
- nts-1
-
(and 1 more)
Tagged with:
-
When a sound is initialized on the MicroKorg, it’s a very simple sound. Reminiscent of the Atari 8 pokey sound created when playing an Advanced Music System II file. Change the OS1 - Wave to Square and the sound seems a little more Atari like. The one thing that you become aware of is that MicroKorg (or any MIDI synth) will play in perfect pitch where the Atari can only be played at an approximation of the pitch. Therefore, a way of detuning a note to match Atari is required. It actually works when the calculated pitch bend setting required to detune the MicroKorg is used. KORG8BIT.BAS was written to read the MIDI data sent to the MIDIMax from the Microkorg keyboard. The Atari reads the data and when a NOTEON command is received, it sends a pitch bend setting and then passes the NOTEON command back to the MicroKorg. Because the MicroKorg's MIDI - LOCAL is set to Off, the keyboard output will be sent to the MIDIMax; not directly to the synth. This allows the Atari to control the synth. To try this out…. Hook the MicroKorg's MIDI OUT and MIDI IN to the Atari MIDI interface MIDI IN and MIDI OUT. MicroKorg Settings Initialize voice: Shift 3,3 VOICE - VOICE ASSIGN = MON PITCH - BEND RANGE = 1 PITCH - VIBRATO = 0 OSC1 - WAVE- SQU MIDI - CHANNEL = 1 (used by program) MIDI - LOCAL = OFF MIDI - CLOCK = EXT Save your sound and global settings if you want. Boot up your Atari with the M: device autorun.sys file and run KORG8BIT.BAS. You should be able to play the MicroKorg's keyboard one note at a time (mono) and hear the effect of the detuning program. I thought there was a possibility that BASIC would cause a noticeable delay, but I didn't feel the program needed to be compiled. The sound is still to clean but to me it sounds a little more like it's POKEY produced. Got one more step before any time is used recording audio files. Program notes: pokey korg.atr "pokey korg.atr" holds the files created to move this project along. They are in the order they were created and how they were used. .BAS are Atari BASIC and .BTX are LISTed Text files. DOS.SYS,DUP.SYS - Atari Dos 2.5 AUTORUN.SYS - MIDI Handler M: device MIDISHELL.BAS - Program lines that are required for using the M: device. TONES.AMS - ADVANCED MUSIC SYSTEM II was used to create a file to play notes C1 - E6 for recording into Audiotonic (Audacity). This way the frequency could be derived from the sample and compared with the standard tuning frequency for each note. NOTES.GMS - A Magic Calc spreadsheet to organize the following data from audio file. MIDI Note Number: 24 - 88 - AMS note range Note: C1 to E6 Standard pitch: Hz Time mark for start of note in audio file Number of Cycles and Time used to calc Frequency of Atari's pitch or …… Audiotonic/effect/change pitch option gives the beginning pitch of a selected segment And then….. Pitch Bend Number needed to change Micro Korg pitch to Atari's. It’s a 14 bit number scaled between center and 1 semitone. 8192 = Pitch bend centered. Assumed linear function. pitch adjust page 1.BMP pitch adjust page 2.BMP A1TOA5.BAS/.BTX - Tests the notes A1-5 to evaluate Pitch Bend numbers. Sends Pitch Bend Command then NOTEON. Adjusted pitches sounded reasonable. PWDATA.BAS/.BTX - data Statements for Midi Note number and Pitch bend. PWDATA2.BAS - program to take PWDATA.BAS and output data statements for the MSB and LSB of a 14bit number. To use with the PITCH BEND MIDI command. PWDATA2.BTX is the file of the Data statements with MSB and LSB to be ENTERed into a program at lines 31000 to 31050 step 10. MIDIIN.BAS/.BTX - simple test program to monitor the data stream from MicroKorg. Watching this data helped identify the MIDI Settings. Number 245 Active Sensing pulse needed to be filtered out by the Atari to keep the data buffers from over writing their data. The Pitch Bend Wheel sends out more data then the Atari can handle. KORG8BIT.BAS/.BTX - This program will accept midi data from the MicroKorg keyboard. Resend it back to the synthesizer with the pitch bend adjustment before the NOTEON command. NOTE: NOTE is an Atari BASIC reserved word and can not be used as NOTEON Or NOTEOFF. KEYON and KEYOFF variable names were used in place of the MIDI commands.