Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
does anyone have any examples of a simple MIDI recorder or digital audio overdubber?
#1
Music 
I'm interested in creating a simple MIDI sequencer 
and/or a 2 (or 3 or 4) track digital audio recorder 
that lets you record while listening to the other track(s) play back. 
Has anyone made (or seen) any simple QB64 programs that do either of these things? 
(Simple being the operative word, here!  Wink )
Much appreciated...
Reply
#2
In the past, some discussions about MIDI, for instance here...
https://qb64forum.alephc.xyz/index.php?t...#msg130580
https://qb64forum.alephc.xyz/index.php?t...#msg100434
https://qb64forum.alephc.xyz/index.php?t...#msg130058
https://qb64forum.alephc.xyz/index.php?t...#msg139250
Why not yes ?
Reply
#3
Wow nice lookup @euklides thumbs up!
b = b + ...
Reply
#4
MIDI is crazy hard to get right, even on faster computers than what faced programmers in decade-2000, while multimedia was beginning to be prioritized in Windows, and Sonic Foundry ACID Music and Cakewalk Professional software were considered "magical". A few years ago on 32-bit Ubuntu Studio from one music app I triggered via JACK and MIDI the standalone Qsynth (SF2 player). Trying to do drum beats at fast tempos sucked because synchronization was bad. While playing pads and other slow long notes it wasn't noticed as well.

Recording MIDI on the fly and constraining note events to beats or the like, is even harder because some people actually prefer "humanization" of rhythms but one is often turned off with how a music app handles his/her own computations with an external MIDI keyboard. Take for instance, a drummer beginning to play a bit slower than the "project" tempo and very slowly but steadily speeds up to where he/she should be and the rest of the band goes along with him/her. That's why some people have foolishly dismissed some music applications very good at MIDI but not as good as certain "dongleware" with handling audio. They were never interested in triggering synthesizers or into sound design for film composing or doing anything else with MIDI if they could only treat any computer as high-quality multitrack recorder.

To do audio recording as well as playback, and the chance to do both at the same time, might have to interface with Portaudio or such other third-party library. It's the only way to go cross-platform about it.
Reply
#5
(07-28-2022, 10:56 PM)mnrvovrfc Wrote: MIDI is crazy hard to get right, even on faster computers than what faced programmers in decade-2000, while multimedia was beginning to be prioritized in Windows, and Sonic Foundry ACID Music and Cakewalk Professional software were considered "magical". A few years ago on 32-bit Ubuntu Studio from one music app I triggered via JACK and MIDI the standalone Qsynth (SF2 player). Trying to do drum beats at fast tempos sucked because synchronization was bad. While playing pads and other slow long notes it wasn't noticed as well.

Recording MIDI on the fly and constraining note events to beats or the like, is even harder because some people actually prefer "humanization" of rhythms but one is often turned off with how a music app handles his/her own computations with an external MIDI keyboard. Take for instance, a drummer beginning to play a bit slower than the "project" tempo and very slowly but steadily speeds up to where he/she should be and the rest of the band goes along with him/her. That's why some people have foolishly dismissed some music applications very good at MIDI but not as good as certain "dongleware" with handling audio. They were never interested in triggering synthesizers or into sound design for film composing or doing anything else with MIDI if they could only treat any computer as high-quality multitrack recorder.

To do audio recording as well as playback, and the chance to do both at the same time, might have to interface with Portaudio or such other third-party library. It's the only way to go cross-platform about it.

Thanks for your reply. 

I'm not looking to make a SONAR or Cubase killer, or even a Garage Band, just a simple tracker that lets you edit MIDI events for 2 or 3 channels and place them on a timeline, and save to a standard MIDI file. I don't even need it to _play_ the file (though I have seen a bunch of MIDI players for QB so I can eventually look at those). Just an editor that can save to the MIDI format. 
For digital audio, I'd be happy with a simple 2-track recorder that lets you record track 2 from whatever audio interface, while track 1 plays back, and vice-versa. 

I still need to check out the links @euklides posted (was busy with this menu code, multitasking!)
and will give those links a look when back at PC later...

Thanks again.
Reply
#6
(07-28-2022, 11:22 PM)madscijr Wrote: :
For digital audio, I'd be happy with a simple 2-track recorder that lets you record track 2 from whatever audio interface, while track 1 plays back, and vice-versa. 
:

https://qb64phoenix.com/forum/showthread.php?tid=333

This is a program that I liked a lot, with brilliant execution. Maybe you would like to study it. However it's impossible to get more than one event on the same exact step. One of the songs demonstrates "flamming" when two tones try to sound at the same time. Nevertheless, this is a good example of recording and playing back sounds in polyphony. It demonstrates that timing is crucial.

This is best demonstrated by this gem:

https://github.com/a740g/QB64-MOD-Player

Getting that to create a MOD and to record in it would add a new layer of complication.

Oh OK it's not an example of recording MIDI nor audio but it's what could be achieved in QB64. What you would like such as "simple" duplex sound card stuff might be possible only by connecting with Portaudio, programming with threads and stuff like that.  LOL @ "Sonar or Cubase killer", but this is just for "simple" stuff.
Reply
#7
https://qb64forum.alephc.xyz/index.php?t...#msg139250

This is the last link posted by euklides above. It's a solution that would work on Linux but not on Windows, unless you're willing to go through the pain of Cygwin. Trust me that you don't if you don't care about Linux.
Reply
#8
Quote:https://qb64phoenix.com/forum/showthread.php?tid=333

This is a program that I liked a lot, with brilliant execution. Maybe you would like to study it. However it's impossible to get more than one event on the same exact step. One of the songs demonstrates "flamming" when two tones try to sound at the same time. Nevertheless, this is a good example of recording and playing back sounds in polyphony. It demonstrates that timing is crucial.


+1 Talking about playing different tracks of sound, this is my fav also by Dav: 
https://qb64phoenix.com/forum/showthread.php?tid=423

MasterGy posted something truly amazing at old forum, but removed it before I had chance to get copy. He was doing computer generated music that sounded to me like professional New Age stuff. I hope he finds it and brings it back here.
b = b + ...
Reply
#9
(07-29-2022, 01:13 PM)mnrvovrfc Wrote: https://qb64phoenix.com/forum/showthread.php?tid=333

This is a program that I liked a lot, with brilliant execution. Maybe you would like to study it. However it's impossible to get more than one event on the same exact step. One of the songs demonstrates "flamming" when two tones try to sound at the same time. Nevertheless, this is a good example of recording and playing back sounds in polyphony. It demonstrates that timing is crucial.

Yeah that bothers me about it too.  Same problem exists in the Keys48 program.  Fixing that is at the top of the list for the next update. Going to allow for groups of notes to be saved and played back.

Thanks for trying out my programs!

- Dav

Find my programs here in Dav's QB64 Corner
Reply
#10
(07-28-2022, 10:56 PM)mnrvovrfc Wrote: MIDI is crazy hard to get right, even on faster computers than what faced programmers in decade-2000, while multimedia was beginning to be prioritized in Windows, and Sonic Foundry ACID Music and Cakewalk Professional software were considered "magical". A few years ago on 32-bit Ubuntu Studio from one music app I triggered via JACK and MIDI the standalone Qsynth (SF2 player). Trying to do drum beats at fast tempos sucked because synchronization was bad. While playing pads and other slow long notes it wasn't noticed as well.

Recording MIDI on the fly and constraining note events to beats or the like, is even harder because some people actually prefer "humanization" of rhythms but one is often turned off with how a music app handles his/her own computations with an external MIDI keyboard. Take for instance, a drummer beginning to play a bit slower than the "project" tempo and very slowly but steadily speeds up to where he/she should be and the rest of the band goes along with him/her. That's why some people have foolishly dismissed some music applications very good at MIDI but not as good as certain "dongleware" with handling audio. They were never interested in triggering synthesizers or into sound design for film composing or doing anything else with MIDI if they could only treat any computer as high-quality multitrack recorder.

To do audio recording as well as playback, and the chance to do both at the same time, might have to interface with Portaudio or such other third-party library. It's the only way to go cross-platform about it.

How about QB64 extended with the hard parts done in straight C? 
Check this out... 
https://github.com/a740g/QB64-MIDI-Player
Reply




Users browsing this thread: 5 Guest(s)