vDSPを、Swift 3で使おうとしているのですが、UnsafeRawPointerの正しい使い方がまだ理解できていません。
Playgroundにライブビューを
オーディオキットと、Xcodeのplayground
オーディオキットでCWキーヤー
サンプルプロジェクトのHello Worldを改造して、固定メッセージCQ TESTを送出します。
// ViewController.swift import Cocoa import AudioKit class ViewController: NSViewController { var oscillator = AKOscillator() @IBOutlet var plot: AKOutputWaveformPlot! override func viewDidLoad() { super.viewDidLoad() AudioKit.output = oscillator AudioKit.start() } @IBAction func toggleSound(_ sender: NSButton) { oscillator.amplitude = 0.5 oscillator.frequency = 400 let message = "cq test" let morse: [Character: String] = ["c": "1010", "e": "0", "q": "1101", "s": "000", "t": "1" , " ": "0"] let weight: [Character: UInt32] = ["1": 150000, "0": 50000] let space: UInt32 = 50000 let letterSpace: UInt32 = 100000 let wordSpace: UInt32 = 300000 for char in message.characters { if char != " " { for code in morse[char]!.characters { oscillator.start() usleep(weight!) oscillator.stop() usleep(space) } usleep(letterSpace) } else { usleep(wordSpace) } } sender.title = "Send again: " + message sender.setNeedsDisplay() } }
私はSwiftプログラミングに関しては完全な初心者ですが、FPGAプログラミングよりは、ずっと容易です。
オーディオキット
AudioKitは、iOS、macOS、そしてtvOS用のオーディオ信号処理プラットフォームです。AudioKit v3.4は、Swift 3をサポートするために、Xcode 8が必要であることに注意して下さい。
Swift 3と、Xcode 8
いまや、5つの異なるアクセスレベル、open、public、internal、fileprivate、そしてprivateが存在します。
% swift Welcome to Apple Swift version 3.0 (swiftlang-800.0.46.2 clang-800.0.38). Type :help for assistance. 1> var list = [10, 11, 12] list: [Int] = 3 values { [0] = 10 [1] = 11 [2] = 12 } 2> list.insert(99, at: 1) 3> print(list) [10, 99, 11, 12] 4> public var r = 1 r: Int = 1 5> internal let s = 2 s: Int = 2 6> fileprivate func myfunc() {} 7> private func urfunc() {}
あなたは、IBM Swift Sandboxを訪問すれば、Swift 3をインストールせずに試すことができます。