Log in to Freesound

Problems logging in?
Don't have an account? Join now

Problems logging in?

Enter your email or username below and we'll send you a link to help you login into your account.

Back to log in

Almost there!

We've sent a verification link by email

Didn't receive the email? Check your Spam folder, it may have been caught by a filter. If you still don't see it, you can resend the verification email.

Default title

  • Sounds
  • Tags
  • Forum
  • Map
    • Sounds
    • Packs
    • Forum
    • Map
    • Tags
    • Random sound
    • Charts
    • Donate
    • Help

Freesound Forums

  • Freesound Forums
  • Freesound Project
  • website engine

website engine

Subscribe

Started April 15th, 2005 · 4 replies · Latest reply by Rodion 20 years, 10 months ago

K
kacheng

0 sounds

2 posts

20 years, 10 months ago
#1

Bram, congratulations on a fantastic website and very cool concept.

I'm thinking of setting up a tag-based website myself, and I wanted you know more about how you built freesound.

You mentioned that you used PHP + MySQL + Smarty.

Let's start with the basic questions:

I'm considering using PostgreSQL. Tell me about your decision for using MySQL. Are you using InnoDB tables?

What made you decide to use PHP? I'm thinking about using Ruby. How long did it take you? Would you do it in PHP again?

For the tagging system, how are you storing the tags to the database? Full text fields? Wouldn't that be slow? Separate table for each tag? Would you create those dynamically? Tell me more.

Thanks in advance. I'm totally fascinated with tags now and I think your site handles them really well.

Bram

122 sounds

1,573 posts

20 years, 10 months ago
#2

kacheng
I'm considering using PostgreSQL. Tell me about your decision for using MySQL. Are you using InnoDB tables?

MyISAM tables, not sure about the advantages of using other types. Haven't had any experience with Postgre, but heard many many good things about it. We're using MySQL 4.1.x so we do have the advantage of using subqueries (which I like a LOT).

kacheng
What made you decide to use PHP? I'm thinking about using Ruby. How long did it take you? Would you do it in PHP again?

PHP, because it's "standard" and because I know it. Also because I wanted to get 5.x to know better. 5.x is a MAJOR improvement over 4.x. Also, because smatry templates are so nice, and because I have experience searching the web for things PHP-related (I guess...).

For the tagging system, how are you storing the tags to the database? Full text fields? Wouldn't that be slow? Separate table for each tag? Would you create those dynamically? Tell me more.

Tag-audiofile connections:

ID,audioFileID(index),userID(index),tagID(index),date
(audiofileID + tagID) = unique

Tags:

ID, tag (string + index)

As I'm only doing '=' searches on tags and not 'like' or fulltext (which would be useless imho) it doesn't matter that much.

Hope this helps a bit, let me know if there's more!

- Bram

Admin | Support
K
kacheng

0 sounds

2 posts

20 years, 10 months ago
#3

Thanks Bram,

A couple of questions:

ID,audioFileID(index),userID(index),tagID(index),date
(audiofileID + tagID) = unique

When you say (audiofileID + tagID) = unique, do you mean that when you add the fields together and that is a unique item?

What do you do if there is more that one tag per audiofile? Do you create a separate record for each one?

Thanks!

R
Rodion

0 sounds

1 post

20 years, 10 months ago
#4

I think this site is a great idea and I found it through a MSNBC tech blog. I downloaded a few sample packs and noticed that some are quite large. My suggestion would be to include torrent files for the packs to cut down on your bandwidth. Thanks!

Post reply
About Freesound Terms of use Privacy Cookies Developers Help Donations Blog Freesound Labs Get your t-shirt!
© 2026 Universitat Pompeu Fabra