Using Text-to-Speech with Nico Live

posted Jul 9, 2011, 8:08 AM by ms b0b   [ updated Jul 10, 2011, 2:52 PM ]


In the last post, I outlined the software needed for conducting your broadcast. During last night's broadcast, a viewer requested me to write up how I setup text-to speech. I use Niconama Comment Viewer with Bouyomi-chan to achieve Text-to-Speech.

Getting Bouyomi-chan

Bouyomichan official site: http://chi.usamimi.info/Program/Application/BouyomiChan/

Direct link to version (2010-12-01)

Getting Niconama Comment Viewer

Niconama Comment Viewer (NCV) official site: http://www.posite-c.com/application/ncv/

Direct link to version 0091 (2011-04-22)

Installing the Programs

Simply unzip the archive files. I expanded the archives in my \NicoLive directory, where my broadcasting tools are stored. Each program exist under their own directories: \NicoLive\BouyomiChan and \NicoLive\ncv_0091 respectively. I will refer to these directories in the future.

Setting up Bouyomi-chan

Run \NicoLive\BouyomiChan\BouyomiChan.exe

The first time you run Bouyomi-chan, it will ask you if you want to enable plugins for 2ch Browser, Skype, Twitter, etc. I said no to all of them.

After the plugin configurations, your firewall may show a warning for Bouyomichan. Say Unblock. I use the built-in firewall in Windows Vista, and it looks like below. If you use other firewall or operating system, it may look different or may not see anything at all.

Then you'll be left alone with Bouyomi-chan's interface.

The controls on this interface are as annotated in red above.

Setting up Niconama Comment Viewer

Run \NicoLive\ncv_0091\NiconamaCommentViewer.exe . This is the NCV main window.

The first time you run NCV, you will be shown this screen to retrieve your login information from browser or other places. Because NCV is hardcoded to search for nicovideo.jp cookies instead of niconico.com, make sure you are either signed in there or make another account just for NCV.

Finally, the options related to text-to-speech. Here, check everything and make sure Bouyomi-chan's path shows in the bottom.

Finally, to have Bouyomi-Chan read back the comments, you need to run Bouyomi-Chan before NCV, or the above options will be turned off. If that should happen, you can open the Options and reenable the options. Enter your broadcast ID into the space and Bouyomi-chan should start readback the comments!

Broadcast Tools

If or when one of the numerous Nico Nama broadcast tools are made compatible with English site, the whole operation can be automated.

How To Broadcast on Nico Live (Beta)

posted Jun 20, 2011, 10:13 AM by ms b0b   [ updated Jun 21, 2011, 7:50 AM ]


Nico Live is a internet video broadcast service similar to Ustream and many others. It is the English version of  the Japanese video streaming service Niconico Douga.

In my last entry, I wrote about the Nico Live beta test. In this post, I will write up about the software I use to stream. I will update this as beta test is over and the normal workflow is implemented. This how to assumes you have already signed up for a Nico Nico Video account.

Purchase the Broadcast Membership

Once you have created an account, verified it and signed in, the next thing to do is to go to the Nico Live page. Click on the Broadcast banner and it will direct you to purchase the membership.

Pay your membership with Paypal and it will return you to the Nico Live page. (I think, working from memory.)

The Community

Next, you will need to create or join a community to broadcast. Once again, click on the Broadcast banner and, if you have no existing community, it will prompt you to create it. Creating a community is a premium feature, and the special beta test accounts can only do it once, so I was unable to get screenshots for it.

From memory, you will need to enter a name and a description for your community. There is an option to make your community public--where anyone can join--or private, where users need approval to join.

Create a Broadcast

Click on the Broadcast banner again and it will bring you to the Create New Program page.

The title of your broadcast. This will be shown to everyone in the category listing.
The description of your broadcast. This will be shown at the top of your broadcast page. You can use limited HTML tags to format the next. <br />, <font> etc. I recommend you keep the title and description in a text file for easy copy and pasting into the form.
Select the community. Different communities have different levels, and levels earns you different features.
Use reservation functions
Reserve your broadcast for a future time. Based on the Japanese site, the reserved 
Access Policy
You can limit the viewers of your broadcast to members of your community only.
If timeshift is enabled, other premium users will be able to watch your program at a later time, up to 1 week later. It is like a DVR function.

Click Confirm and it will bring you to the confirmation page.

Click OK and it will create your broadcast. It may take a few attempts to create the broadcast during prime time, typically Japan time 22:00 to 02:00.

Start Broadcasting

Not so fast! There are few more steps before you can start streaming. First, let's get familiarized with the interface.

  1. This is where you, the broadcaster, enter your comments.
  2. This is where you enter the commands for your comments (to change color, etc)
  3. Click this to use the built-in codec. This is the most straightforward method, but the built-in codec produces poor quality image and sound.
  4. Click this to use an external codec. See the next section about external codec.

External Codec

Once you click the External Tool button, it will show you the following screen.

  1. This is the URL for your external encoder to transmit to.
  2. This is the program number.
  3. Click this to download a xml file that contains the URL and program number as well as the default video settings.
  4. Begin a Test Stream so you may see what you are transmitting. Your viewers will not be able to see at this time. Once you click on this, the button will turn into extend test time.
  5. Start Broadcast.
  6. Return and use simple mode.

The de facto external codec is Adobe Flash Media Live Encoder, or commonly abbreviated as FME or FMLE. It is a free download. FMLE will allow you to stream in VP6 or H.264 codec, but it takes considerable processing power to encode. It works with camera devices installed on your PC. The standard display is as follows:

  1. Open the xml file downloaded from Nico Live screen.
  2. This is the preview of your camera.
  3. This is the preview of the encoder output.
  4. This is your volume level.
  5. Video Settings (my settings are in parentheses after the description)
    • Device: Choose the capture device. See the next section. (I use a webcam.)
    • Format: Choose between H.264 or VP6. H.264 produces a nicer stream given the same bandwidth but is more processor intensive. (I use H.264.)
    • Frame Rate: Choose a frame rate. This will depend on your activity. (I use 29.97 for driving.)
    • Input Size: Choose the resolution for capture. It should be larger than the output size. (I use 640x360 because my webcam is widescreen.)
    • Output Size: Bigger looks nicer but will result in lower frame ratet. The standard Nico Live viewing window is no bigger than 544x384 (I use 480x270 kbps.)
  6. Audio Settings
    • Channels: Choose between Stereo or Mono. Stereo is needed for music and other high quality. Mono is sufficient for voice. (I use mono.)
    • Sample Rate: Choose between 11025, 22050 or 44100. (I use 22050.)
    • Bit Rate: This is a compo
  7. Total bandwidth for the current configuration. You may not exceed 384 kbps. If you exceed 384 kbps, Niconico's server will automatically downscale it to a very low level. If you set your stream right at 384 kbps, your stream may temporarily exceed 384 kbps and trigger the downscaling. Downscaling will remain until the program is over.
  8. This is the URL for the encoder to transmit the stream. If you have configured your settings, you may opt to copy and paste the URL from the Nico broadcast window instead of loading the xml file and overwrite your settings.
  9. This is the program ID. You may opt to copy and paste the program ID from the Nico broadcast window.
  10. Start streaming.
  11. Stop streaming. Rarely FMLE can experience error and stop streaming. You may need to stop and restart the stream to fix it.

Capture Device


Webcam is for capturing the real world. They come in all shapes and sizes from built-in to external HD cameras. Built-in webcams are good for face to face video conferencing but do not offer flexible angles. External cameras usually offer better sensors, optics and placement options, but some may be cumbersome.

I am not in the business of reviewing computer peripherals so I can not recommend one. Personally, I use a Microsoft Lifecam HD-6000 for Notebook that has been discontinued. I like the small size and the flat surfaces on all sides that gives it more flexible mounting options. 

Desktop Capture

You need a desktop capture program to share your desktop. Desktop capture software emulates a webcam and feeds your desktop image to webcam enabled applications as input. 

There are both freeware and commercial offerings in this area. Xsplit is easy to use and capable of capture Direct3D outputs, important games. DxTory is another popular choice.

There are some Japanese software developed specifically for Nico Nico Douga. Nico Desktop Capture and SCFH DSF are some of the more popular ones.

Optional Software

This section will be updated with tools that support English Nico Live.

Comment Viewer

Comment viewer can help you track who are commenting on your broadcasts. These software are Nico Live specific and currently Japanese only. Nwhois and Niconama Comment Viewer (NCV) are popular.

Broadcaster Helper

Broadcaster helper combines the function of comment viewer with the ability to create broadcast blocks and extending reserved broadcasts. The most popular one is Gisshiri Ankochan. Currently it is not compatible with Nico Live because it is hard-coded to use Japanese hosts at live.nicovideo.jp, not live.niconico.com

Text to Speech

Text to Speech software is immensely useful when you do not have the time to look at the comments. Bouyomichan is free and one of the more popular ones, but some malicious users may exploit it and generate sounds that annoy the viewers. Bouyomichan performs poorly at reading English sentences. Most comment viewers and broadcaster helpers have built-in support for Bouyomichan.

Nico Live Beta

posted Jun 17, 2011, 1:33 PM by ms b0b   [ updated Jun 17, 2011, 1:41 PM ]

The Japanese video sharing site Niconico Douga's English service just released Nico Live to beta test. During the beta test phase, you can get premium account for just 25 cents. Normally, the premium account costs $5.99 per month. The premium account is required to stream broadcasts, but anyone with an account (free or premium) may watch.

Live broadcasting has been available on the Japanese service for over 3 years.

Site: Nico Live is Out

Hong Kong StreetView

posted Mar 12, 2010, 2:03 PM by ms b0b

Google Maps has just turned on StreetView for Hong Kong. This is a great boon for the virtual tourists to this fine city. Enjoy!

ThinkPad T60 Fan Repair

posted Jan 31, 2010, 10:32 PM by ms b0b   [ updated May 17, 2010, 4:27 AM ]

Or an illustrated guide to lubricate the ThinkPad T60 fan.


Just a CYA. This guide is for informational purpose only. I do not provide any warranty that this guide will fix the particular problem your computer may have. When working on or around an electronic part, please take electrostatic discharge precautions including wearing an anti-static bracelet and use an anti-static workstation. I am not responsible for any damage to your electronic or computer as a result of following this guide.


My ThinkPad T60's fan has been acting up since the New Year. At first, it was making noise and spins at a slower rate than new. Later, the fan would make noise on the high speed setting and would stop on the low speed setting. When the fan does not spin, ThinkPad BIOS showed "Fan Error" and refused to boot. If I use compressed air to make the fan spin and bypass the BIOS check, sometimes the computer would shut down for thermal protection.


Lenovo's Hardware Maintenance Manual's suggested method is to replace the Thermal Device and Fan. This item costs between $30 to $60 on ebay.

Since my fan stopped working over the weekend and I need my ThinkPad to do work, I decided to see if I can fix the fan myself.


  1. Follow the Hardware Maintenance Manual to remove the thermal device and fan. The link is for a T60 type 8743. Your model may vary.
  2. Once the thermal device and fan assembly is removed from the ThinkPad, place it upside-down on your work surface. The assembly consists of two parts: A copper piece that made up of heat sink, heat pipe and fins and a aluminum piece to which the fan is mounted. The two pieces are held together by four copper tabs and a piece of foil tape.
  3. Unbend the 4 copper tabs (circled in red) and remove the foil tape. I elected to cut through the foil tape along the red line. The copper tabs are very thin so you don't want to use too much force or introduce too much metal fatigue that may cause it to break.
  4. Separate the copper and aluminum parts. The power cable of the fan is still attached to both parts, so don't yank them apart.
  5. Remove the fan by lifting it straight up. It should come off easily.
  6. Put one drop lubricant in the middle of the electric motor. Mineral spirit is ideal. I used Singer brand all purpose machine oil. Do not use WD-40 or other spray lubricants, as its content is mostly propellant and solvent that evaporate.
  7. Reverse the steps to reassemble the Thermal Device and Fan, and the ThinkPad.

After the lubrication, the fan is back to completely silent operation.

Google Sites and Google Maps

posted Nov 8, 2009, 12:02 AM by ms b0b

Google Sites now supports direct embedding of Google Maps. This is a convenient tool for those who built their web sites on the Google Sites platform.

I have went through my travel pages and added maps for all the pertinent locations. I hope with the addition, visitors will be able to find the places easier and plan it into their next trip.

OpenVPN and RapidSSL Certificate

posted Mar 13, 2009, 2:43 AM by ms b0b

I have been running OpenVPN with self-signed certificates without a problem. In the name of science, I had to go and break something that has been working just fine.

Actually, in the interest of properly joining the Private Key Infrastructure (PKI), I obtained a signed SSL certificate from Comodo's RapidSSL CA. (Namecheap offered them for free when I transferred domains to them, so it was a why not moment.) Getting the certificate was quite a task in of itself, but that is another story altogether. After installing the certificate in Apache, which was the primary goal, I noticed that OpenVPN also uses x509 certificates, and the wheel in my head started turning.

"It should be a simple drop in affair," or so I thought at first as I copied the SSL certificate, private key and CA certificate in place.

First, because the SSL certificate exists for one host at a time, I had to choose between either buying a SSL certificate for each of the hosts, or have clients authenticate through method other than certificates. I chose the latter and ended up with these configuration files:


port 1194
proto udp
dev tun
ca ca.crt
cert ssl.crt
key ssl.key # This file should be kept secret
plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login
dh dh1024.pem
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1"
push "dhcp-option DNS"
keepalive 10 120
user nobody
group nobody
status openvpn-status.log
verb 3


dev tun
dev-node OpenVPN
proto udp
remote vpn.server.tld 1194
resolv-retry infinite
ca ca.crt
ns-cert-type server
verb 3

Attempts at connection returns the error:

SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

Research turns up that the certificate can not be verified to a root CA. OpenVPN does not use the operating system's built-in root certificate store. It relies only on OpenSSL and provided CA certificates to verify the SSL certificates. The equivalent command is:

openssl verify -CAfile ca.crt ssl.crt

Armed with this command, I set out to find the missing link. Comodo's provided CA bundle contains two certificates. The first one Positive CA certificate issued by UTN-USERFirst-Hardware, and the UTN-USERFirst-Hardware certificate issued by AddTrust External CA Root. A search on these names led me to this page. With some trial and error, I found by replacing the UTN-USERFirst-Hardware certificate in the CA-bundle with the downloaded UTN-USERFirst-Hardware certificate can pass the OpenSSL verification.

After distributing this new CA bundle to the clients, they are able to connect!

Google Chrome

posted Jan 13, 2009, 6:12 PM by ms b0b   [ updated Jan 13, 2009, 8:03 PM ]

I found that I've been using Chrome more and more as of late. Chrome is not something new to me; I have always had it installed on one computer or another ever since the initial beta release.

So what compelled me to switch from Firefox, which I have been using since 1.0? There are two things bugged me.

  1. It takes a lot of effort to configure Firefox to work in the same manner as Chrome's incognito mode. I have been configuring my browser to delete persistent cookies whenever I close it since Netscape 4.08. On Firefox, there are a lot options in Tools Option to set, and more obscure ones in about:config. On Chrome, I only need to add --incognito to the short cut and I'm done.
  2. Opening a link in new tab puts the new tab at the last position, not next to the tab where the link resides. I know this behavior can be changed via addons or extensions, but I am against installing addons and extensions in my browser. Addons and extensions decrease the browser's 

There has been some concerns about the unique identifier that Google Chrome uses. There are ways to work around that.

Live on Google Sites

posted Jan 13, 2009, 4:45 PM by ms b0b   [ updated Jan 13, 2009, 4:48 PM ]

This site is now live using Google Sites service. The only problem is the Google Maps don't work with Google Sites when it's under a domain name other than sites.google.com. I have tried both embedded and static maps API.

Maybe I need to make a gadget for it.

1-9 of 9