Jump to content


Photo

Merge Songs


  • Please log in to reply
185 replies to this topic

#1 mr_mark_dollin

mr_mark_dollin

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2823 posts
  • Gender:Male
  • Location:In the Pattern Matrix.
  • Interests:Quiet Revolutions.

Posted 04 January 2007 - 03:36

Edit this script has now been realised, alone with the randomiser, thanks to conner_bw and Beatslaughter. For new people coming into the thread I'll keep this updated:

Download: https://sourceforge....jects/xrns-php/

It should work out of the box (for Windows users), so to speak. Do not follow any of my advice about moving shit around when using this, it works as a standalone.

If you still experience problems, cut & paste from the console so I can debug it.

Thanks.




Original post:


I occasionally have the need to merge to songs, especially when merging seperately made verse and chorus ideas. Could a 3rd party xrns program handle this task?

The arrangement would be simple: You have file1 and file2. File1 is the selected host and file2 is considered as the import. The master effects of the host are retained. In the merge process the respective file2 amount of new channels and sends are made after the file1 channels and sends. All automations and send addresses are re-ordered to accommodate the file2 data. The pattern data from file2 is appended after the patterns of file1.

It is then up to the user and the new file to edit the merge manually to their liking, having all the data from both parent songs to meld at their fingertips.

I would program this if I had the skills, but I'm flat out being a composer. Any one think this is a juicy idea?

Edited by Conner_Bw, 28 March 2012 - 15:25.
It's 2012 now, ~5 years later...

  • SPDK likes this
Posted Image

#2 mr_mark_dollin

mr_mark_dollin

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2823 posts
  • Gender:Male
  • Location:In the Pattern Matrix.
  • Interests:Quiet Revolutions.

Posted 10 January 2007 - 00:45

Hey mods, can we move this thread to the new xrns-dev forum?
Posted Image

#3 Ambivalence

Ambivalence

    Advanced Member

  • Normal Members
  • PipPipPip
  • 113 posts
  • Location:Poznan, Poland

Posted 22 January 2007 - 01:36

Yep, it's possible. Already started implementing it (to test the not-yet released prototype XRNS-Lib). Stay tuned.
I'm back. Armed.

Some links: XRNS-Lib, Me on last.fm

[pc] MacBook Pro 15.4" [cpu] Intel Core 2 Duo 2.16 GHz [ram] 1024 MB
[hdd] 120GB/5400RPM [audio] PreSonus Firepod [os] MacOS 10.4 Tiger
[piano] Yamaha CP300 Stage Piano

#4 choice

choice

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2312 posts
  • Gender:Male

Posted 22 January 2007 - 20:45

ooooh my! this is exactly what i need!!!!!!

i have so many things i would love to use something like this with!

#5 mr_mark_dollin

mr_mark_dollin

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2823 posts
  • Gender:Male
  • Location:In the Pattern Matrix.
  • Interests:Quiet Revolutions.

Posted 23 January 2007 - 00:36

Yes I'm very supportive of this idea. There are a good deal of restoration projects I'm doing that would benefit from this ability.

Also, used creatively, some wonderful mashups will be achieved.
Posted Image

#6 choice

choice

    Guruh Motha Fakka is Levitating and Knows Everything About Renoise Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPip
  • 2312 posts
  • Gender:Male

Posted 23 January 2007 - 21:17

i have an amen file 'O patterns that i always constantly want to update with new patterns, but it gets kinda mundane so i havent been keeping it up.

so this would really help for that !

atm the only way to do it really is to run 2 instances of renoise, which atm i dont have enough power for, but when i really need to do it, renoise will at least let me! ;) an that is sooo nice about 1.8!

i really need to research an look deeper into this xml stuff.

there is some code in sc3 that enables users to record the OSC timing/duration/notes... etc. basically the same as pattern data without instruments linked. all in realtime to a text file an i'm positive it could be told to write to the file in a xml compliant format.

so then we take that data being compliant then use what this thread is about, merge it with a renoise song!
give the patterns instrumentas an presto!
non realtime pseudo algorthymic compostition!

a rather strange way of cheating i guess, but eheheh!


i fully agree, we need this!

#7 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 03 May 2007 - 11:07

it will be fiture in renoise?
becouse really i want it to)
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#8 Kizzume

Kizzume

    Guruh Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPip
  • 958 posts

Posted 05 May 2007 - 04:42

It would be a truly great option.

#9 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 27 May 2007 - 18:13

any news?
maybe any alpha or beta versions exists?)
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#10 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 28 May 2007 - 00:33

I've started working on this in PHP5.

This is extremely early development. There is no code to unpack songs. I'm basically working with two renamed Song.xml files that only contain VSTi instruments, I am running `php script.php > Song.xml` at the bash prompt, zipping that file, renaming it .xrns and double clicking it to launch.

If I merge instruments, and only instruments, the above works fine. If I merge any other parts of the xml I am getting Kernel panics / Renoise crashes.

I'm obviously hacking my way through this, but if anyone familiar with the XML of Renoise and a copy of PHP5 with the SimpleXML extension can tell me where I am going wrong, it would be appreciated.


EDIT: Scroll Down...

EDIT: I've added validation. My XML is valid (yay!) ... but it still crashes Renoise.

Edited by Conner_Bw, 30 May 2007 - 06:28.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#11 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 28 May 2007 - 02:22

Alright, I've spent a lot of time debuging this (thanks BeatSlaughter in IRC) and I'm at a loss. Merging my songs makes renoise crashes like nobody's business...

http://www.nullwhore...emp/Archive.zip

Interested? Check out the above. Output.xml is the results of merging Song2.xml into Song1.xml. If you zip Song1 and Song2, they open (rename to Song.xml, zip, then rename to .xrns) but if you zip output.xml, my renoise crashes (again, rename to Song.xml, zip, then rename to .xrns).

I've spent 2 hours on this, so advice like "is it UTF-8" or "what about the order of the child nodes in Tracks" or "linebreaks between two </closing></closing> tags" have all been tried...

Am I missing something? Thanks for your help.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#12 taktik

taktik

    Renoise Developer

  • Admins
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 15040 posts
  • Gender:Male
  • Location:Berlin, Germany
  • Interests:füße waschen

Posted 28 May 2007 - 15:24

The CDATA sections seem to be corrupt. In the original songs and the merged songs.

Also you must make sure that the number of tracks in all patterns is equal to the number of "global" tracks and that there is only one master track.

Contact me directly if you need more help (taktik @ ... com ).

#13 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 28 May 2007 - 15:47

Cool, thanks a lot.

I'll work on this during the week.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#14 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 28 May 2007 - 21:10

if you will finish it in php i can rewrite it to c# .net 2.0 version.
and i can help you with programming)

tomorrow i will contact you maybe we can create this as library or worked aplication.
but i am not good in xml and xsl(
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#15 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 28 May 2007 - 22:13

I will publish the source code and people can do what they want with it. My intention is to make a shell script (unix/dos style) but that might not be appropriate everyone.

The CDATA sections seem to be corrupt. In the original songs and the merged songs.


I re-read this... The original songs are the ones extracted from Renoise saved .XRNS files (on OS X)... so I'm having trouble understanding how they can be corrupted?

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#16 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 29 May 2007 - 04:57

I'm using this thread as my own CVS/Subversion but, yes, I got rudimentary merge working! Now I need to: compensate for send tracks, load up more complex xrns files with samples, and sleep. Be back later this week.

EDIT: Scroll Down...

Edited by Conner_Bw, 30 May 2007 - 06:27.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#17 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 29 May 2007 - 11:46

maybe better look for xml merge code?

http://support.microsoft.com/kb/311530
i will check it later)

to taktik
can you tell me how to extract files from xrns file?
becouse i want write applkication for merge songs not only xml.
thanks
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#18 It-Alien

It-Alien

    Probably More God or Borg Than Human Member

  • Moderator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 9593 posts
  • Gender:Male
  • Location:Avellino, Italy
  • Interests:trackers, basketball, chess, tabletennis, programming, writing, drumming, burping

Posted 29 May 2007 - 11:56

XRNS files are simply ZIP files.

you can use any ZIP library in order to open them
my specs:
cpu:Intel Core2 Quad Q9550 (4x2.83Ghz, FSB 1333Mhz)
os:Win7 Home Premium 64bit - OSX 10.9.1 64bit
audio: M-Audio Audiophile 24/96 PCI


Unschemed, hypertechnical tracked music. Sounding different since 1993.

my latest song: Lavender Town Syndrome (11'33", Psychedelic Beast)


where to find more music by me: soundcloud , jamendo , last.fm , napodano.com , facebook

RTFM.gif

("Lavender Town Syndrome, 11'33" Psychedelic Beast)

#19 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 29 May 2007 - 12:22

ohh thanks
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#20 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 29 May 2007 - 14:34

can you tell me how to extract files from xrns file?
becouse i want write applkication for merge songs not only xml.


Give me a few days and my script will merge songs, not just xml. It's one thing at a time. But yeah, if you want to program your own, go for it.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#21 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 29 May 2007 - 15:24

for merge song need to do next things
1. unpack
2. Merge song.xml
3. check all samples
4. pack



no problem m8 i can wait for it but .net 2.0 containe xml merge method $)
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#22 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 29 May 2007 - 15:44

no problem m8 i can wait for it but .net 2.0 containe xml merge method $)


PHP5 also has XML merge, that's not how you "merge" XRNS xml though... it won't work like that. I tried. You should give it a try too though, it's always fun to learn by spending hours failing :)

When my script is done i'll outline the algorithm/procedure in human readable comments so others can implement it in other languages.

Good times.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#23 Belkin

Belkin

    Chief Above Chief Member

  • Normal Members
  • PipPipPipPipPipPip
  • 302 posts
  • Location:Ukraine, Lviv
  • Interests:Music

Posted 29 May 2007 - 16:15

okay)
Life is too short to listen to slow music
IPB Image
IPB Image
IPB Image
IPB Image

#24 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 30 May 2007 - 06:27

Ok, this is still not done. I am basically using this thread as a place to store backups. My basic test case works, but more complex songs fail miserably. I won't be able to work on this for a few days. If anyone wants to have a go, by all means, please go ahead. Otherwise, your patience is appreciated.

EDIT: Scroll Down...

EDIT: I added padding zero left pading (03 + 2 = 05) and a non-recursive obliterate directory because I was having problem on Windows.

Edited by Conner_Bw, 30 May 2007 - 18:15.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »


#25 Conner_Bw

Conner_Bw

    Probably More God or Borg Than Human Member

  • Normal Members
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7091 posts
  • Gender:Male
  • Location:Montreal, Quebec, Canada

Posted 30 May 2007 - 18:13

Code updated, yet again. Spare PHP coder and XML guru insight appreciated.

EDIT: Scroll Down...

Edited by Conner_Bw, 31 May 2007 - 00:00.

cpu Lenovo X220, Intel i7-2640M @ 2.80GHz ×4 os Windows 10 / Ubuntu 16.04 LTS
My Homepage » : My Renoise Tools » : Normalize Your Sig » : One million clicks! »