Have you performed a network survey/scan to see if there are any other WiFi networks around you? You don't say what frequency your network is operating on, but if it's 2.4GHz then there are only three (sometimes fewer) channels that do not overlap.
If anyone else has a WiFi network close to the channel you are on, then sometimes their network will transmit on some of the same frequencies your network is using, causing interference. This results in the packets being resent, increasing latency and lowering overall bandwidth.
If their network is on the same channel as yours, then you will be constantly trampling on each others' traffic. A WiFi connection speed of 64Mbps is a little unusual (it's not a common speed), which suggests that there could be quite a bit of interference.
If you do a scan with a program (or phone app) that lists what channels each network is on then this might give you a hint about whether moving your network to another channel might improve your signal quality.
If you are able to move your whole WiFi network to 5GHz instead (and all devices you wish to connect work at 5GHz), then the larger number of available channels will give you much more breathing room.
4https://arstechnica.com/information-technology/2017/03/802-eleventy-what-a-deep-dive-into-why-wi-fi-kind-of-sucks/ – user2428118 – 2017-07-17T12:11:35.867
3For converting bits to bytes in networking it is better to use the formula of 10 bits = 1 byte instead of the traditional 8 bit = 1 byte. This is because in wired serial networking you sometimes literally have 10 bits for 1 byte, 1 start bit, 8 data bits, 1 stop bit = 10 bits. For more modern networking that uses larger frames you still have overhead of packet header. For wireless networking you'll have overhead of synchronisation on top of packet header. I've learned to use 10bits = 1byte to get a good rough idea of actual troughput. The quoted Mbps include things that are not your data – slebetman – 2017-07-17T15:51:48.193
2Pay attention to whether the 'b' is capitalized or not. A capital 'B' indicates 'bytes' (8 bits). A lowercase 'b' indicates 'bits'. – Dan Esparza – 2017-07-18T19:16:08.727
Related, but Powerline-version: https://superuser.com/a/1213468/53108
– usr-local-ΕΨΗΕΛΩΝ – 2017-07-19T07:46:24.3201@DanEsparza: Or at least that's the idea, not everyone follows conventions. Eg. 1 Kb is likely to be 1024 bytes. – Oskar Skog – 2017-07-19T13:56:43.663
What are you transferring the files with? A normal copy operation isn't designed to maximize bandwidth utilization, so try something like Robocopy(https://technet.microsoft.com/en-us/library/ee851678.aspx) or it's equivalent for your OS.
– RBarryYoung – 2017-07-19T14:45:52.333have you tried hard resetting the modem and router? – Brian D – 2017-07-19T14:48:50.947