Synthpopalooza Posted August 4, 2014 Share Posted August 4, 2014 I've now added the possibility to alter AUDCTL, will look into different distortions, but that would probably require a different table(s) than the one I now use for $Ex/$Ax distortion. 16 bit does not seem to make much sense to me given that MIDI only offers 127 different note values? 127 notes = about 10 octaves, which is covered very well in 16-bit mode, on all distortions. I posted a link to a note table I did, a few posts up, maybe that will prove helpful? Quote Link to comment Share on other sites More sharing options...
freetz Posted August 5, 2014 Author Share Posted August 5, 2014 (edited) Ok, I've worked quite a bit on the software, new versions are up now. You are now able to: - Set the individual AUDCTL bits with keys 1-8 (which would technically also enable 16 bit voices, but more to that later) - Set the individual AUDC1-4 noise bits (Q-Y. A-H) - Note table is chosen based on distortion (for 2,10,12; 12a and 12b are toggled via space bar, other distortions use note table for distortion 10) - When Midi channel 1 is used, chors will automatically split over the ATARI's four voices (makes sense only when using the same distortion on all voices) - When Midi channel > 1 is used, that channel will be assigned to that specific ATARI voice (i.e. Midi channel 3 goes to voice 3, chords will be played by one note only, first come, first served ) The problem with 16-bit is that the software in the Teensy does not communicate with the MidiJoy software in the ATARI. Thus, the Teensy does not know whether it should send an 8-bit note range (revolving after 49 notes according to note table) or a 16-bit note range (127 notes). Since one could even set one double channel as 16-bit and two single channels as 8-bit, things would get even more complicated. Given these difficulties, I have chosen to stick with an 8-bit range because it also seems to me that four voices at the same time are more useful than just two, albeit those two having a 16-bit range. Plus, the interface will remain hardware-compatible to the one little-scale has produced. For 16-bit, another wire would have to be soldered (of course in the end no big deal). If someone comes up with a feasible solution for the problem of how the Teensy would know whether to send 8-bit or 16-bit note range, I might consider looking into it, but other than that, I'd leave the software as it is now. But apart from that one would now be able to use the full variety of POKEY through as a Midi destination - enjoy ... Edited August 5, 2014 by freetz Quote Link to comment Share on other sites More sharing options...
Van Posted August 6, 2014 Share Posted August 6, 2014 WOW this is so cool, thank you for your work!! Will put together the interface very soon, dying to try this out. really would love to see/hear another demo ( the audio is so very low with your first). Yogi 1 Quote Link to comment Share on other sites More sharing options...
pfeuh Posted August 6, 2014 Share Posted August 6, 2014 (edited) Hello, Is it possible to get a Pokey somewhere? The idea is simple: It's easier to build a little hardware with a midi input, an Arduino connected to a pokey and an output jack... Than trying to play music from midi with this hardware, which embbed a kind of processor too and blocks the joystick inputs... A real C program to drive them all, with program change from midi, velocity, saving sounds in exclusive messages and so on... I guess it should already exist for the Yamaha AY3 sound processor of MSX, Gameboy ... If the goal is really to run it on a real A8, I think it could be cool to design a real Atari midi interface. If somebody is interested, I like (and it's my job) to work in a team. But at the moment I'm just a software developper. Edited August 6, 2014 by pfeuh Quote Link to comment Share on other sites More sharing options...
freetz Posted August 6, 2014 Author Share Posted August 6, 2014 (edited) @Van: Thanks, will look into setting up a new video, but off to holidays today ... @pfeuh: Single POKEYs are sure hard to come by, maybe at Best Electronics in the US. Thus, you would always have to destroy a working Atari (bad karma) or get a broken one and hope that the POKEY still works and then get into the hardware specs and set up an independent device - doable, but what for? Just to eliminate the 6502 involved? "Real" Atari sound is never just the work of POKEY alone, so for me this would miss the point. But still it would be a nice project, so good luck . As for the Midi-Interface: It does exist in many forms already. There are trackers available that can record Midi and then one can play these recordings afterwards on the Atari (I assume). But that's not what I wanted - I wanted the ATARI to be a "live instrument" which (as this thread has explained) would not be possible via a SIO-based Midi-interface (like MidiMate, which I have alreay), at least not when more than two (8-bit) or one (16-bit) channels are in use. @all: sorry, small bug-fix (tuning was off by a half-note), new versions up. Edited August 6, 2014 by freetz Quote Link to comment Share on other sites More sharing options...
pfeuh Posted August 6, 2014 Share Posted August 6, 2014 I agree, using an A8 on stage could be great... But the Teensy doesn't allow such great useful features like velocity, portamento, ADSR, program selection... Quote Link to comment Share on other sites More sharing options...
Van Posted August 6, 2014 Share Posted August 6, 2014 (edited) Hello, Is it possible to get a Pokey somewhere? The idea is simple: It's easier to build a little hardware with a midi input, an Arduino connected to a pokey and an output jack... Than trying to play music from midi with this hardware, which embbed a kind of processor too and blocks the joystick inputs... A real C program to drive them all, with program change from midi, velocity, saving sounds in exclusive messages and so on... I guess it should already exist for the Yamaha AY3 sound processor of MSX, Gameboy ... If the goal is really to run it on a real A8, I think it could be cool to design a real Atari midi interface. If somebody is interested, I like (and it's my job) to work in a team. But at the moment I'm just a software developper. Try Mike's Arcade Chips, got some there a few years ago. There is also a project @ Midibox.org you may want to look at http://midibox.org/forums/topic/9321-a-full-blown-newb-on-the-way-to-a-pokey-synth/?hl=pokey yogi EDIT: Here you go http://www.arcadecomponents.com/customroms.html Pokeys @ $5.99 Edited August 6, 2014 by Van 1 Quote Link to comment Share on other sites More sharing options...
freetz Posted August 14, 2014 Author Share Posted August 14, 2014 Just to give you guys an update: I worked quite a bit over the last couple of days/weeks on MidiJoy and it now supports not only 16-bit voices, it also records the input in RAM (channel, distortion, volume pitch, length) which can then later be saved (via exiting to DOS and using the K-Save File option) and re-used in your own programs. I have also adjusted the note scales that Synthpopalooza provided in order to pitch-match with "ordinary" Midi-Instruments (here: Ableton's piano samples). This setup requires an additional wire to be soldered compared to the ones in little-scale's setup. However... I plan to submit this stuff for the ABBUC hardware contest (not yet sure if a software adaptation of an already existing hardware interface qualifies, the rules are a bit ambiguous there). The rules state that the submission must not be published before the contest. Thus, while the previous (limited) version will remain out in the open as a "proof-of-concept", the new version with the added features will only be available after the contest. If the submissions wins any prize whatsoever, I'll release the program for free, otherwise I plan to ask for a buy-on-donation basis or so... I'll let y'all now when there's news in any way, F. 3 Quote Link to comment Share on other sites More sharing options...
Lynxpro Posted August 14, 2014 Share Posted August 14, 2014 Isn't there a chip tunes program called "Syn" on A8 that supports Dual POKEY? Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted August 14, 2014 Share Posted August 14, 2014 When this thing is finished and ready to buy, I want one. Been looking for a way to better integrate my 1200XL into my studio for a long time now. 1 Quote Link to comment Share on other sites More sharing options...
freetz Posted August 24, 2014 Author Share Posted August 24, 2014 Ok, I've now done a video with a more detailed demonstration of the features of MidiJoy: http://youtu.be/8PfGtNIwVJE I've also put up a small website that explains its use: http://www.phobotron.de/midijoy_en.html Once the ABBUC hardware contest is over (end of October) you can get the software on my website. 3 Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted August 26, 2014 Share Posted August 26, 2014 OK, a question/feature request ... This interface is designed for a USB plug on a PC or Mac ... is there anyway to graft a MIDI IN female port on this thing? I have an Alesis MMT-8 hardware sequencer, and I'd like to use it to record sequences using this device and my Atari 1200XL. Quote Link to comment Share on other sites More sharing options...
Van Posted August 26, 2014 Share Posted August 26, 2014 OK, a question/feature request ... This interface is designed for a USB plug on a PC or Mac ... is there anyway to graft a MIDI IN female port on this thing? I have an Alesis MMT-8 hardware sequencer, and I'd like to use it to record sequences using this device and my Atari 1200XL. Will only answer in broad terms, Yes adding a serial Midi in is fairly easy on the Teensy. In fact it could be implemented in parallel with the USB; the on chip USB is independent from the on chip UART and both can be used at runtime. I haven't started looking at freetz's Arduino code yet but I too would like a real Midi in. In fact there are a couple projects that I would like to add serial Midi to, so at some point will take a stab at it. Yogi Quote Link to comment Share on other sites More sharing options...
freetz Posted August 26, 2014 Author Share Posted August 26, 2014 (edited) Yes, it would be possible, and the Teensy part of the software is kept really simple. However, this could only be done by relying on the fact that the whole Midi handling is done by the onboard (USB-based) chip. Adding a serial-based Midi port would mean to not only add serial Midi libraries - which are available on pjrc.com - but also to change the pin setup as pins 7 and 8 are now used to connect to the Atari. I could look into changing that to other pins, but adding serial Midi (while probably not too difficult) would require a testing environment for classical Midi connections which I don't have. On the Atari side, MidiJoy will work no matter where the data comes from as long as the small routines in the Teensy set up the Midi data the way they do now. As I said, the routines on the Teensy are really simple, so if someone finds time to work on the code for serial Midi implementation, it should not be a problem. Edited August 26, 2014 by freetz 1 Quote Link to comment Share on other sites More sharing options...
Van Posted August 26, 2014 Share Posted August 26, 2014 Yes, it would be possible, and the Teensy part of the software is kept really simple. However, this could only be done by relying on the fact that the whole Midi handling is done by the onboard (USB-based) chip. Adding a serial-based Midi port would mean to not only add serial Midi libraries - which are available on pjrc.com - but also to change the pin setup as pins 7 and 8 are now used to connect to the Atari. I could look into changing that to other pins, but adding serial Midi (while probably not too difficult) would require a testing environment for classical Midi connections which I don't have. On the Atari side, MidiJoy will work no matter where the data comes from as long as the small routines in the Teensy set up the Midi data the way they do now. As I said, the routines on the Teensy are really simple, so if someone finds time to work on the code for serial Midi implementation, it should not be a problem. Hi Freetz, You have really done a great job! Good luck with ABBUC and can't wait to see the code Like the new video. I'm too busy with other projects atm to take another one on, but I do intend to look into building (and expanding what I can) this project. While USB Midi has become the new standard, serial Midi still has a major roll for my setup. And as mentioned it would be awesome to sequence with an ST Yogi Quote Link to comment Share on other sites More sharing options...
+MrFish Posted August 26, 2014 Share Posted August 26, 2014 Nice job, on the hardware, software, and the video explaining everything. Would it be possible to post up a couple example binary music files here or on your website for testing out? Or maybe doing a longer demonstration of a song playing, from a midi file on the PC? Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted August 26, 2014 Share Posted August 26, 2014 This would be awesome. I do have a MIDI program on my PC, but it would also be cool to be able to string my Atari into my hardware MIDI instrument chain just like my other synths and instruments. The other thing I was thinking, and this may be down the road a bit ... is support for dual POKEY, or for the SlightSID cartridge. I've actually been thinking of getting both for my 1200XL. Quote Link to comment Share on other sites More sharing options...
freetz Posted August 27, 2014 Author Share Posted August 27, 2014 (edited) Thanks for all the great feedback everyone! I didn't realize that many of you still use serial Midi, but of course in a setup where you use an Atari ST that is probably the only option. And the idea of both Ataris working together as a team in such a setup is kind of motivating , so since all our time is limited, how about we do it like that: If someone assebles a serial Midi board (as can be seen here: https://www.pjrc.com/teensy/td_libs_MIDI.html ) that I can use, I will try to do the necessary code adjustments to support both USB-Midi and serial Midi(-In). The board should be fairly easy to assemble, but I lack the equipment for that. By the way, the source code for the Teensy part is already available on my website (maybe a bit too hidden in the text, right below the video), so you can all have a look already: http://www.phobotron.de/A8MidiJoy.ino As for a Dual Pokey setup, I don't think this is possible with an XL/XE computer as it only has two joystick ports. For each joystick port, I can use the fire button as well as the four directions (up, down, left, right) to which the incoming bits are mapped. So on an XL/XE computer I have two fire buttons and eight direction pins, i.e. 10 bits. I use the fire buttons to address the voice (two buttons = four different combinations = four voices), one direction pin for differentiating between note value or pitch value and the remaining seven pins to map the 127 Midi note values. A Dual Pokey would mean eight instead of four voices and thus I would need two extra pins on the Atari. With an Atari 400/800 this would work as they have four joystick ports, but not with an XL/XE computer. And of course I would need an Atari 400/800 with a Dual Pokey for testing etc. The latter also goes for SlightSID which I think is not available at the moment... @MrFish: Yes, sure I can put up some binary music examples, do you have a Midi file in mind that you would like to be played on the Atari? Edited August 27, 2014 by freetz Quote Link to comment Share on other sites More sharing options...
+MrFish Posted August 27, 2014 Share Posted August 27, 2014 (edited) @MrFish: Yes, sure I can put up some binary music examples, do you have a Midi file in mind that you would like to be played on the Atari? Sure, here are a couple: MIDI.zip Edited August 27, 2014 by MrFish Quote Link to comment Share on other sites More sharing options...
Van Posted August 27, 2014 Share Posted August 27, 2014 Thanks for all the great feedback everyone! I didn't realize that many of you still use serial Midi, but of course in a setup where you use an Atari ST that is probably the only option. And the idea of both Ataris working together as a team in such a setup is kind of motivating , so since all our time is limited, how about we do it like that: If someone assebles a serial Midi board (as can be seen here: https://www.pjrc.com/teensy/td_libs_MIDI.html ) that I can use, I will try to do the necessary code adjustments to support both USB-Midi and serial Midi(-In). The board should be fairly easy to assemble, but I lack the equipment for that. By the way, the source code for the Teensy part is already available on my website (maybe a bit too hidden in the text, right below the video), so you can all have a look already: http://www.phobotron.de/A8MidiJoy.ino As for a Dual Pokey setup, I don't think this is possible with an XL/XE computer as it only has two joystick ports. For each joystick port, I can use the fire button as well as the four directions (up, down, left, right) to which the incoming bits are mapped. So on an XL/XE computer I have two fire buttons and eight direction pins, i.e. 10 bits. I use the fire buttons to address the voice (two buttons = four different combinations = four voices), one direction pin for differentiating between note value or pitch value and the remaining seven pins to map the 127 Midi note values. A Dual Pokey would mean eight instead of four voices and thus I would need two extra pins on the Atari. With an Atari 400/800 this would work as they have four joystick ports, but not with an XL/XE computer. And of course I would need an Atari 400/800 with a Dual Pokey for testing etc. The latter also goes for SlightSID which I think is not available at the moment... @MrFish: Yes, sure I can put up some binary music examples, do you have a Midi file in mind that you would like to be played on the Atari? I will build up a Midi I/O board for you, should be done in a day or two (have to pick up some 1n4148s). I''ll PM you for shipping info Yogi Quote Link to comment Share on other sites More sharing options...
freetz Posted August 27, 2014 Author Share Posted August 27, 2014 (edited) Awesome ! I already made the adjustments to the Teensy code and "freed" the necessary serial input/output pins. The new code is updated on my website and it still works with the USB-Midi, so all I need would be the Midi I/O board to see if serial Midi is working as well. Thanks a lot for your offer, Yogi! My Akai has serial Midi out, would that work as input for the Teensy serial Midi board as well or would the note data have to come from a sequencer? If the latter is the case then I probably would not have the means to test it, if it's the former, then it should hopefully work . @MrFish: Nice tracks, especially because the demonstrate the feature of MidiJoy which is able to handle both Midi files where all chords are coming from one Midi channel and those where the chords are already split up to individual Midi channels. The French Suite sometimes has more than four notes at the same time, so this is where the newest incoming note overwrites the second newest note, as long as there are more than four voices. But it still sounds quite allright, I think . You can download a demo in atr format which also runs on an emulator. Boot with or without BASIC, jump into DOS and load either FSUITE.EXE or FUGUE.EXE - and enjoy ... http://www.phobotron.de/MidiJoyDemo.atr Edited August 27, 2014 by freetz 1 Quote Link to comment Share on other sites More sharing options...
Van Posted August 27, 2014 Share Posted August 27, 2014 Awesome ! I already made the adjustments to the Teensy code and "freed" the necessary serial input/output pins. The new code is updated on my website and it still works with the USB-Midi, so all I need would be the Midi I/O board to see if serial Midi is working as well. Thanks a lot for your offer, Yogi! My Akai has serial Midi out, would that work as input for the Teensy serial Midi board as well or would the note data have to come from a sequencer? If the latter is the case then I probably would not have the means to test it, if it's the former, then it should hopefully work . @MrFish: Nice tracks, especially because the demonstrate the feature of MidiJoy which is able to handle both Midi files where all chords are coming from one Midi channel and those where the chords are already split up to individual Midi channels. The French Suite sometimes has more than four notes at the same time, so this is where the newest incoming note overwrites the second newest note, as long as there are more than four voices. But it still sounds quite allright, I think . You can download a demo in atr format which also runs on an emulator. Boot with or without BASIC, jump into DOS and load either FSUITE.EXE or FUGUE.EXE - and enjoy ... http://www.phobotron.de/MidiJoyDemo.atr Your welcome, anything I can do to help! Got the board wired but need to dig up a diode Was going to run to RS this afternoon but a friend dropped by with a carpentry project he needed help with, Your Akai should be fine for playing; not familiar, does is allow you to select the midi out channel? You just have to match the channel(s) that the Arduino is listening on, as I'm sure you know. I've also got a (cheap HongKong ebay) USB-to-midi cable that you can have. I've got others and this one works fine for Note/Realtime/ect Messages but is unreliable for large SysEx dumps; which is a problem with my MidiBox projects. So I'll send it along also. This will help with your serial Midi testing, redundant with the Teensy's USB, but you can test sequences over the serial from your DAW. Yogi Quote Link to comment Share on other sites More sharing options...
Synthpopalooza Posted August 27, 2014 Share Posted August 27, 2014 As for a Dual Pokey setup, I don't think this is possible with an XL/XE computer as it only has two joystick ports. For each joystick port, I can use the fire button as well as the four directions (up, down, left, right) to which the incoming bits are mapped. So on an XL/XE computer I have two fire buttons and eight direction pins, i.e. 10 bits. I use the fire buttons to address the voice (two buttons = four different combinations = four voices), one direction pin for differentiating between note value or pitch value and the remaining seven pins to map the 127 Midi note values. A Dual Pokey would mean eight instead of four voices and thus I would need two extra pins on the Atari. With an Atari 400/800 this would work as they have four joystick ports, but not with an XL/XE computer. And of course I would need an Atari 400/800 with a Dual Pokey for testing etc. The latter also goes for SlightSID which I think is not available at the moment... I have heard that there is an interface called Multijoy (?) which expands normal two-port Ataris into 4-port? Not sure exactly how it works. Good news on the serial MIDI IN. This is going to be invaluable in my studio! Quote Link to comment Share on other sites More sharing options...
Mathy Posted August 28, 2014 Share Posted August 28, 2014 Hello Synthpopalooza I guess you haven't visited my special stuff page then. Sincerely Mathy Quote Link to comment Share on other sites More sharing options...
freetz Posted August 28, 2014 Author Share Posted August 28, 2014 Thanks, Bill! Just e-mailed you my address, let's just hope the customs will have mercy on us ... My Akai does allow me to set the Midi output channel, so that should be fine, but thanks also for the USB-to-Midi interface as then I can also test its functionality with Ableton etc. F. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.