1 | 2 | 3 | 4 | 5 |最初 次ページ >>
2016-09-22 20:09:33

[macOS]Text To Speech

テーマ:ブログ

今回は、以前のアプリをSwift化するだけの内容だ。

テキストの内容を読み上げるが、それにディレイをかける。

import Cocoa
import AudioUnit
import AudioToolbox
import CoreAudioKit
 
class ViewController: NSViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // Do any additional setup after loading the view.
        demo()
    }
    
    override var representedObject: Any? {
        didSet {
        // Update the view, if already loaded.
        }
    }
    
    var auGraph: AUGraph? = nil
    
    func demo() {
        var inputNode: AUNode = 0
        var effectNode: AUNode = 0
        var outputNode: AUNode = 0
        
        NewAUGraph(&auGraph);
        
        var	cd = AudioComponentDescription()
        cd.componentType = kAudioUnitType_Generator
        cd.componentSubType = kAudioUnitSubType_SpeechSynthesis
        cd.componentManufacturer = kAudioUnitManufacturer_Apple
        cd.componentFlags = 0
        cd.componentFlagsMask = 0
        
        AUGraphAddNode(auGraph!, &cd, &inputNode)
        
        cd.componentType = kAudioUnitType_Effect
        cd.componentSubType = kAudioUnitSubType_Delay
        AUGraphAddNode(auGraph!, &cd, &effectNode)
        
        cd.componentType = kAudioUnitType_Output
        cd.componentSubType = kAudioUnitSubType_DefaultOutput
        AUGraphAddNode(auGraph!, &cd, &outputNode)
        
        AUGraphConnectNodeInput(auGraph!, inputNode, 0, effectNode, 0)
        AUGraphConnectNodeInput(auGraph!, effectNode, 0, outputNode, 0)
        
        AUGraphOpen(auGraph!)
        AUGraphInitialize(auGraph!)
        
        var generateAudioUnit: AudioUnit? = nil
        AUGraphNodeInfo(auGraph!, inputNode, nil, &generateAudioUnit)
        var channel: SpeechChannel? = nil
        var sz: UInt32 = UInt32(MemoryLayout.size)
        AudioUnitGetProperty(generateAudioUnit!, kAudioUnitProperty_SpeechChannel, kAudioUnitScope_Global, 0, &channel, &sz)
        
        AUGraphStart(auGraph!)
        
        SpeakCFString(channel!, "Nice to meet you. It's nice to see you! Nice meeting you. I'm pleased to meet you. Please say hello to your family. I look forward to seeing you again. Yes. Let's get together soon." as NSString, nil)
    }
    
    func dispose() {
        AUGraphStop(auGraph!)
        AUGraphUninitialize(auGraph!)
        AUGraphClose(auGraph!)
        DisposeAUGraph(auGraph!)
        auGraph = nil
    }
}
関連情報 [Mac]談話と特殊効果(Text-to-Speech)
https://github.com/murakami/TextToSpeech
【Cocoa練習帳】 http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
最近の画像つき記事
 もっと見る >>
2016-09-14 23:51:04

[macOS]AU Lab

テーマ:ブログ

テキスト文書を読み上げ機能で再生した音声に、CoreAudioのAudio Unitを使ってエフェクトをかける方法を探っていきたいと思う。

まずは、Audio Unitについて調べてみる。

CoreAudioのAudio Unitで出来る事を調べるには、AU Labを使ってみるのが一番だ。

AU Labは、以下から入手できる。

Mastered for iTunes

 

読み上げるテキストを用意する。

 

自由に利用出来るテキストとして、小説『白鯨』がよく使われているが、日本語のテキストだと、青空文庫から入手するのがよいと思う。ただし、文字コードはUTF-8に、開業文字はLFにすること。

入手してテキストをsayコマンドで読み上げる。

$ say -n : -f ./風琴と魚の町.txt

AU Labを起動する。

 

 

"Create Document"を押下し、Editメニューで"Add Audio Unit Generator..."を選択し、AUNetReceiveを追加する。

 

 

AUNetReceiveの接続を押下する。

 

 

追加したGeneratorのEffectsを押下し、メニューでAUDistortionを選択する。

 

 

すると、ディストーションのパラメータが変更できるようになる。

 

 

次は、これをプログラムで行えるようにしてみる。

 

関連情報

Mastered for iTunes

 

【Cocoa練習帳】

http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)

AD
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-08-30 19:49:11

21cafe

テーマ:ブログ
AD
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-08-30 17:00:27

東京は晴れたのかな

テーマ:ブログ
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-08-30 00:35:07

[bluemix]Arduino Unoを利用した温度センサーを作成する

テーマ:ブログ

クラウド温度計の開発を考えている。
今回は、Arduinoで温度を計測するに挑戦だ。

まずは、Arduino。今、入手するとしたらArduino Uno R3ということになるだろう。

次にIDEを入手する。

温度計は、Virtuabotix DHT11。Amazonで探せば色々と見つかると思う。

この温度計には、GNDとNC、DTA、VDDの足が出ていると思うが、ブレッドボードを使うなどして、DHT11のGNDをArduinoのGNDに、VDDを5Vに、DTAをデジタル・ピン2に接続する。

VirtuabotixのサイトからDHT11のライブラリを入手し、IDEに組み込む。

するとサンプルも組み込まれる。IDEの「ファイル > スケッチブック > libraries dht11_functions」を選択して、サンプルを開く。これを実行する。

#include 
 
dht11 DHT11;
 
void setup()
{
  DHT11.attach(2);
  Serial.begin(9600);
  Serial.println("DHT11 TEST PROGRAM ");
  Serial.print("LIBRARY VERSION: ");
  Serial.println(DHT11LIB_VERSION);
}
 
void loop()
{
  Serial.println("\n");
 
  int chk = DHT11.read();
 
  Serial.print("Read sensor: ");
  switch (chk)
  {
    case 0: Serial.println("OK"); break;
    case -1: Serial.println("Checksum error"); break;
    case -2: Serial.println("Time out error"); break;
    default: Serial.println("Unknown error"); break;
  }
 
  Serial.print("Humidity (%): ");
  Serial.println((float)DHT11.humidity, DEC);
 
  Serial.print("Temperature (°C): ");
  Serial.println((float)DHT11.temperature, DEC);
 
  Serial.print("Temperature (°F): ");
  Serial.println(DHT11.fahrenheit(), DEC);
 
  Serial.print("Temperature (°K): ");
  Serial.println(DHT11.kelvin(), DEC);
 
  Serial.print("Dew Point (°C): ");
  Serial.println(DHT11.dewPoint(), DEC);
 
  Serial.print("Dew PointFast (°C): ");
  Serial.println(DHT11.dewPointFast(), DEC);
 
  delay(2000);
}

IDEのシリアルモニタを開くと、温度が計測されていることがわかるはずだ。

 

関連情報 Arduino Uno と IBM IoT Foundation を利用してクラウド対 応の温度センサーを作成する: 第 1 回 回路を組み立てて環 境を構築する
【Cocoa練習帳】 http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)

いいね!した人  |  コメント(0)  |  リブログ(0)
2016-08-29 00:00:00

[Cocoa]Cocoa Study at Ikebukuro #3

テーマ:ブログ
場所を池袋に移しての三回目の勉強会。 今回の発表は、『NSTableViewのUIを改良する、その1』と『Arduino Unoを利用した温度センサーを作成する』でした。 関連情報 Cocoa Study at Ikebukuro #3
【Cocoa練習帳】 http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-07-27 00:30:09

[Cocoa]Cocoa Study at Ikebukuro #2

テーマ:ブログ
場所を池袋に移しての二回目の勉強会。 今回の発表は、『キーボードショートカットキーの拡張』でした。

関連情報
Cocoa Study at Ikebukuro #2

【Cocoa練習帳】
http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
note
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-07-14 23:18:52

[macOS]OS X の起動可能なインストーラを作成する

テーマ:ブログ
備忘録。
Macintosh復旧のため、USBメモリーにインストーラを書き込んだので、そのコマンドを記載する。
$ sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/ボリューム名 --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app
関連情報
OS X の起動可能なインストーラを作成する

【Cocoa練習帳】
http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-06-27 23:13:10

[Cocoa]Cocoa Study at Ikebukuro #1

テーマ:ブログ
場所を池袋に移しての最初の勉強会。
今回の発表は、nibから文書を生成するツールとATS、Bluemix、サーバサイドSwiftでした。

【Cocoa練習帳】
http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
いいね!した人  |  コメント(0)  |  リブログ(0)
2016-05-26 23:26:05

Bluemix

テーマ:ブログ

iOSアプリケーションの開発をしていると、どうしてもサーバ側の話が出てくる。でも、自分で立ち上げて維持管理するのは大変だ。実運用でなく、開発時としても、もっと楽をしたい。

そんな自分の要求を満たしてくれるのか?明日のセミナーが楽しみだ。

関連情報 【夜間】IBM Bluemix入門セミナー
IBM Blumix入門セミナー
【Cocoa練習帳】 http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
いいね!した人  |  コメント(0)  |  リブログ(0)
1 | 2 | 3 | 4 | 5 |最初 次ページ >>

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。