Royalty Free Musics for your Oric Games
Royalty Free Musics for your Oric Games
Please find attached here below three music that you can freely use in your Oric game.
License free and nNo authoring mention is required to use them (you're even strongly invited not to mention who you got them from )
I post them in .zip file because the forum doesn't allow to attach YM file .. but they actually are YM file that you can convert with ym2mym and transform in buffer with header in order to have them played with the mymplayer
These are 16 bars long music at tempo 120.
PS: Just an advice .. If you plan to use these music, don't forget to add an easily accessible "Music Off" feature in your game .. or some Orics are going to fly through windows.
License free and nNo authoring mention is required to use them (you're even strongly invited not to mention who you got them from )
I post them in .zip file because the forum doesn't allow to attach YM file .. but they actually are YM file that you can convert with ym2mym and transform in buffer with header in order to have them played with the mymplayer
These are 16 bars long music at tempo 120.
PS: Just an advice .. If you plan to use these music, don't forget to add an easily accessible "Music Off" feature in your game .. or some Orics are going to fly through windows.
- ibisum
- Wing Commander
- Posts: 1866
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Royalty Free Musics for your Oric Games
Great! Has anyone rendered these yet, so we can listen without assembly?
Re: Royalty Free Musics for your Oric Games
OSME stands for Oric Sound and Music Engine.
It is one of my fantasy project of creating an automatic music generation system on Oric.
The idea is that, instead of loading pre-encoded music and have them played by an embedded player, the Oric could generate the music on the fly.
Expected benefits are:
- Lower the memory fingerprints of music in game (a music generator could occupy less space than music data + music player)
- Make the music possibly adapt to game context (generating music rather then playing it could allow to change it dynamically (changing tempo, rhythm, harmony) to create more stressing or relaxing music .. depending on the game situation)
It generates YM files from:
- a random number generator,
- some basic harmonic rules and a bunch of predefined cadences
- Euclidean Rhythm generator
Re: Royalty Free Musics for your Oric Games
I personally use the YM player for PC STSOUND to listen to YM files (was recommanded by Dbug).
I think it allows to render wav files so I'll try to render some files if I manage to get some interesting result.
Re: Royalty Free Musics for your Oric Games
Ay_Emul works too.
And congrats The files sound really well and (imho) they are ready for background music of an adventure game.
And congrats The files sound really well and (imho) they are ready for background music of an adventure game.
Re: Royalty Free Musics for your Oric Games
I added YM and MYM formats to the forum attachment list of approved extensions.
Re: Royalty Free Musics for your Oric Games
Thank you Iss, I'm exactly wanting to have an easy and cheap way to get background music for games.
I think I need to enhance the sound variety in the produced music. For now I only use basic sound .. I'd like to experiment with some more elaborated sounds (using noise modulation). But it's not so that easy.
So let me be the first one to post an YM file here.
Here's a test of an arpeggiator implementation.
Here's an mp3 rendering of the file using the arpegiator.
and a render of one of the previous file:
Keep in mind that these are generated music. It is not supposed to become a hit .. It aims at providing background music with very limited memory consumption.
- ibisum
- Wing Commander
- Posts: 1866
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Royalty Free Musics for your Oric Games
Fun little ditties nevertheless... . Thanks for rendering!Keep in mind that these are generated music. It is not supposed to become a hit .. It aims at providing background music with very limited memory consumption.
Re: Royalty Free Musics for your Oric Games
Unbelievable! Nice job! The tracks sound good. I think they are pretty good for home screen and/or menus (sounds like that to me)
It's really interesting if ORIC can dynamically generate music.
I had an idea to look for tools that automatically generate some music, but I never found anything that could be used.
For me, music and sounds is a big problem, so I still have unfinished things that are only missing music.
It's really interesting if ORIC can dynamically generate music.
I had an idea to look for tools that automatically generate some music, but I never found anything that could be used.
For me, music and sounds is a big problem, so I still have unfinished things that are only missing music.
Re: Royalty Free Musics for your Oric Games
It seems you do lots of interesting stuff!jbperin wrote: ↑Sat Apr 23, 2022 10:19 am Please find attached here below three music that you can freely use in your Oric game.
License free and nNo authoring mention is required to use them (you're even strongly invited not to mention who you got them from )
I post them in .zip file because the forum doesn't allow to attach YM file .. but they actually are YM file that you can convert with ym2mym and transform in buffer with header in order to have them played with the mymplayer
These are 16 bars long music at tempo 120.
RFM_01_CMaj_I_VI_II_V.zip
RFM_02_FMaj_I_IV_V_I.zip
RFM_03_DMaj_I_IV_V_IV.zip
PS: Just an advice .. If you plan to use these music, don't forget to add an easily accessible "Music Off" feature in your game .. or some Orics are going to fly through windows.
If i understand this clearly, you have written a python program that generates ym (14-byte register) samples as output?
If it doesn't use lots of specialized libraries to, can i make a stab at working a cc65 program based of the generator?
It would seem (?) to be a relative easy thing to do on the actual Atmos instead of sitting and loading it?
.
I just today started to create my cc65 rom-less routines for sound... First I'll base it of basically loading the 14 registers!
Btw: a lot of pointers to oric stuff on osdn? Are all broken...
Re: Royalty Free Musics for your Oric Games
OSDN is gone, but all the relative links are still valid to https://github.com/Oric-Software-Develo ... ree/master
Re: Royalty Free Musics for your Oric Games
Correct
It doesn't use specialized libraries. I think it is pure python. Euclidian rhythms are very simple.
This is a version of the script:
https://github.com/jbperin/OSME/blob/de ... s/genym.py
I choosed Euclidian rhythms because it is very simple mecanism.
And it can create so many variations.
It is the equivalent of Bressemham for music.
If you look at the script, you'll realize that it is designed to be run on a 50 Hz IT.
The ultimate goal is to have this algorithm run right on the atmos instead of on a PC to generate YM.
I even made a version of this script in C .. and ran it on the atmos.
And I could have it run in real time!!
This C program generates sample for the YM into a memory area .. and the 50 Hz consume this generated sample and write them to the YM.
The problem is that the C is very slow .. and I need a very large memory area to buffer enough music for the music not to stop.
But that's not a real problem because the goal is to get rid of the C program .. and only keep the 50Hz IT in ASM that generate music on the fly. No intermediary buffer.
My conviction is that Euclidian Rhythms are simple enough to fit in a 50Hz IT handler.
Bound with a random generator they can create almost infinite music with variation.
Without even having to store music data.
- ibisum
- Wing Commander
- Posts: 1866
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Re: Royalty Free Musics for your Oric Games
If you use the ATMOS ROM as a factory preset, you've got, literally, thousands of usable sounds already onboard the Atmos, which nobody has really explored much, yet ..Without even having to store music data.
Re: Royalty Free Musics for your Oric Games
Ok, thanks for sharing. Looking at the C code...jbperin wrote: ↑Fri Jan 17, 2025 10:59 amCorrect
It doesn't use specialized libraries. I think it is pure python. Euclidian rhythms are very simple.
This is a version of the script:
https://github.com/jbperin/OSME/blob/de ... s/genym.py
I choosed Euclidian rhythms because it is very simple mecanism.
And it can create so many variations.
It is the equivalent of Bressemham for music.
If you look at the script, you'll realize that it is designed to be run on a 50 Hz IT.
The ultimate goal is to have this algorithm run right on the atmos instead of on a PC to generate YM.
I even made a version of this script in C .. and ran it on the atmos.
And I could have it run in real time!!
This C program generates sample for the YM into a memory area .. and the 50 Hz consume this generated sample and write them to the YM.
The problem is that the C is very slow .. and I need a very large memory area to buffer enough music for the music not to stop.
But that's not a real problem because the goal is to get rid of the C program .. and only keep the 50Hz IT in ASM that generate music on the fly. No intermediary buffer.
My conviction is that Euclidian Rhythms are simple enough to fit in a 50Hz IT handler.
Bound with a random generator they can create almost infinite music with variation.
Without even having to store music data.
Hmmm, You know I just wrote a pure version C setAYreg, lol, got it working today and I can the 14-bytes reg-dumps that are ZIP, PING, etc!
So, I'm trying to understand the code:
Not sure why in tools/gensym.py it prints out the values in a strinage order, doesn't seem to be r0..r13?
So, here is my ignorance, as the code is a bit OOprint ("%d %d %d %d: 0x%02x%02x %02d, 0x%02x%02x %02d, 0x%02x%02x %02d, 0x%02x%02x %02d %02x %02d"%\
(
theOSME.kernel_s, theOSME.kernel_cs, theOSME.kernel_beat, theOSME.kernel_fraction,
theFrame['r1'],theFrame['r0'],theFrame['r10'],
theFrame['r3'],theFrame['r2'],theFrame['r11'],
theFrame['r5'],theFrame['r4'],theFrame['r12'],
theFrame['r13'],theFrame['r14'], theFrame['r6'],theFrame['r7'],theFrame['r15'])
)
#aYM.addFrame(theFrame)
a) I'd assume to generate a music, you initialize the random number generator with a seed, and with this seed, and same random number generator (your own is better for predicatablility) it generates exactly the same music every time you run wherever? Don't see the seed.
b) I'd assume you can also input how long/many samples you want it to generate? How?
c) If I could just see a simple version that outputs r0..r13 and I just need to pump it to the AY just like that every 50Hz clock interrupt, that'd be easy.
d) I looked at the Euclide webpage and it all seems simple, except, then somehow it's mapped to music! There seems to be some really clever stuff going on interpreting the "beats" soming out as single tune + chords + drum beats? Not sure how it gets there and what the theory is about it. Need to read some more!
Any links to more indepts algos, examples?
e) I just coded MUSIC/SOUND/PLAY for oric raw, TODAY!, without relying on the ROM. More or less works... This would be an excellent usage of it! LOL And incidentally, I did just test to have a C-routine called 50x per/s by interrupt... So this is doable.
d) is this all integer math, or does it rely on more advanced math? I see fractions being mentioned. I'm guessing with your 3D-expericence you use some variant of fix-point math!
e) I've written various C-implementations of float point math (dec24, dec30) that basically just implements + - * / so far...
Since I'm not on a PC I rely on ONLY cc65 under Linux/termux(Android) actually, and typically very simple build-procedures. I think it's good enough to prototype and if you push it, using char etc for indexing it generates descent simple code.