For newer versions of Google Chrome, Tampermonkey is broken. Use this method instead.
* You may lose the ability to play Youtube videos through the player though, but sounds will work
If Tampermonkey works for you, use this version.
* This method is what the script was originally designed for, and should still retain Youtube video playback capabilities
Make sure to not have Tampermonkey install it
Same as opening your browser settings and navigating to the Extensions tab
Should say "Drop to install" or something similar. Let it install this way
* If you use this method and still have Tampermonkey installed, be sure to disable it through Tampermonkey
* You have to do this because of some stupid security setting Google Chrome changed that nobody cares about.
If you want to review the code or modify it yourself, there are 32 versions of the script:
If you are using Chrome + Tampermonkey, it is advisable to not use 4cs.dev.user.js if you plan on modifying it, as Tampermonkey stores userscripts in an odd way.
If your browser isn't listed, chances are it's not directly supported. That is, it might work on it, but hasn't been tested on it.
You can try using it in your browser, but there is no guarantee it will work. If you find problems with it, create an issue report.
ogglify is an encoder designed to replace oggchan.
Since oggchan is no longer under development, it doesn't encode files to the correct type. Thus, one way or another, the resulting file has to be masked after it's created.
This application performs conversion from .mp3, .flac, and similar file types to .ogg and embeds them.
Create a folder and put the following files inside:
bigger is a re-encoding program designed to upscale images.
This application was made so it could be easier to upscale an image while keeping the sound data intact and in an up-to-date format.
It should help bypass any minimum resolution constraints placed on images.
Create a folder and put the following file inside:
And that's it!
Usage is just as simple as setup: simply drag and drop your image(s) onto the application and let it work its magic.
A command prompt window should appear and disappear. When done, you should be left with new files named "filename-bigger.ext".
In addition to upscaling, it should also convert your source files to the proper format (if they weren't already.)
Settings are set by changing the application file's name. Each setting is separated by a . in the file name, and order does not matter. Check the presets for examples.
There are 3 main settings the bigger application uses:
The desired number of pixels to appear in the file. Can be in one of two formats:
Where n and m represent integer numbers.
(Default size is 800*800)
If a parameter called "best" is included, the resulting upscale will have the best possible quality.
This means that the upscale will scale with an integer factor, and will increase image quality if possible.
If this parameter is omitted, scaling might not be an integer factor, and quality will never be increased; only decreased if necessary.
(Starting quality is 85%)
Sets the maximum file size limit for upscaled images. Example usage:
All result in a file size limit of 3 megabytes.
(Default limit is 3 megabytes)
Issues can be tracked on this page.
If you come across any problems with the script, please refer to the above url and post a new issue.
Try to include information about the problem such as browser, userscript plugin (Greasemonkey, Scriptish, Tampermonkey, etc.), any other userscripts installed which may be conflicting, and a description of the problem.
If you are having issues with sound playback, you can make sure your browser supports the <audio> tag on this page.
This page is for testing if your browser can properly support <audio> tags the way they are used in the player.
The audio shouldn't be visible, but playback should still work.
Click generate to start the test.
Source code is available on Github.
Additional project information can be viewed in the wiki.
The userscript is designed primarily to be an extension to 4chan's image boards, but is designed with modularity in mind.
Currently it supports detecting and playing embedded .ogg Vorbis sounds in images, replacing inline URLs, playing Youtube videos, playing Vimeo videos, and playing Soundcloud sounds.
The userscript is designed as a plugin to be used on 4chan's image boards, as well as the Foolz archive.
The main functionalities it adds are the ability to play embedded .ogg Vorbis sounds, replace inline URLs, and play embedded Youtube/Vimeo videos.
The script functions by embedding sounds or videos into a small player window inside the browser. This window can be resized, dragged across the screen, and customized to the user's liking.
There is also a built in sound uploader which can be used to add, remove, or re-tag sounds in an image.
This can be particularly useful to re-tag all the images with the  tag. It can also auto-detect any sounds in the image you select to upload on the fly.
The origin of the name "4cs" comes from the abbreviation of 4chan sounds, but since its conception, it has moved on to be more than just a sound player. As it stands now, "4cs" is just a fun way of spelling "forks".
The project is focused on 2 major parts: steganographic image encoding and a web plugin for playback.
If you already know how steganography with images works, you'll probably not need to read this, but steganography is basically a way to hide information. 4cs makes use of it by allowing users to embed files inside of .png images.
Each pixel in an image has 3 or 4 components to it, each of which takes up 8 bits of memory. The image steganography in this project works by reducing the number of bits that a pixel's color component uses (to, say, 5 bits instead of 8) and uses the remaining bits (3 bits in the example) to encode data. Since not all of the color bits are used, the image will still maintain (to an extent) the original picture.
The motivation behind this project was essentially "sound threads" on 4chan. While I never actively partook in them, occasionally I would listen to some of them.
However, sometime in December 2012, the site developers disallowed the (at that time) current method of uploading sound images.
Since the method of embedding files in images is fairly simple (just concatenating the file to the end of an image file,) detection was also easy.
I decided I wanted to find a new way to put sounds/files inside of images. Thus the conclusion of steganography, and the only suitable file type for this was .png's.
Steganography was chosen because it has a higher CPU usage overhead to detect a sound within a .png image: you can do it easily locally, but it's probably a bad idea to implement large scale on a server.
Originally this project started out as a toy project using Python, as Python's an easy language to get a quick prototype working with.
Both a working encoder and decoder were built using Python.
At a certain point, the performance of Python became undesirable, and I ported it to C++. This version ran much faster and presently has many additional features over the deprecated Python version.
Additionally, they both run as standalone .exe files, so users wouldn't have to install Python to use it.
Once a working C++ encoder/decoder were made, I worked on modifying the 4chan Sound Player userscript. This was a major pain in the ass for multiple reasons:
But with much struggles, I finally got a working version of it out and posted 1 thread about it on Christmas.
At a certain point I got tired of the horrible old script, due to the aesthetics of both the code and the sound player. Visually, I wanted users to have a nicer looking player, because this is what every thread revolved around.
I redesigned the player to have a more visually pleasing design while maintaining (and adding) features.
This redesign was posted shortly after New Year's.
Click here for a comparison image.
While maintaining all features of the original userscript, this script also adds the ability to auto-load all image-sounds in the thread, and an option to attempt to passively detect all image-sounds.
Passive sound detection runs in the "background" (or at least it shouldn't disrupt the browsing experience by freezing the browser) and scans every image in the thread. The trade-off is that this works very slowly compared to normal loading.
Additionally, inline URL replacement was added; this feature can be optionally disabled in the player's settings.
After sound playing was completed, I thought that the player looked nice in and of itself, so I thought that adding Youtube video playback would be a nice way to make it able to be used more often, especially since sound playback and video playback can interweave.
So after much struggle to get it to work in Google Chrome, here we are.
Vimeo playback support was also added; functions similar to Youtube playback.
As an aside, as much of a hassle as it was to get it to work again, I found the API nicer than Youtube's, since you can (and I did) write my own wrapper easily.
Two batch extraction applications were also created for older formats: a decoder and a re-encoder.
embed.exe is an application designed to efficiently embed files inside of images.
Currently it supports input types of .png, .jpg, and .gif and always outputs as a .png image.
If you want to encode files using this application, use the following process:
This application currently does not function as an audio encoder. As such, if you wish to convert your .mp3 or other audio files into .ogg files, you'll need an external program.
Currently, I suggest using Audacity, as it's a decent audio application. To encode .ogg files using Audacity:
If you know how to work command line tools, you can view all the command line options available by running it in a terminal. (The reason the file named "_" is required is because it sets several default options that would normally be set using command line flags.)
To view a list of flags, simply run "embed.exe" to view usage information.
An image guide that serves as a shorthand for the above information.
extract.exe is an application designed extract files hidden in steganographic images created by embed.exe.
Extracting files is easy:
If want to extract files from non-steganographic images, go to this page.
While not very many, there are still a few command line flags that you can use when extracting images.
To view a list of flags, simply run "extract.exe" to view usage information.
This application is used to extract sounds from images.
It renames any sounds found as sound_tag.ogg and outputs it to the current folder. Any naming conflicts will be resolved.
This application is used to re-encode old image formats into steganographic images.
It renames any sounds found as sound_tag.ogg and outputs it to the current folder. Any naming conflicts will be resolved.
Note: this requires embed.exe to be in the same folder.
Both applications are used in the same manner:
So you want to create original content? Here's a guide:
Be sure to click the image links that appear on the right if you get lost
Put your image and any sound files you want to embed inside the folder
A command prompt window should appear; sit back and let the magic happen
Reply as you normally would to any thread, including your new image of course
Your image should be uploaded with the filename preserved
You can now load your sound-image in the player
If you have issues posting, check out bigger.
For anybody who cares enough to view this section, here are some tips for using these applications:
If you want your file to encode faster and don't need the best possible audio quality in your image:
The filename of your audio files will be used as the [tag] for playback; rename your files accordingly if desired
If you want to test your image before you upload, you can drag the output file from step 6 onto an open Media Player in your browser
If you want a different filename, be sure to rename your file from step 6 to something different
An early format for including short video clips is now available: Videncode
The application includes a GUI, and the site includes a step by step guide for making content.
Best usage tips: