Request/suggestion: automount usb-storage (soundfonts etc) for offloading sdcard read/writes

Ah great! And it wouldn’t change the files already there? It would only add the mounted content?

Also, I tried to copy the files (before I thought of the idea) from my USB to the zynthian directory where the wiki says it looks, but none of the programs found any soundfonts. Do I need to set permissions for the files copied?

Note that I only have some knowledge about the Linux system

Thank you

If you mount over an existing directory then you can’t access the existing files. Zynthian has a system dir and a usr dir to read soundfonts from so you could pick one of them to mount over and place the ones you want to keep in the other.

Ah i see, will try it and report back.
Thanks heaps!

Currently, automount is installed and configured in zynthian. When you plug-in a pen-drive, it should be mounted automatically on “/media/usb0”.

For getting FluidSynth & LinuxSampler to read the soundfonts from the pendrive, you should create a “soundfont” folder in the pendrive and copy to it the soundfonts you want to use. You have to use a very strict directory structure, that is different for SF2 and SFZ/GIG. Take a look to “/zynthian/zynthian-data/soundfonts” and use it as a reference.

After that, you should create a “soft link” from “/zynthian/zynthian-my-data/”:

mv /zynthian/zynthian-my-data/soundfonts /zynthian/zynthian-my-data/soundfonts.bak
ln -s /media/usb0/soundfonts /zynthian/zynthian-my-data/soundfonts

Of course, if enough people find useful this trick and start to use it, i would consider to modify the engine code for looking at the pendrive without needing a soft-link …

Kind Regards,

2 Likes

Ah i see! Thank you for explaining. Will look into it further tomorrow.

If enough ppl find this useful, an Idea would be to have the system look in a document for places to look. Kinda like sources.list

Regards

Also since the rpi 4 have the USB 3 and seems to be superior over the microsd controller in speeds, it should load soundfonts faster than when on sdcards, if the soundfonts are big :slight_smile:

Best regards

1 Like

I can’t try it for now but this would definitely be usefull for me :slight_smile:

I would implement like that:
When a zynthian folder is found in the usb mount, link everything in that folder as symbolic link.
@jofemodo, tell me where and and try something…

1 Like

Let me think about it … and please, open a task in our wonderful Tracking System :wink:

1 Like
2 Likes

Hi @zynthianers!

I just commited an implementation of this. Now you can access presets & soundfonts stored in a USB drive. Simply plug the drive and that’s all. The presets & soundfonts from the external USB-drive will be shown in the zynthian UI with “EX” prefix (external).

You have to use this directory structure:

  • soundfonts

    • GIG
      • bank-1
        • soundfont-1 (file)
        • soundfont-n (file)
      • bank-n
    • SF2
      + soundfont-1 (file)
      + …
      + soundfont-n (file)
    • SFZ
      • bank-1
        • soundfont-1 (directory)
        • soundfont-n (directory)
      • bank-n
  • presets

    • zynaddsubfx
      • bank-1
        • preset-1
        • preset-n
      • bank-n
    • puredata
      • bank-1
        • patch-1 (directory)
        • patch-n (directory)
      • bank-n
    • etc.

Some volunteer to write a brief explanation on the wiki? :wink:

Enjoy!

3 Likes

11 posts were split to a new topic: Zynthian + Vintage Keyboard build

I’m writing the wiki page for external storage right now. Does the presets search path get expanded only to /media/usb0, or to every usb mass storage device connected? (Or does the automounter only mount one in the case of multiples?)

Edit: Here’s the page. Can you check it for correctness, esp. with regards to multiple drives? External storage - ZynthianWiki

Only one: /media/usb0

1 Like

Where did you add the link for the External Storage section?

Also, i would like to short the section by removing the part where you say that exFAt is not supported.
Let’s include the exfat driver on the SD and that’s all :wink:

Could you try to install the driver and test if it works automatically?

apt-get -y install exfat-utils

Thanks!

Lemme grab a spare drive and test that!

And I linked it from both https://wiki.zynthian.org/index.php/Zynthian_UI_Users_Guide and https://wiki.zynthian.org/index.php/Zynthian_Features. As well, to ensure search coverage, I created a redirect “USB drive” that points to “External storage”.

Edit:

Nope, just installing exfat-utils doesn’t let automount see it. Audio record goes to SDC, and the drive is not visible in du:

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root       29950364 9895632  18706708  35% /
devtmpfs         4045056       0   4045056   0% /dev
tmpfs            4078848   80508   3998340   2% /dev/shm
tmpfs            4078848    8620   4070228   1% /run
tmpfs               5120       4      5116   1% /run/lock
tmpfs            4078848       0   4078848   0% /sys/fs/cgroup
/dev/mmcblk0p1    258095   54407    203688  22% /boot
tmpfs             815768       0    815768   0% /run/user/0

Looks like it’s just automount, though, nothing deeper, because if I manually mount it and /media/usb0, Audio Recorder uses it just fine.

root@zynthian:~# mount -t exfat /dev/sda1 /media/usb0/
FUSE exfat 1.3.0
root@zynthian:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        29G  9.5G   18G  35% /
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G   79M  3.9G   2% /dev/shm
tmpfs           3.9G  8.5M  3.9G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mmcblk0p1  253M   54M  199M  22% /boot
tmpfs           797M     0  797M   0% /run/user/0
/dev/sda1       7.6G  4.7M  7.6G   1% /media/usb0

I think the issue may be that exfat is a FUSE filesystem, which requires special handling in udev. Possibly we could grab the kernelmode driver for exfat instead? Though that would be outside vanilla raspbian because of licensing concerns, I believe. I’ve not looked at the Samsung code, but I know several linux distros are going FUSE on exfat for licensing reasons/fear of Microsoft.

Same experience here with a new exfat usb disk, after install exfat-uitils the drive didn’t show up, but mounting manually did the trick.
Obviously this is not a sustainable solution, so hopefully this can be improved. If possible, I’d rather not reformat the USB disk. (The same USB disk is automatically mounted perfectly on another linux system)