Login
Back to forumReply to this topicGo to last reply

Posted By

Charlemagne
on 2018-05-24
12:17:03
 New feature of LUMYDCTT: (Music) ZackZack

Dear Commodore Plus/4 Zealots,

Here's the latest feature of LUMYDCTT:



In this part you can
- compose a music by editing sound notes in a score
- select between PAL and NTSC
- manage 3 channels of sound (1,2 or noise)
- play the music sheet (8 bits/16 bits, 8000 Hz, 11025 Hz, 22050 Hz or 44100 Hz)
- save the music score as XML, WAV
- add or insert a new sound note (or two/three)
- delete a line from the score
- edit manually by typing Hz, Note or TED values
- convert music to BASIC DATA lines and Assembly DB lines, too

Use it with pleasure!

Posted By

Lavina
on 2018-05-23
15:20:53
 Re: New feature of LUMYDCTT: (Music) ZackZack

wow nice one! Definitely a thumbs up or two. happy

Posted By

Mad
on 2018-05-24
10:33:50
 Re: New feature of LUMYDCTT: (Music) ZackZack

Wow nice feature! So the basic games will actually now get some proper musics happy.. Very nice..

Posted By

Charlemagne
on 2018-05-24
12:16:21
 Re: New feature of LUMYDCTT: (Music) ZackZack

Thanks Lavina and Mad, but I hope it will be a useful tool for developing easily.

I forgot to mention that you can convert the music to BASIC DATA lines AND to Assembly DB lines, too. (maybe because of it is showing up in the video)

Posted By

MMS
on 2018-05-24
18:06:01
 Re: New feature of LUMYDCTT: (Music) ZackZack



Posted By

Charlemagne
on 2018-05-26
03:26:34
 Re: New feature of LUMYDCTT: (Music) ZackZack

v2.8.0:
- Assembly DB values are the high 8 bits of sound.
- you can follow the sound track visually! (by selecting the current row while playing)

Be a composer! happy

Posted By

gerliczer
on 2018-05-26
06:31:50
 Re: New feature of LUMYDCTT: (Music) ZackZack

I don't really understand what "Assembly DB values are the high 8 bits of sound" means, but if it's storing the upper 8 bits of the 10-bits sound register values then I don't think it is a very good idea. It'd be much better to include and additional table, one with the register values belonging to the notes. Then the score should reference the note table instead of direct write values of the frequency registers. But maybe I'm wrong, in which case ignore my post, please.

Posted By

Charlemagne
on 2018-05-26
08:52:24
 Re: New feature of LUMYDCTT: (Music) ZackZack

Hello gerliczer,

Nope, your post is very useful and you are dead right. The purpose of LUMYDCTT is creating a helpful tool/utility TOGETHER for who wants to develope programs on this platform easily. So I need your helps or feedbacks to get it more-and-more better.

I thought about storing the high 8 bits only, because wasting "only" the lower two bits which perhaps is not so important than the higher twos. (in this case you need only shift bits on the left by two, and this doesn't take a lots of storage-space as including another tables) BUT maybe I am walking on a bad way...

Thanks for your reply!

Posted By

Stinaris
on 2018-05-26
12:14:18
 Re: New feature of LUMYDCTT: (Music) ZackZack

Nice work!
This looks like something I really need.

I tend to agree with gerliczer, it would be better to have a table of note values and the player simply references the table. If need be you could always post process the table removing unused entries and re-aligning the notes to match.

As it happens I've been working on a set of libraries to read/write MIDI files for this sort of tool and that is the route I was heading.

Posted By

Charlemagne
on 2018-05-26
14:42:58
 Re: New feature of LUMYDCTT: (Music) ZackZack

V2.8.2:
- Killing some bugs.
- You can Play/Pause and Stop the playing!



gerliczer sent me a private message in Hungarian and I hope he won't be so angry with me, but I try to translate his message to English, because it's very important:

"Well the TED is not so accurate in controlling pitches. It can be seen perfectly in 'Ultimate Map' by SVS: 'Deviation between obtained and aimed frequency' column on TED sheet. And this deviation would be more inaccurate if we didn't use the whole 10 bits long register value. Telling the truth, it is only noticed by who has got an extremely good ear for music, but 200 bytes is not a huge quantity of sacrifice on the altar of exactitude. What's more coders usually don't save values of the 10 bit registers, but only the 8 bit increments for initializing the sound table. After all, the space of generating code and datas will be used as workplace or temporary data storing so this area can be 'recovered'."

Thanks Stinaris, as you can see what gerliczer said... ...OK I understand what you want to express, but please have a closer look at "eremgyujto" sheet of music in the picture above and tell me how you store the values IF somebody like using not only the normalized values of sound notes(?). "Eremgyujto" (Mac Coin) uses two sound channel side by side and the difference is only 4. OK I understand that it's enough to store only the first channel and adding 4 to it when playing.

But it seems a little bit AI... I am going to think about how to optimize (or compress) DATA and DB lines after converting music score.

Thank you both for the new ideas!

Posted By

Stinaris
on 2018-05-26
19:38:07
 Re: New feature of LUMYDCTT: (Music) ZackZack

Charlemagne, I'm only thinking ultra optimised. I'm weird like that.

I only develop for the C16 so every byte is critical as it means I can fit in sound samples! happy

Does it have a sound player wedge? It's not that I'm lazy or anything........... Oh alright, I am. I admit it.


Now can I fit a 707 sample player in 16K?


Posted By

Charlemagne
on 2018-05-29
02:51:12
 Re: New feature of LUMYDCTT: (Music) ZackZack

gerliczer sent me another private message in which he wasn't satisfied with my English translation of his thoughts. So I would like to share the original Hungarian text (because it is very important and isn't contained any secrets of private life):

"Szóval az a baj, hogy a TED nem igazán jeleskedik a hangmagasságok pontos szabályzásában. SVS Ultimate Map-jében ez nagyon jól látszik a frekvenciák eltérésének oszlopában a TED lapon. És ezt még fokozná, ha nem a teljes 10 bites pontosságú regiszterérték lenne használva. Igazán csak azoknak tűnik fel ez, akiknek rendkívül jó zenei hallásuk van, de kevesebb mint 200 bájt azért talán csak nem túl nagy áldozat a precizitás oltárán. Ráadásul még azt is meg szokták lépni a coderek, hogy nem a 10 bites regiszter értékek vannak tárolva a programban, hanem 8 bites növekmények, amit inicializáláskor használnak a hangjegytábla generálására. A generáló rutin és adatok területét meg később fel lehet használni munkaterületnek, átmeneti adatok tárolására, így ez a memória 'visszanyerhető'."

I think the Hungarian people / language / thoughts are the most complicated things all over the world.

Well, please, give me a better translation of the above text than me and I will select a valuable prize by a draw for the best one. Good Luck!

By the way, please write down how to tell "Elkelkáposztástalanítottátok" in English, thanks... happy


Stinaris, in that case you like thinking in hyper-ultra optimized way, so please give me the most efficient algorithm for the best sound compressing. Let's be more weird.

The 1st: indexes refer to a table of sound notes? It is not good enough, because we need store the whole 10 bit-values and indexes, too. What's more, a lot of notes cannot be available.

The 2nd: storing only 8bit-incremental values? It is not good enough, because we need the initial value (10bit) and then 8 bits... (and when the difference is bigger than 8 bit we need a new initial value, again)

The 3rd: my idea, storing the upper 8 bits? It seems good at the moment.

Do you want to play a music with 707 samples? How many different values are in it?

Nothing is impossible. happy

LUMYDCTT v2.8.6:
- Some bugs are killed: fixing a tooltip for COLOR
- Align objects when resizing window
- Improving status bar messages
- Thinking buttons on the toolbar

Posted By

KiCHY
on 2018-05-29
03:17:58
 Re: New feature of LUMYDCTT: (Music) ZackZack

IMO for the current state (no transpose-like effects, any freq playable, not only "standard" notes), you have to store the exact 10bit value. You need this precision for example for a floating effect when the two channels play almost the same tone.

You can build a note table from all the occurring values and use their indices in the pattern. You need an important precheck: make sure there are no more than 256 different notes in the pattern.

Posted By

bubis
on 2018-05-30
05:35:11
 Re: New feature of LUMYDCTT: (Music) ZackZack

Nice tool.

Posted By

MMS
on 2018-06-01
15:10:24
 Re: New feature of LUMYDCTT: (Music) ZackZack

It is a very nice tool to create those simlier musics we just recenlty discussed (eg. Bach - Fugue in G minor starter part). I really like the idea and the easy to use method..

On the other hand,listening to the video, I always felt this is a little off.

First I though it is due to the NOK FRQ table provided originally by C= (and not the corrected one by SVS) , but after reading the notes it became evident with 8 bit data recording, it will be always a little off, it should be. As you cannot store the exact, precise value of the notes.

Using musical notes (as suggested by some, as note tables), eg. selected by buttons on the top, but could be a small keyboard too, or a musical notes on the sheet.
Could make musical sheets pretty easy to convert to it.
Like this:
https://www.youtube.com/watch?v=Y76uH2xu670

BTW a suggested BASIC and ASM player would be nice.
For me always the biggest challenge was to keep the two channels in sync especially when there are some silence between sorry, I am not a talented musician or programmer happy

Posted By

Charlemagne
on 2018-05-31
15:38:09
 Re: New feature of LUMYDCTT: (Music) ZackZack

Sorry for the late answer, but I was developing as usual...

LUMYDCTT v2.9.2:
- Handling an exception: write letters in a number-type field
- You can select "Create an index table" method for converting sound notes
- Eliminating unwanted commas from DATA, DW and DB lines.
- Optimizing some parts of the source code

First of all, It's a very big honour for me that some other kings of this platform (eg. KiCHY, bubis, ...) also shared their thoughts about ZackZack with me, thank you very much guys.

1.: KiCHY, because of gerliczer has also talked about index-table, so I improved the converting part and extended it with creating indices for sound notes as you can see the screenshots above. I didn't use precheck, but I created a tabe for notes (TableOfNotes) and another table for indices (IndicesAndDelays) on demand, so the converting routine is running until the number of different notes is below 256. This idea is limited (and a little bit wasting because if there are 100 different notes, we waste 100*6bit = 75bytes), but using index-table seems really good.

2.: bubis, thanks. But I hope this will be also useful... happy

3.: MMS, I has just read your comment... ...so I got the values of frequencies from Frequency Table, but your idea about entering sound notes by tables is very impressive. By the way, we didn't chat about how to enter sound notes, but how to store and compress the whole 10 bits of sound notes (as you can see in the pictures).

I have no any sense of music, so thanks for your responses again.

Posted By

MMS
on 2018-05-31
18:33:55
 Re: New feature of LUMYDCTT: (Music) ZackZack

Thank you for your quick responses!

I wanted to make the Bach music right now with your tool, but AVAST blocked your program for 30 hours or so... (sorry)

Actually if you could make MIDI keyboard input on PC possible, it would be astonishing! I have a KORG MIDI keyboard and much more easy to enter a notes with this happy

Posted By

MIK
on 2018-06-01
00:38:52
 Re: New feature of LUMYDCTT: (Music) ZackZack

Some trackers use the PC keys as a keyboard, and you press TAB to cycle the available octaves.
Doesn't take long to get used to entering notes this way.



Posted By

MMS
on 2018-06-01
01:56:33
 Re: New feature of LUMYDCTT: (Music) ZackZack

1) SW released! happy

2) that keyboard layout is also OKish.
The Ion series in Hungary is called C-D-E-F-G-A-H - C-D-E-F-G-A-B

CDEFGAB - CDEFGAB - is a more logical one.

Posted By

bubis
on 2018-06-01
09:21:46
 Re: New feature of LUMYDCTT: (Music) ZackZack

Charlemagne: I am very dumb to music, but if one day I want to play a bit with notes I will probably use your tool, because trackers are just too complex to me. happy
I also appreciate that you develop an IDE. This is fun for its own shake (i can imagine), but I am sure that it is also useful for some folks out there. Unfortunately I am too used to command line tools, like some cross assemblers (cc65, asl) and gnu make, so it is not likely that I will ever use an IDE for 6502 dev stuff.

Posted By

KiCHY
on 2018-06-01
14:24:03
 Re: New feature of LUMYDCTT: (Music) ZackZack

For those who don't know where 'Zack Zack' ("cak cak") comes from happy
https://www.youtube.com/watch?v=XFH5eW_Vl1Y&t=28

Posted By

MMS
on 2018-06-03
05:12:57
 Re: New feature of LUMYDCTT: (Music) ZackZack

Well, I started my music, 1/3 ready happy

UPDATE:
after saving the music in XML format, I could not load it back, it loaded back just a garbage. I donwloaded the latest version.
So I lost the 1/3 music :-(

From the Zack-Zack you cannot save a LUMY file, just an XML, but seems I cannot reproduce the loading process shown on the video.

Answer: Silly me, I tried to load the XLM inthe Code part. Sorry, it was MY fault!

UPDATE2:
I save it in Excel too (CTRL+C;CTL+V) and the LUMYDCTT save also works, just not pokayoke (foolproof :-) ).

UPDATE3:
When you want to do THIS, you need to keep telling for the second channel still goes on for 1/16 lenght, while there is a 1/16 break for the first channel.
Then it sounds as a long sound on the second channel, while you have the break on the first one.

Probably it is evident for every musician, but took some minutes for me to understand.
(OFF I did not listen too much at the elementary school when we learned music theory, I though I will never need it in my whole life. I was absolutely WRONG :-)
So I had to learn now how to read notes, the lenghts, the distorsion and how to decode Trilla.
BTW E#4 is on the BACH sheet, while the LUMYDCTT does not know it, but certainly can be done. Unofficial note by Bach? :-D )




UPDATE4:
For the later stages of BACH Fugue in G Minor I badly missing a real 3rd channel with low bass sound (does not exist on Plus/4)

Posted By

Charlemagne
on 2018-06-04
14:27:07
 Re: New feature of LUMYDCTT: (Music) ZackZack

LUMYDCTT v3.0.5
- Correct frequency values via "Ultimate Map" by SVS
- You can also use "DO-RE-MI" as sound notes: eg. RE#4 is D#4 on the 4th octave
- A new sub-feature for ZackZack: "Insert sound notes" by a "Synthesizer"
- You can use mouse and/or keyboard in "Synthesizer"
- The delay is how long you hold down a key or the mouse button

Huh and WoW, what a flood of opinions... Well, let's start from the beginning, turn and turn away:

1.: MMS, AVAST is a virus, I know! happy Formerly, I used to try some antivirus softwares, in the end I had used Avira for about half a year because it seemed the best, not holding in performance, etc. But I also uninstalled it after detecting a virus in Turbo Vision 4 BASIC... as "TR/Agent.53475.A" Trojan: I tried to guess where was this virus and in the end turned out that was the TANgent function in Math header, so I replaced TAN with SIN/COS in vain... IMHO antiviruses are thimblerigging... happy ...what your AVAST has found in LUMYDCTT is only a false warning because of AVAST thinks about an application using threads (playing sound pattern) is a virus... Nowadays I have only used the embedded antivirus called Windows Defender for years and I have no any problems.

2.: MIK and MMS and CDEFGAB: thanks the new notion as you can see the pictures above I was developing something like that, you can use DRFTGHUJIKOL and SPACE keys (or mouse), you can change octave with up-and-down arrow keys (or mouse), you can change channel if you click on another column in the sound pattern.

3.: bubis, I also like command line work because I like developing under Linux and AmigaOS4.1, too. But at work people usually use Windows and LUMYDCTT is a standalone application, so it runs easily without installing. I tried it at school (on Windows 10) and the pupils like composing some noise... happy

4.: KiCHY, yes, this performance burnt into my mind when I was a child.

5.: MMS again. WoW you are the most active tester for LUMYDCTT happy I am very curious to hear your tune! What is your opinion about a composer-competition???

5a) You are very clever and I see you managed to discover how the thinking buttons are working... happy Yes, when you change tab (Editor/Monitor/CharPlan/ZackZack) the thinking buttons are dynamically change their functions.

5b) pokayoke, what a funny Japanese expression! LUMYDCTT can't speak Japanese! happy

5c) We learnt sol-fa at elementary school but at the secondary school I only copied some sheet music and learnt composers' biographies for the better mark... happy BUT for example I made "O SOLE MIO" in the Castaway!

5d) I am very happy that somebody is interested in ZackZack.

Developing is going on...




UPDATE:
LUMYDCTT v3.1.1
- the synthesizer makes sounds as you press a note
- you can select octaves by pressing from 2 to 9 numbers on the alphabetic keyboard
- you can select channels by pressing 1-2-3 on the numeric keypad

Be a composer!


Posted By

MMS
on 2018-06-05
15:30:50
 Re: New feature of LUMYDCTT: (Music) ZackZack

wow, a lot of nice improvements.

I downloaded the new version, and AGAIN it was blocked by AVAST. Yeah, it is a little annoying, but it will be released in few hours. I had Defender too for a long time, but my kids collected a Trojan from a Flash game site, so then I decided to invest a little, to save my remainig hair.

I did not release my music yet, as a) only half ready b) the B#3 sound was a little off with the old version and it annoyed my ears. Because it was included on the very first, slow notes, it was very noticeable, if you compared it to the real music videos. So now I will check it with the new version.

Otherwise it is already a fun, because trackers were always too compex for me (too much channles, too many instruments: now I do not have these concerns happy )

Posted By

Charlemagne
on 2018-06-07
05:17:53
 Re: New feature of LUMYDCTT: (Music) ZackZack

Thanks MMS!

I think you have found the perfect answer for the opinion of bubis! Yes, my aim of LUMYDCTT is a tool which enables you to develope easily on this platform, easy to use, easy to understand, avoid complexity, making everything so simple, etc.

For getting this aim, I will try for implementing all the given ideas, notion.

p.s.: I am waiting for your tune.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon