Interest in music production software?
Pages: 1 2
Terje Slettebø (285) 275 posts |
Hi all. I’ve always been fascinated by synthesisers, and I have several at home. I’d love to be able to use my RISC OS computers with these. I’m not talking about making “soft synths” – although that would also be a possibility – but rather applications like Windows’ Midi Quest, where you may download all the settings from a synth and edit them using a graphical user interface, and then upload them again, or even making a sequencer. I’d be interested to know if there are any RISC OS users out there who may be interesteed in something like this, or who knows someone who might be interested. I know there exists some sequencer software, but I don’t know if this works on modern ARM hardware, or USB-based MIDI. If you or anyone you know might be interested in such software, please let me know. I’d still be interested in working on developing such applications even if I’m the only user, but it would be nice to know if others might be interested in this as well. Regards, Terje |
Kuemmel (439) 384 posts |
Generally I’m interesting in any sound generation on the latest hardware…recently coding and looking at generation of so called Lo-Fi Bytebeats, basically short C/Java code that produces sound and can be easily hooked to a sample player via interrupt on RiscOS. One interesting new approach on generating and sequencing sound is the Sonic Pi (Link) live sound coding application. Did you check that out ? It even runs on a Raspberry Pi (Linux) and is quite fun…don’t know if a port is possible or this is closed source… |
Terje Slettebø (285) 275 posts |
@Kuemmel It may not have been clear from the subject line, but I’m mainly thinking of software to be used with synthesisers, i.e. software that communicates using MIDI for things like editing settings and sounds on the synths, or that works as sequencers for the synths. In other words, the synthesisers produce the sound, not the computer. I checked up Sonic Pi, and it appears to be a project about making the computer produce sound, rather than having the computer communicate with instruments, but thanks for the link. |
David Feugey (2125) 2709 posts |
I am… I have a bunch of midi modules from Serdaco. And I love all of them :)
It does not, but, yes, we need some. |
Terje Slettebø (285) 275 posts |
Excellent. :) I came across a couple of threads about MIDI on RISC OS, and Rick Murray wrote some code and succeeded in reading MIDI data from an instrument, so it seems it should be doable with the current USB stack: https://www.riscosopen.org/forum/forums/3/topics/13918 I have several synths, in addition to MIDI controllers, including this beauty, and I’d love to be able to use them all from RISC OS: https://www.zzounds.com/item—MACHUI It looks like a mixing desk, but it’s actually a MIDI controller, and thus may be used as a mixing desk for any DAW. |
Terje Slettebø (285) 275 posts |
@DavidS Good point. I’ll do some research of what is out there – I know of Anthem and MelIDI – and try to contact the copyright owners to enquire about whether they work on 32-bit hardware (with or without Aemulor) and USB-based MIDI, and if not, if there’s something we may do to help update those applications so that they do work. Interestingly, I found this one right away, an open-source version of Anthem: http://anthem.sourceforge.net/ This version is only for Linux, though. Here’s what I’ve found so far in terms of RISC OS software: - Anthem: It’s a commercial product. I’ve sent a mail to R-Comp, asking about compatibility with RiscPC/VirtualAcorn and modern ARM hardware, and if it doesn’t work, if there’s something we can do to help. - MelIDI: There’s a demo version available (http://www.melidi.co.uk/demo.html). I’ve downloaded it and it runs on VirtualAcorn. It also runs on ARMX6, but only using Aemulor. I don’t know anything about these applications’ MIDI capabilities yet. Even if we were to get any of these working on modern hardware, there’s still a lot of scope for applications. I mentioned earlier software like Midi Quest (https://squest.com/), which lets you import and edit sounds and settings from your instruments. |
Paolo Fabio Zaino (28) 1882 posts |
@ Terje
I am and I am also working on MIDI libraries for both C/C++ and BBC BASIC (in my very little free time). RISC OS classic (the 3.xy up to 4.02 era) has plenty of MIDI and Music software, there is also:
Also (but way older):
And the most important piece to the puzzle is/was MIDISupp (or MIDISupport) from Liquid Silicon This last one is what we are all hoping will be released as Open Source OR at least if LS allow Andrew (RComp) to keep maintaining the code. MIDISupp was the first of its kind (IIRC), a fully standardised MIDI API (and application that also supported plugins) for RISC OS. Basically you write you music software for MIDISupp and MIDISupp manages all the various differences between the old MIDI Drivers. Rick and David Higton USBMIDI driver works well and I also rebuilt it for different boards, Rick wrote it to be fully compatible with the original Acorn AKA16 MIDI driver (the 3.14 API IIRC, Rick can provide more details), so it should work fine in MIDISupp. Anyway MIDISupp should work on 32Bit systems, however it’s the 32bit-Iyonix not the all newer stuff and also on the Iyonix it fails to handle correctly the Podules drivers, but it should work fine if you have a SerialMIDI or ParallelMIDI interfaces (again IIRC). In general all drivers works at a decent enough latency, however newer boards should finally give RISC OS the plus it really needs for music applications. So in general RISC OS has always been a good OS for MIDI works BUT the big issue is the Cooperative Multitasking (can cause unexpected latency issues), so when using MIDI, I generally either work single task or do not run anything except my application on the Desktop. Last bit of information, I started to document all the original MIDI API (including the various minor variation of many cards), the plan is/was to start a series of articles on my blog helping people to create more MIDI applications, just got on hold at the moment due to a lot of work I have and so hobbies gotta wait. Fun fact, if you like Synths I strongly recommend you (if you do not have it yet) to try the ESP DMI with the Yamaha DB-XG50 Synth module (works on RiscPCs with up to RISC OS 4.02). Man it’s awesome still these days! :) Hope this helps! :) P.S. Let’s not forget the excellent work made by RComp with the PCSound software for RiscPC with x86 card that allows to use audio software for MS-DOS, PC-DOS, Windows on RISC OS and it is possible to combine it with WinRISC which allows a use to run Windows (up to 3.11) apps on RISC OS itself using the PCCard… haaaa good times! |
Steffen Huber (91) 1954 posts |
Oregan I think – Ocean was firmly in the 8/16bit gaming camp IIRC :-)
StudioSound (also Oregan) I presume? Was ProSound (by the same author, and also distributed by Oregan) also 32bitted? OK, answering my own question (I am sure I read the threads back in 2016, but managed to forget): https://www.henrikbp.riscos.fr/ |
Paolo Fabio Zaino (28) 1882 posts |
@ Steffen
Whooopssss lol you’re right, let me fix the mistake
Yup Oregan and yeah the eternal confusion between StudioSound and SoundStudio lol |
Rob Andrews (112) 165 posts |
Is there anywhere to get a copy of the 32 bit version of midisyth and midi support ? |
Paolo Fabio Zaino (28) 1882 posts |
@ Rob
So for MIDISupp you can ask CJE and/or RComp, I am pretty sure they both have it on their catalogs (IIRC) For MIDISynth I don’t know if there is an official 32 bit version Also before anyone asks, Rhapsody has a 32bit version that runs on the Iyonix and it’s from Rhapsody 4.x (so earlier releases are not officially 32 bit) |
Terje Slettebø (285) 275 posts |
@Paolo Thanks a lot for your comprehensive reply, I’ll definitely check up these applications.
If you or anyone has some simple routines for reading/writing MIDI data from USB for RISC OS 5, then I’d definitely be interested if you could share that (preferably BASIC, but C/C++ otherwise). I know Rick Murry did some experiements with this, but don’t know how far he got. He posted some BASIC programs, indicating that you don’t actually need additional software or modules to read/write MIDI over USB.
Unfortunately, I haven’t been able to locate these. Got a link to any of them? You don’t have to do a lot of work to search for them, just if you happen to know where to find some, and the MIDI-related stuff is of most interest. I also found one named Serenade, but it doesn’t appear to be for sale anymore: http://www.claresmicro.com/serenade/
I don’t have RiscPC, or any other Acorn hardware for that matter (apart from a BBC Micro), but thanks for the tip. :) Thus, what I’m looking for in software either needs to run on VirtualAcorn or modern ARM hardware. |
Paolo Fabio Zaino (28) 1882 posts |
@ Terje
Sure, plenty actually, in the end of the 80s beginning of the 90s I created a set of utilities in BBC BASIC to play with the AKA16 (I am converting them into a library on the weekends when I can). and yes making sure they work with the USBMIDI driver from Rick / David. So you won’t need anything special, just go creative and build your MIDI Apps :)
Correct, the MIDI API is compatible with the AKA16 and so it’s a set of SWIs, more or less documented on the AKA16 manual (that should still be available at CJE maybe also RComp).
Here comes our historical problem, we could convert those in 32 bit (using Druck tools), but to release them it’s the usual pain of finding the authors. For Rhapsody I believe the last “owner” (probably Steve Pampling or others knows more about this than I do) was Dave Holden (APDL), but he sadly left us an dI have no idea who to contact. Really Small Software Company (RSSC) is still running so we may email him and ask if we can keep supporting Sound Advice and Vista Music.
Oh yeah, oh my… I forgot the amazing Serenade on my list (thanks for reminding me, I’ll add it). Serenade is still available for purchase from CJE (on this I am sure) and again probably RComp too.
My pleasure and yes I believe the ESP DMI + The Yamaha XG50 are probably THE best synth ever made for a microcomputer back in the good old days, it beast any time also my Atari Falcon and its DSP, as well as my Delphina DSP for my Amiga and all the list on PCs. So really a device that can compete even nowadays hands down :)
So to run all the list above on modern ARM (like i.mx6 or RPi etc..) you must use ArchiEmu plus Rick / Dave USBMIDI, yes they can work together!!!! and run the old software on ArchiEmu. Beware you will have unpredictable latency issues sometimes, but I am working on running everything on an overclocked RPi400 let’s see how that goes… Hope this helps, and yes please let’s create some group of developers to kickstart music creation back on RISC OS, this is super exciting for me, so thanks a lot for starting this thread! :) |
David Feugey (2125) 2709 posts |
We have today a complete USB MIDI module, that will work directly with the code made in Basic, but also with some 26bit code under Aemulor and with all 26bit software… when running under ArchiEmu. Needs some testing. We have also a 32bit version of Rhapsody. Needs some legal checking before distribution. What we don’t have is time :) |
David Feugey (2125) 2709 posts |
In fact, for old software, the problem is that all is blocked here: |
Terje Slettebø (285) 275 posts |
@Paolo I’m not sure if I understand, so just to clarify: If I want to try out communicating with MIDI over USB on my ARMX6 computer, what software do I need as a minimum? For example, would it be technically possible to only use BASIC, or are additional modules needed to be able to do this? Furthermore, are there any modules/code that exists that provides an API for this? I’m asking in particularly beacuse some of the terms/modules mentioned are unknown to me, and also, it wasn’t clear to me what works on modern ARM hardware. |
Rick Murray (539) 13855 posts |
You want Dave’s (improved) version of my USBMIDI module. Then you talk to it using SWIs. You can do it in pure BASIC if you are happy dealing with the underlying USB system yourself, but it’s a pain. There’s a reason I wrote the module. ;-) To test it, you need nothing more than Maestro. Full (preliminary) documentation is at http://heyrick.eu/random/usb-midi-0-01-user-guide-preliminary.pdf The reason I haven’t developed it further is because I don’t have anything with sources to receive MIDI from a keyboard. This is important because I would need to look to see what my module is doing and what the software expects to see (including possibly adding logging into both). |
Paolo Fabio Zaino (28) 1882 posts |
Thanks Rick! @ Terje MIDI Coding To create MIDI code all you need is the Dave’s improved USBMIDI and then you can access it from BBC BASIC as Rick mentioned, for example like:
One important thing to mention is please do not get confused between MIDI Protocol and MIDI Format, these are two different beasts and the USBMIDI Module helps with the MIDI Protocol, NOT the MIDI Format. The MIDI Protocol describes how information is exchanged between two MIDI Devices, in your case your RISC OS System and a MIDI Keyboard or a MIDI Synth. The MIDI Format describes how you should store such information on a file in order to make that file readable or exchangeable with other MIDI applications. The MIDI Format is described in many books you can find everywhere. For a description of the MIDI API offered by the USBMIDI you can either ask Rick :D or refer to the original Acorn AKA16 Manual it did had a section that described the MIDI Module SWI API. If you are not familiar with the MIDI Protocol and how it should be used, there are many books about it, one easy one to read is the “MIDI and SoundBook for the Atari ST” which has an introduction to MIDI Protocol as well as MIDI code examples at the end in GFA BASIC. Running old MIDI Applications on modern Hardware To run old MIDI Applications on modern hardware again you need the Dave’s improved USBMIDI Module first, then download ArchiEmu. Make sure you load the USBMIDI BEFORE you load ArchiEmu. Then Load ArchiEmu and run the RISC OS 3 Virtual Machine it comes with. when on ArchiEmu you can add an extra HD via HostFS and share whichever old MIDI Application you want with ArchiEmu or use its provided functionality to drag and drop a zip file on archiemu window. Run the TaskWindow and make sure ArchiEmu has seen and is using the USBMIDI Module. Install the old MIDI Applications on ArchiEmu VM and have fun! P.S. If you try to install Sibellius 7 remember to install it on the ADFS HD provided by ArchiEmu, do not use the HostFS one! Hope this helps! :) |
Terje Slettebø (285) 275 posts |
Thanks a lot, guys. :) I’ll get back with a fuller reply, I first wanted to ask: Where can I find Dave’s USBMIDI module? |
Paolo Fabio Zaino (28) 1882 posts |
@ Terje
On Dave’s web site? :) https://davehigton.me.uk/USBMIDI/USBMIDI.zip Have fun! :) |
mikko (3145) 124 posts |
That looks like a useful candidate for adding to !Store. Or is it a hassle for programmers to add their software there? |
Terje Slettebø (285) 275 posts |
@Paolo
Thanks for the link. There’s actually no link to it on his homepage. This appears to be a source-only distribution. I don’t have a C/C++ environment set up. Does anyone have a compiled version (either link or mailed to terje.slettebo@sandefjordbredband.net)? |
Paolo Fabio Zaino (28) 1882 posts |
@ mikko
I actually think this should be part of RISC OS itself or at least !System… (but that’s just my opinion) |
Paolo Fabio Zaino (28) 1882 posts |
@ Terje
Please have a look into MIDI.rm the compiled Module should be in there :) |
Terje Slettebø (285) 275 posts |
You’re right, thanks. :) I’ve installed the module, and when connecting a USB MIDI cable between the computer and an instrument, it reports a MIDI device, and says the IN file handle is 251 and the OUT file handle is 250. Do I communicate with the MIDI device simply by using code like this: Read: byte%=BGET#251 I’m asking because I currently get no response on either, but it may be due to how the synth has been set up. Therefore, I’ll next test it on Windows. I’ve also tried the following, without any response: *MidiUSBSend 144 60 64 |
Pages: 1 2