Skip to main content


Finished an initial audio implementation for uxn-playdate with some caveats:

- The pitch/rate LUT needs to be adjusted, we go out of tune as we go away of C4. Not sure if this is the Playdate sample player's fault or my own but no matter.
- ADSR works as an AD instead. The way uxn does sustain is different to anything else out there.

I'm done with this port for now. Will revisit it once @neauoire and @rek start working on the PD version of Oquonie and I get the device to test.

#uxn #playdate

in reply to Bad Diode

wonderful! We'll be back on it full-time after strange loop! Looking forward to check all those improvements out 😀
in reply to Devine Lu Linvega

there may still be some things that need fixing, so let me know and I'll do another round. From my side I think I found a few issues with the oquonie rom (also happen on uxnemu), but we can talk about it more once you are settled 😀
in reply to Bad Diode

really? what issues? This I can look into without the playdate sdk.
in reply to Devine Lu Linvega

the sound can stop working at times, not quite sure why but this happened on the playdate and I was going crazy thinking I made a mistake somehwere, but turns out uxnemu has the same problem. Not sure if it starts happening at floor 3 or can happen before that.

There are also a few rooms that the character moves slower than the rest, not sure if this is by design though (2nd floor, empty room with a bush on the middle, for example).

in reply to Bad Diode

1) that's probably two sounds trying to play on the same channel
2) this is by design, you'll notice that these are special rooms 😀
in reply to Bad Diode

oh I thought that was on purpose! I think there's like a couple charachters that basically toggle the sound
@neauoire
in reply to rhizomatic arcade

Oh, if bd is talking about speaking to the sound toggling characters, yeah that's by design.

Everything in oquonie is done by talking with someone. Saving is done by talking to the owl.

http://wiki.xxiivv.com/site/camilare.html

[ Sound ] [ Friend ] [ correct ] means: sound on

This entry was edited (1 year ago)
in reply to Devine Lu Linvega

@arcade ooooooooooooooh yeah that's totally it x.x well glad that mystery is solved haha. :columbo:

what are you gonna do with the playdate sprites? The misterious big head thing that teleports you is missing the shady face 😛

Will you change the color blending for those on the sprite themselves?

in reply to Bad Diode

@arcade I have no idea, I thought maybe blinking the color on and off really fast :/
in reply to Devine Lu Linvega

I've played 3-4 floors on the sim and not much is missing, the face would look really good with some dithered shadows, sadly I can't really do that programatically, at least not directly, I could save an extra buffer with those colors I try to overlay it with some dither fx on it? not sure, either way i need a break for this project but food for thought haha
in reply to Bad Diode

thanks for taking time to do this, it'll be wonderful to share oquonie to the world on the device. I'll find a solution for Red's face 😀 I'll keep you posted!
in reply to Devine Lu Linvega

no worries it was a fun project and gave me the opportunity to learn the playdate dev tools. For the release there are some things you may want to add, like a menu item screen picture (could also be generated on the fly and show the pieces you have collected and stuff).

Gave me the idea of making a release of ORCA to the PD where you use the crank to select the letters and it’s hooked up directly to the playdate’s synths lmk if u are interested in the future 😀

in reply to Bad Diode

yes! People keep asking me for a orca version on the playdate. I did a preliminary version a little while back where instead of color1 and 2, I used underline and it worked amazingly well.
https://devforum.play.date/t/devine-s-prototypes/8700/18
in reply to Devine Lu Linvega

cool! Yeah that would work well, I was thinking on a fork of UXN playdate for that, that specifically uses the built in synths. I’ll give it some thought.
in reply to Bad Diode

Oh! That'd be amazing, you mean we could use a few devices for this!!
in reply to Devine Lu Linvega

yeah! I think we can go full on and have a bunch of devices used as audio channels, or maybe have a way of switching which synth is playing from UXN. Would have to figure out how to pop out a keyboard to input text to save the files, but maybe we can just incrementally create new files with random names lol. Potentially we can add midi over usb support or something like that
in reply to Bad Diode

E......$save:file.orca
This entry was edited (1 year ago)
in reply to Devine Lu Linvega

on the pd there is no keyboard so you can’t change the name, instead you can make it so a new project has a random name, so when you try to save it says aubergines.orca, tomato.orca etc
in reply to Bad Diode

Oh, you've got to try orca on uxn. You can write with the buttons+arrows no problem
in reply to Devine Lu Linvega

ah, will do, I guess I don’t know what I’m talking about lol
Unknown parent

⛧ esoterik ⛧

right. i think the proposed update to the spec sort of moves closer to this model: the duration can be used to control how long you want to sustain without having to mess with ADSR directly.

the biggest remaining challenge is that we don't currently support one note's release being mixed with another note's attack/decay. i could probably change uxnemu to support this but not sure if this would be too complex for other emulators.

Unknown parent

Bad Diode
@d6 well in a ADSR the Sustain indicates the level at which sound is playing while the key is being held, and it will g remain at that level until it’s released, in which the release envelope will decrement the volume for the given time. So it goes: attack will ramp up the volume until it reaches the max, decay will decrease the volume until it reaches the sustain level, and after a note off event the sound will be faded out by the release
This entry was edited (1 year ago)
in reply to ⛧ esoterik ⛧

@d6 This is the idea scenario basically, bd is in a position to have a pretty good oversight of the various _scale_ of emulators, from gba to playdate, to uxnemu. If bd can implement the note change, then I think we should go for it.
Unknown parent

⛧ esoterik ⛧
the proposed spec tries to sort of thread the needle here: you can play overlapping notes (by duration) if you want that effect. otherwise you can use slur/legato to make the notes as long as possible while still staying monophonic, or you can use normal/staccato for shorter notes without sustain. @neauoire @rek
Unknown parent

Devine Lu Linvega
@d6 @alderwick I'm okay with that, someone requested detune a while back, but I have yet to see them make use of it 🤷 I don't mind moving the volume port 😀

Lo, thar be cookies on this site to keep track of your login. By clicking 'okay', you are CONSENTING to this.