17

(54 replies, posted in Nintendo Consoles)

It's a great topic to be working on!

In terms of my personal vote/preference, the question is whether the total timing jitter would be enough to be a problem...
(PC MIDI Interface Jitter can easily be 10ms) + (midi-pulse-converter Jitter if any) + (+/- half of 1/60 s jitter, is what about 8ms) = ??

Keeping in mind that trackers with 60Hz timing resolution usually sound fine but of course the pattern of timing deviation is a regular pattern not a random one. And haven't I heard people say that certain tempos 'sound better' with a 60Hz tick since timing deviations 'from the beat' are minimized?

I guess it will come down to actual testing and perceived feel, in the end. I'm pickier than most people anyway about timing. I use a PCI-based midi interface in my computer cause I swore I was getting a sloppy feel from the usb-midi device I used previously.

18

(75 replies, posted in Graphics, Artwork & Design)

The poll is kinda hard without more context...
I figure the startup screen should lead in to the mood and graphical style of the rest of the game.

But on sheer gut reaction I guess I can vote 'Green'.
Green reminds me of Intellivision games, good times.

19

(75 replies, posted in Graphics, Artwork & Design)

Sounds like it could be cool.
I appreciate your exploration of a new(?) concept for 2-player co-op play, that's probably the 'funnest' type of game imho.

Re: the Superbrothers style...
I was just pondering, was there ever an actual 'vintage' game that had this graphical style?
It's sort of Pitfall-era, but with much higher resolution compared to the level of drawn detail.
Maybe it reminds me of '8-bit style' meets 'super-deformed / vinyl toy art style'.

Oh, and what are you doing for the music/sound?

Oh and by the way, the 'floor' will move too in the final version, and be custom-drawable.

Well this is not the 'big unveil' video yet but I'm excited about how SpriteMusic looks in motion so here is a bit of footage (video only for this demo, no sound). If you watch the whole video you will see two different animation modes: 'frozen motion' curves, followed by 'dancing' modulation. (These are not the only modes smile )

Say you have an instrument with some vibrato on pitch: you can turn on the 'pitch tuning --> sprite height' linking option and the vibrato will be visualized as bouncing curves.

You can also see how I'm working on a system to modulate color in several dimensions according to the music.
Further options include transparency, scaling, etc.

Here it is:
http://vimeo.com/16650892

I'm still working on the first 'official' video since I want it to be ~nice~. When you see the music and visuals working together it is all going to make sense!

22

(98 replies, posted in Nintendo Consoles)

OK then,

-spiritual successor to NTRQ
- (N is for NES, N is for Neil, etc.)
-still like the pulse concept, and maybe 'ntrq plus'
-gotta get the pun possibility somehow..

Thus: NPLS

Thanks for the details!
I will try to learn more when I have time.

It's the live playback aspect which particularly interests me.
I enjoy making software sequencers in Pure Data, Processing, etc... it's fun for trying out different UI's, algorithmic compostion, etc... but even better would be to drive an actual NES for output.


I wonder how much interest is out there for collaborating on some kind of standardized NES-side driver for this along with a good message format for sending register updates down the cable with accurate timing.

If there is talk that Famitracker might support this as an output module, I wonder if the message format and NES-side driver would be available for use by other software? Is anyone working on this yet?

blargg wrote:

And the PC-to-NES cable is as simple as it comes. It's basically just a USB-to-serial cable connected to the controller port, with the NES doing a software-based UART running at 5.7 KB/sec. And yes, the NES can send data back to the PC. One interesting program I've made using this link is an NSF player that runs on the PC, but sends the sound chip writes to the NES for more authentic sound (and even suppots DMC samples).

I'm curious about the specifics of this...
It's probably a newb question as far as 6502 programming goes, but what clocks the software-based UART?
What is the timing accuracy (jitter, latency) if you feed in NSF-type messages from the PC, is it similar to native NES playback?

Would there be some timestamping involved to get NSF stuff to play back according *exactly* to the NES's internal timing?

Could you feed in data fast enough to have a 240Hz NES playroutine reading a set of register writes every cycle?


I'm hoping to add support for the cartridge to my Processing-based visual tracker, eventually.

Anyway, it's an amazing project and I plan to get one smile.

25

(6 replies, posted in Commodore Computers)

Nice! that is perfect timing, just last week, I finally got my friend to bring over the 'some old commodore computer' he had sitting in his closet and lend it to me. Turns out it's a Vic-20 and I guess I was secretly hoping it was a C64 with a nice 6581. But this demo sounds surprisingly funky, so maybe I'm happy I've got a Vic to play with. I'm a little unclear on whether this is a 'pure software' emulation using some digi-technique to playback, but obviously if I'm not lazy I can find that out...

David from Plogue/Chipsounds has also written some interesting things recently about the Vic's sound chip.

26

(66 replies, posted in General Discussion)

I lurked for a long time on this forum, only posting a couple of times...
Only now that I have some creative chip-related projects underway do I feel 'qualified' to post, almost.

The reason seems clear to me-- it's not that I'm only interested in talking about my own stuff. Rather, there are just so many people here doing great music and great hardware, software projects that I used to get the overwhelming feeling of 'aww, can I play too!'. Sort of like being at a Halloween party without a costume... or maybe more like being at a car show where everyone has cool cars, and you've got something in your garage you're working on but it's not ready yet. Know what I mean?

That video is ~allllmost~ ready... but in the meantime, here is some actual audio output from the SpriteMusic software. It really does make sound smile !

http://soundcloud.com/spriteful/spritemusic-soundtest1

As mentioned, I will probably incorporate existing libraries later for accurate NES emulation, but this is a taste of the built-in engine. I'm starting to get happy with it as it is in some ways reminiscent of C64 sound (and maybe a bit of Nanoloop) but has its own flavor.

I have not put in any filters for now, but you can do cool things with PWM and with rapidly switching waveforms.

p.s. This is not an example of my 'composition' abilities, I hope, I was experimenting mainly with sound parameters wink .

Hi BetaSynapse,
Good question about the sprite sheet. Actually the sprites don't angle upwards, and they do fit in a regular grid-- it's just a coincidence that these particular sprites were drawn in this order. For example, the 'water' sprites were created first and happen to use the lower portion of the grid; later on the clouds were drawn and happen to use the upper portion.

Something I didn't mention yet about the sprite sheets: I will be trying to add a feature to include 1 or more 'alternate sprite sheets' which would allow for instant palette swaps, or image-filtered versions of every sprite... this would make a good correspondence with applying a global audio effect.

I know what you mean about tile sizes. Yes, there will probably be some different options for different sizes. Design-wise, there is an interesting issue here which is that I want to strike the right balance between giving my software some 'personality' yet still letting users express their personal style with it. I want it to be a bit like playing a game, not just like using Photoshop or some other 'editing tool'. Actually in a perfect world I would be able to release different versions almost like 'skins', ie the '8-bit-style' version, the '16-bit-style', etc. The prototype will probably be more limited than what comes later, to let me start by 'doing one thing, but well'.

Regarding the image->audio link... yes, the approach you describe makes a lot of sense and is similar to how I've been thinking about it. In fact, there will probably be 3 modes for the lower 'editor panel': sprite drawing, audio parameters, and 'misc' including various mapping options. Eventually I would like to allow for really complex things such as modulating graphics based on harmonic relationships (e.g. Key->Chord->Scale Degree).

Also, to talk again of 'the ultimate plan', I can imagine at least 4 different levels of sound<>image linking:
1. manually drawing graphical frames which 'illustrate' the audio frame
2. default or optional auto-linking as we are discussing
3. tools for making a N-dimensional grid of 'variants' for each instrument, corresponding to different but related note inflections... and maybe use e.g. an x/y joystick to select between these
4. 'channel automation' (similar to pattern fx in a tracker)... a way to further modulate the parameters of placed notes, with further graphical/audio linking

Project update-- I'm making lots of progress on the SpriteMusic sequencer and I think a demo video will be coming shortly. Then after the video release and a little more feature additions/cleanup, I will be looking for test users. Most of my development time since last posting has been spent on the audio engine and audio/video sync... even though I am still working at the 'alpha/prototype' stage it is important to me to have the audio quality be good enough to make something cool with.

After testing with both CSoundo and Pure Date via OSC, I have switched over to the 'Minim beta' sound library for various reasons, which has the benefit of being fully integrated with Processing. Currently the audio engine is based on 5 bandlimited-wavetable oscillators, each switchable between pulse wave, triangle, noise, saw, sine and parabolic waveforms. Each instrument allows 60Hz modulation of (at least) Amplitude, Pitch (fine and arpeggio), Waveform (for PWM and wave-sequencing), and Pan.
Eventually there will be some form of user-drawable waves, and I may just throw in some 'regular sample playback' channels as well, for users who want to make 'chiptune plus edm drums' style tracks.

(Edit: I forgot to mention... I have been heavily tempted also to bump up the audio control-rate to 240Hz. Not *just* cause I am inspired by all the Pulsar talk {Hi, Neil Baldwin!} but also because after re-reading a bunch of NES APU docs I realize that it has more capabilities than I thought for modulating things at that rate. On the other hand there is something magical in the 30/60Hz range where both the eye and the ear can detect changes, leading to the synaesthetic feeling I strive for. Also I'm reluctant to decouple the nice 'one audio moment per card' paradigm. hmm.)


I would like to have choices for different audio engines to make this more widely useful/appealing: for instance I will probably look into using Blargg's audio libraries for accurate NES-music playback. And output to hardware synths is still on my mind as well.

Here are a couple of new screens to look at, picked from nice moments in testing. Actually I've had these for awhile, just didn't get around to posting. It does seem a little funny to keep posting screenshots when the audio and the animation is such an important part; so that's the reason I hope to be posting videos any day now. (Well, realistically, within a week is certainly possible.) And once I get out some videos I will endeavor to explain many more details of how you use the software.

1- This shows a newer version of the interface, and demonstrates multiple types of 'dragon' onscreen. It also demonstrates graphics which 'look like something', rather than being abstract. It was done by a test user (family member).

2- In the bottom panel, you can see the audio adjustment mode, where parameters are set on a 'per card' basis.

3- When saving files, the graphical part (sprite sheet) is saved to PNG file, so it is fun to look at them and potentially you could edit further with Photoshop, etc.

4- An older test shot, this is an abstract thing I made; it looked cool in motion.

The software seems to be running fine on both my Mac and Windows test machines. It's possible to slowdown the graphical framerate with too many sprites on screen, but on the other hand I am only still using OpenGL in 'direct mode', i.e. not really taking advantage of the graphics cards. Therefore I guess that lots of further optimization is possible.

One thing to clarify is that the final version will have many options for automatically linking audio parameters to graphical adjustments. For instance, pitch >> height, pan >> xpos, scale or chord >> color, perhaps volume >> opacity, etc. But a lot of that linkage (and for now, most of it) is just 'done manually', so basically you can explore how you would like to link different sounds/modulations to different images. A deep hope I have for the project is that once I release this we can all have some really interesting conversations about 'how does one visualize music'.

Thanks guys, for the encouragement and suggestions. smile
It's almost surreal, in a good way- In the past I've been kind of a hermit when it comes to music/art projects, but I really wanted to break that mold this time and collaborate with the community at large. And I've been nursing this concept in the dark for over a year and a half (with some important collaboration from one of my best friends who is an artist, musician and huge retro-gaming expert). Thus, receiving even a few comments like this feels like coming out of a cave into the bright light... wow!

herr_prof, EBOT, piksel blue- thanks! I'll keep you all posted.

Battle Lava- sounds good, I will remember your interest when I get to the next stage (soon I hope).

jsr- Yes, in the long term I would *love* to make my tracker control actual hardware. Computer control of hardware is a delightful thing (btw I am essentially broke due in large part to buying hardware synths!), and CFO looks like a great design; that is seriously impressive. I am reading more about your projects; I will think about the possibilities and stay in touch.
By the way, speaking of Processing, eventually I am interested in doing a custom audio engine (and I have one partly coded for iPhone), but for now my Processing prototype is using the CSoundo library to control CSound.

goto80- Yes, I fully agree about going beyond pulsewaves. The initial specs are basically a way for me to actually get something up and running; and I wanted something that would be basically a _superset_ of NES/GB channels because it will be cool to tap into peoples skills and interests in those formats, and perhaps give people a way to visualize existing tunes.
In the long run however, my ideal vision would be to give the software its own personality... not just 'boring 16-bit / 44.1kHZ samples', but not just being slavishly retro either. Something that meshes elegantly with the audio hardware it runs on and the graphical component. I've been thinking about the potential of wave-sequencing synthesis, using waveforms that are low-rez enough to be human-drawable.The idea then would be that each 'card' has bitmap graphics on the 'front' and a drawable wavetable on the back; there is definitely a pleasing harmony to that concept. In fact I was up late last night researching the audio capabilities of the TurboGrafx/PC Engine, because that is imho a funky and underrated system as far as music, and it has kind of a quirky 'mid-range' wavetable spec. ... come to think of it I was also reading about Context Free Art and Structure Synth late last night, so, I think we are 'smoking the same stuff' so to speak wink

Well, I better get back to coding, and take advantage of all the good vibes and momentum!!

Hi Everyone,

I'd like to share some details about a software project I've been working on- I hope it will turn into a fun and useful tool for electronic musicians and VJ's.

It is a hybrid sequencer for simultaneously creating (chip- style) music and (pixel- style) visuals. The concept is heavily influenced by old-school sprite-scaling video games. You can create sets of 2D pixel-art 'cards', then stack the cards into 3D shapes called 'dragons'. Each dragon represents a musical note, and contains a graph of time-varying music parameters (similar to the concept of an Instrument Definition in a tracker). By placing the dragons into a 3D world (in real-time or step-time), you can build up an entire tune.

As the final step, you will be able to interact with your composition by playing it like a video game-- jamming, changing notes, and applying effects to create a live performance.



Currently I am building a prototype in Processing.
Although it's in very early stages, it already seems fun and promising to play with.
Here is a screenshot, just a teaser really. It will probably seem cryptic since it's unfinished, but perhaps will give a feel for where things are going:




This will be available first as Windows/OS X compatible software; and eventually I intend to release it for iPhone/iPad/Android as well -- I think this type of software will be very well suited to tablet/touch input.




Some more details of the design:

-music engine to be similar to NES or gameboy audio capabilities (2 or more pulse channels with pwm, triangle, noise, 1 or more wavetable channels)
-graphics to be based on fairly low-rez sprites, probably 8x8 and/or 8x16
-sequencing engine based on a 60hz framerate for both audio and video
-I'm thinking about ideas for data interchange with Famitracker, LSDJ, etc.??
-midi input and gamepad input to be included



This thing is in early stages but I'm making a lot of progress on it these days, and I'm really excited to get some feedback. If the forum is interested in this type of thing, I will post further developments on this thread. At some point, I will also be looking for beta testers. I am very interested in collaboration, hacking, scripting, customizing etc., so I am trying to figure out the best model for release-- freeware, shareware, open source, or similar. (And I appreciate any suggestions regarding which approach is best.)

Until now, I haven't shared the idea with anyone but a couple of close friends/collaborators; so I'm dying to know- what do people think of this concept? Would you be interested in using this type of thing? Are there any 'must-have' features you think I should keep in mind?

All questions/comments are welcome.

I think this is a great project, are you planning to keep it breadboard style? Breadboard stuff really appeals to me as an easy way to 'get my hands dirty'.. 'but not too dirty' smile

Also, I've been wondering about how usb-to-chip solutions (e.g. Hardsid) compare in terms of bandwidth and jitter to midi-to-chip solutions (if that's what you are planning). I know sometimes the timing jitter is quite bad on pc midi interfaces-- have you thought about whether that might limit the precision of sequencing this thing?