bwang514 / performancenet Goto Github PK
View Code? Open in Web Editor NEWPerformanceNet: Score-to-Audio Music Generation with Multi-Band Convolutional Residual Network
PerformanceNet: Score-to-Audio Music Generation with Multi-Band Convolutional Residual Network
Hi, your work was amazing! I am reproducing it but I got some problems when using my own cello solo midi file to run the synthesize_audio.sh.
At first, the ERROR was :
TypeError: conv1d(): argument 'input' (position 1) must be Tensor, not numpy.ndarray
Then I turned score and onoff to Tensor, but not fixed, the error was:
RuntimeError: input has less dimensions than expected
I found that my midi file's shape is torch.Size([22277, 128]), while your TEST_DATA is torch.Size([5, 128, 860])
I tried other midi files but also got same problems. So maybe the process_custom_midi function not transform the midi file with suitable shape?
Again, I appreciate your time reading this issue. Have a great day!
Dear authors,
Thank you for the wonderful paper and code. I just to confirm the implementation of MBRBlock.
Lines 150 to 151 in f2273f0
I think these two lines intend to save the output from the conv-instancenorm block into bands and add bands to x.
However, if I correctly understand torch.0.4.0 doc (https://pytorch.org/docs/0.4.0/torch.html?highlight=torch%20add#torch.add), I think the code "torch.add(bands[i],1,t)" will not save t into bands.
Since bands originally stores the value of x, this line "x = torch.add(x,1,torch.cat(bands, dim = 1))" will do nothing but simply add x with itself (well, not the same object but the same value). As the result, what MBRBlock returns becomes x+x.
To testify that, I debugged and stopped at line 151 before executing it, then I compared the values in x and bands
(Pdb) p torch.std(x - torch.cat(bands, dim = 1))
tensor(0., device='cuda:0')
(Pdb) p torch.mean(x - torch.cat(bands, dim = 1))
tensor(0., device='cuda:0')
This indicates that bands stores the same value as x
With the two lines above, these four lines only multiplies x by 16, without using any conv in the MBRBlock. I can confirm this
through debugging .
Lines 214 to 217 in f2273f0
So, could you check the implementation of MBRBlock?
FYI
I installed dependency according to requirement.txt except scikt-learn and pretty_midi.
But I think these two packages are not related to the above issue.
Hi guys, nice work. In the paper you tried the cello, violin and flute data and I plan to train it on piano midi data, have you guys tried that before? If so, what are the differences compared to other instruments? More specifically, 1) How many minutes of training data does piano need? (In paper you use different duration for different instruments). 2) What are the overlaps between chunks used in piano data? 3) Have you guys tried on shorter clips (like 2-second instead of 5-second) and would it easier to train? 4) Is high sampling rate (44.1k) necessary to get reasonable audio output?
Look forward to your replies. Thank you.
I found that the musicnet.npz file is not available now. Only the original data can be downloaded from https://zenodo.org/record/5120004#.YlP5K9a-s5l . How can I convert the original musicnet files to musicnet.npz which can be used in this project? Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.